跳至主要内容

[旧代理 👉 此处获取新代理] 本地 LiteLLM 代理服务器

一个快速、轻量级的 OpenAI 兼容服务器,可调用 100 多种 LLM API。

信息

文档已过时。新文档请👉 点击此处

用法

pip install 'litellm[proxy]'
$ litellm --model ollama/codellama 

#INFO: Ollama running on http://0.0.0.0:8000

测试

在新的终端中,运行

$ litellm --test

替换 openai base

import openai 

openai.api_base = "http://0.0.0.0:8000"

print(openai.ChatCompletion.create(model="test", messages=[{"role":"user", "content":"Hey!"}]))

其他支持的模型:

假设您正在本地运行 vllm

$ litellm --model vllm/facebook/opt-125m

教程:与多个 LLM + LibreChat/Chatbot-UI/Auto-Gen/ChatDev/Langroid 等配合使用。

替换 openai base

import openai 

openai.api_key = "any-string-here"
openai.api_base = "http://0.0.0.0:8080" # your proxy url

# call openai
response = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hey"}])

print(response)

# call cohere
response = openai.ChatCompletion.create(model="command-nightly", messages=[{"role": "user", "content": "Hey"}])

print(response)

本地代理

以下是如何使用本地代理为不同的 GitHub 仓库测试 codellama/mistral 等模型

pip install litellm
$ ollama pull codellama # OUR Local CodeLlama  

$ litellm --model ollama/codellama --temperature 0.3 --max_tokens 2048

教程:与多个 LLM + Aider/AutoGen/Langroid 等配合使用。

$ litellm

#INFO: litellm proxy running on http://0.0.0.0:8000

发送请求到你的代理

import openai 

openai.api_key = "any-string-here"
openai.api_base = "http://0.0.0.0:8080" # your proxy url

# call gpt-3.5-turbo
response = openai.ChatCompletion.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hey"}])

print(response)

# call ollama/llama2
response = openai.ChatCompletion.create(model="ollama/llama2", messages=[{"role": "user", "content": "Hey"}])

print(response)
注意

贡献 如果你在某个项目中使用了此服务器,请在此贡献你的教程!

高级

日志

$ litellm --logs

这将返回最近的日志(发送到 LLM API 的调用 + 收到的响应)。

所有日志都会保存到当前目录下一个名为 api_logs.json 的文件中。

配置代理

如果你需要

  • 保存 API 密钥
  • 设置 litellm 参数(例如:丢弃未映射参数、设置后备模型等)
  • 设置特定于模型的参数(最大 token 数、温度、API base、提示词模板)

你可以仅为本次会话设置(通过 CLI),或者在重启后持久化保存这些设置(通过配置文件)。

保存 API 密钥

$ litellm --api_key OPENAI_API_KEY=sk-...

LiteLLM 会将其保存到本地存储的配置文件中,并在会话间持久化。

LiteLLM 代理支持所有 litellm 支持的 API 密钥。要添加特定提供商的密钥,请查看此列表

$ litellm --add_key HUGGINGFACE_API_KEY=my-api-key #[OPTIONAL]

例如:设置 API base、最大 token 数和温度。

仅本次会话:

litellm --model ollama/llama2 \
--api_base https://:11434 \
--max_tokens 250 \
--temperature 0.5

# OpenAI-compatible server running on http://0.0.0.0:8000

性能

我们使用 wrk 在 FastAPI 服务器上进行了 1 分钟 500,000 次 HTTP 连接的压力测试。

这是我们的测试结果

Thread Stats   Avg      Stdev     Max   +/- Stdev
Latency 156.38ms 25.52ms 361.91ms 84.73%
Req/Sec 13.61 5.13 40.00 57.50%
383625 requests in 1.00m, 391.10MB read
Socket errors: connect 0, read 1632, write 1, timeout 0

支持/与创始人交流