Skip to main content

LLM plugin for LiteLLM proxy server

Project description

llm-litellm

PyPI Changelog Tests License

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 generate
  • top_p: Top-p sampling parameter
  • frequency_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

  1. "LITELLM_URL environment variable is required"

    • Make sure you've set the LITELLM_URL environment variable
    • Verify your LiteLLM server is running and accessible
  2. 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
  3. 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
  4. Authentication errors

    • If your LiteLLM server requires authentication, set the key: llm keys set litellm
    • Check your LiteLLM server configuration for authentication requirements
  5. 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

llm_litellm-0.1.2.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_litellm-0.1.2-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file llm_litellm-0.1.2.tar.gz.

File metadata

  • Download URL: llm_litellm-0.1.2.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

Hashes for llm_litellm-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fe79fa1391e2d03ee9e7919b7d153e786a89736c731f6cd544272f835e71701e
MD5 25975a2b0285e5301a3710fa260c48da
BLAKE2b-256 86b705a514cf955ad0ebd1130b675f79719c49760bbab9c834ef83b73ac6171e

See more details on using hashes here.

File details

Details for the file llm_litellm-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: llm_litellm-0.1.2-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

Hashes for llm_litellm-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f38a078364d407cd7c48a1a48987022aa5334aef6d4c25d3d3d43212cae4b7f3
MD5 18cabca8c7aa83af90f5500160e1de10
BLAKE2b-256 cad982201c5eec1ffd681838cde54aee3ab9082f164e494353de2b9c9f67477e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page