LLM plugin for LiteLLM proxy server
Project description
llm-litellm
LLM plugin for models hosted by LiteLLM proxy server.
LiteLLM is a self-hosted proxy server that provides a unified interface to 100+ LLMs including OpenAI, Anthropic, Cohere, Replicate, PaLM, and more.
Installation
First, install the LLM command-line utility.
Now install this plugin in the same environment as LLM:
llm install llm-litellm
Or install from source:
pip install -e .
Configuration
1. Set up LiteLLM Server
First, you need to have a LiteLLM server running. You can set it up by:
pip install litellm[proxy]
litellm --model gpt-3.5-turbo
# This starts the server on http://localhost:4000
Or use Docker:
docker run -p 4000:4000 -e OPENAI_API_KEY=your-key ghcr.io/berriai/litellm:main-latest --model gpt-3.5-turbo
2. Set Environment Variable
Set the LITELLM_URL environment variable to point to your LiteLLM server:
export LITELLM_URL=http://localhost:4000
3. Set API Key (Optional)
If your LiteLLM server requires authentication, set the API key:
llm keys set litellm
# Enter your LiteLLM API key when prompted
Usage
Once configured, you can use any model supported by your LiteLLM server.
List Available Models
To see all available models:
llm models list
You should see models prefixed with litellm::
litellm: gpt-3.5-turbo
litellm: gpt-4
litellm: claude-3-sonnet
...
You can also use the plugin-specific command:
llm litellm models
Basic Usage
# Use a specific model
llm -m litellm/gpt-3.5-turbo "Hello, world!"
# Use with different models
llm -m litellm/claude-3-sonnet "Explain quantum computing"
llm -m litellm/gpt-4 "Write a short story"
Advanced Usage
# Set temperature and other parameters
llm -m litellm/gpt-3.5-turbo -o temperature 0.9 -o max_tokens 500 "Be creative!"
# Use with streaming
llm -m litellm/gpt-4 "Write a long explanation" --stream
# Conversation mode
llm -m litellm/claude-3-sonnet -c "Let's discuss Python programming"
Model Aliases
You can set shorter aliases for frequently used models:
llm aliases set gpt4 litellm/gpt-4
llm aliases set claude litellm/claude-3-sonnet
Now you can use:
llm -m gpt4 "Hello!"
llm -m claude "Explain this code" < script.py
Plugin Commands
Check Server Status
llm litellm status
This will check if your LiteLLM server is running and accessible.
List Models
# Human-readable format
llm litellm models
# JSON format
llm litellm models --json
Supported Models
The plugin supports any model that your LiteLLM server is configured to handle. Common models include:
- OpenAI:
gpt-4,gpt-3.5-turbo,gpt-4-turbo - Anthropic:
claude-3-opus,claude-3-sonnet,claude-3-haiku - Google:
gemini-pro,gemini-pro-vision - Cohere:
command-r,command-r-plus - Meta:
llama-2-70b,llama-2-13b - Mistral:
mistral-7b,mistral-medium - And many more...
Check your LiteLLM server configuration for the exact models available.
Configuration Options
The plugin supports all standard LLM options:
temperature: Controls randomness (0.0-2.0)max_tokens: Maximum tokens to generatetop_p: Top-p sampling parameterfrequency_penalty: Frequency penalty (-2.0 to 2.0)presence_penalty: Presence penalty (-2.0 to 2.0)
Example:
llm -m litellm/gpt-3.5-turbo \
-o temperature 0.7 \
-o max_tokens 1000 \
-o top_p 0.9 \
"Generate creative content"
Troubleshooting
Common Issues
-
"LITELLM_URL environment variable is required"
- Make sure you've set the
LITELLM_URLenvironment variable - Verify your LiteLLM server is running and accessible
- Make sure you've set the
-
No models showing up
- Check server status:
llm litellm status - Verify the URL is correct (should include protocol: http:// or https://)
- Test the server directly:
curl http://localhost:4000/health
- Check server status:
-
Connection errors
- Check that your LiteLLM server is running
- Verify firewall settings allow connections to the server
- Test with:
curl http://localhost:4000/v1/models
-
Authentication errors
- If your LiteLLM server requires authentication, set the key:
llm keys set litellm - Check your LiteLLM server configuration for authentication requirements
- If your LiteLLM server requires authentication, set the key:
-
Model not found
- Verify the model is configured in your LiteLLM server
- Check available models:
llm litellm models - Ensure the model name matches exactly
Debug Mode
For debugging, you can check what models are available:
# Check server status
llm litellm status
# List all models
llm litellm models --json
# Test a simple query
llm -m litellm/gpt-3.5-turbo "test" -v
Examples
Setting up with Different Providers
OpenAI Models
export OPENAI_API_KEY=your-key
litellm --model gpt-3.5-turbo --model gpt-4
export LITELLM_URL=http://localhost:4000
llm -m litellm/gpt-3.5-turbo "Hello!"
Anthropic Models
export ANTHROPIC_API_KEY=your-key
litellm --model claude-3-sonnet --model claude-3-haiku
export LITELLM_URL=http://localhost:4000
llm -m litellm/claude-3-sonnet "Hello!"
Multiple Providers
export OPENAI_API_KEY=your-openai-key
export ANTHROPIC_API_KEY=your-anthropic-key
litellm --model gpt-4 --model claude-3-sonnet --model gemini-pro
export LITELLM_URL=http://localhost:4000
llm -m litellm/gpt-4 "Compare yourself to Claude"
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd llm-litellm
python3 -m venv venv
source venv/bin/activate
Install the plugin in development mode:
pip install -e '.[test]'
To run the tests:
pytest
License
Apache License 2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_litellm-0.1.1.tar.gz.
File metadata
- Download URL: llm_litellm-0.1.1.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58fae13619c69ee9163625c7de98c4b469574bf7d3c0b9c95419f787eaa5b303
|
|
| MD5 |
486dedfdac67cafb21167eac933e1d66
|
|
| BLAKE2b-256 |
5cd6147f22393b30c8435c36ce8f481af43f255524e01cee146913030a0652cd
|
File details
Details for the file llm_litellm-0.1.1-py3-none-any.whl.
File metadata
- Download URL: llm_litellm-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d3e74979e191d189d9bbfa2729c0fc79d7f0e2f5d83c9c582e4f6f62769b17e
|
|
| MD5 |
53561adaf2a18aaad8959c576caada3d
|
|
| BLAKE2b-256 |
1f806a50f4f71b79c3178d204c7da499d1dbe45e523e0e33bc7b1814cd26057f
|