Skip to content

πŸ€– Open-source LLM server (OpenAI, Ollama, Groq, Anthropic) with support for HTTP, Streaming, Agents, RAG

License

Notifications You must be signed in to change notification settings

promptengineers-ai/llm-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Prompt Engineers AI - LLM Server

Full LLM REST API with prompts, LLMs, Vector Databases, and Agents

πŸ› οΈ Setup API Server

### Change into Backend directory
cd backend

### Setup Virtual Env
python3 -m venv .venv

### Activate Virtual Env
source .venv/bin/activate

### Install Runtime & Dev Dependencies
pip install -r requirements.txt -r requirements-dev.txt

### Install Runtime Dependencies
pip install -r requirements.txt

### Migrate Database Schema
alembic upgrade head

### Seed Database Users
python3 -m src.seeds.users 3

### Run Application on local machine
bash scripts/dev.sh

πŸ› οΈ Setup Client

### Change into Backend directory
cd frontend

### Install node_modules
npm install

### Start Development Server
npm run dev

Environment Variables

Variable Name Example Description
APP_ENV 'local' Environment where the application is running
PINECONE_API_KEY API key for Pinecone services
PINECONE_ENV us-east1-gcp Pinecone environment configuration
PINECONE_INDEX default Default Pinecone index used
OPENAI_API_KEY sk-abc123... Default LLM OpenAI key
GROQ_API_KEY API key for accessing GROQ services
ANTHROPIC_API_KEY API key for accessing Anthropic services
MINIO_HOST localhost:9000 URL to the Object storage
BUCKET my-documents Name of Minio or S3 bucket
ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE IAM User Access Key ID (Optional)
ACCESS_SECRET_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Secret IAM Key (Optional)
S3_REGION us-east-1 Region where the S3 bucket exists (Optional)

Deploy

  1. Log in to vercel
vercel login
  1. Deploy to vercel
vercel .

🀝 How to Contribute

We welcome contributions from the community, from beginners to seasoned developers. Here's how you can contribute:

  1. Fork the repository: Click on the 'Fork' button at the top right corner of the repository page on GitHub.

  2. Clone the forked repository to your local machine: git clone <forked_repo_link>.

  3. Navigate to the project folder: cd llm-server.

  4. Create a new branch for your changes: git checkout -b <branch_name>.

  5. Make your changes in the new branch.

  6. Commit your changes: git commit -am 'Add some feature'.

  7. Push to the branch: git push origin <branch_name>.

  8. Open a Pull Request: Go back to your forked repository on GitHub and click on 'Compare & pull request' to create a new pull request.

Please ensure that your code passes all the tests and if possible, add tests for new features. Always write a clear and concise commit message and pull request description.

πŸ’‘ Issues

Feel free to submit issues and enhancement requests. We're always looking for feedback and suggestions.

πŸ€“ Maintainers

  • Ryan Eggleston - ryan.adaptivebiz@gmail.com

πŸ“œ License

This project is open-source, under the MIT License. Feel free to use, modify, and distribute the code as you please.

Happy Prompting! πŸŽ‰πŸŽ‰