综合介绍
LiteLLM是一个由BerriAI开发的Python SDK和代理服务器,旨在简化和统一对多种大型语言模型(LLM)API的调用和管理。它支持超过100种大模型API,包括OpenAI、HuggingFace、Azure等,统一转换成OpenAI格式,方便开发者在不同AI服务之间切换和管理。并提供了稳定的 Docker 镜像和详细的迁移指南。LiteLLM 通过代理服务器和 Python SDK,允许用户以 OpenAI 格式调用超过 100 种 LLM API,极大地提升了开发效率和灵活性。
功能列表
- 多平台支持:支持 OpenAI、Cohere、Anthropic 等多个 LLM 提供商。支持超过100种大模型API的调用。
- 稳定版本:提供经过 12 小时负载测试的稳定 Docker 镜像。支持设置预算和请求频率限制。
- 代理服务器:通过代理服务器统一调用多种 LLM API,统一转换API格式为OpenAI格式。
- Python SDK:提供 Python SDK,简化开发流程。
- 流式响应:支持流式返回模型响应,提升用户体验。
- 回调功能:支持多种回调,便于日志记录和监控。
使用帮助
安装与设置
- 安装 Docker:确保系统已安装 Docker。
- 拉取镜像:使用
docker pull
命令拉取 LiteLLM 的稳定镜像。 - 启动代理服务器:
cd litellm echo 'LITELLM_MASTER_KEY="sk-1234"' > .env echo 'LITELLM_SALT_KEY="sk-1234"' > .env source .env poetry run pytest .
- 配置客户端:在代码中设置代理服务器地址和 API 密钥。
import openai client = openai.OpenAI(api_key="your_api_key", base_url="http://0.0.0.0:4000") response = client.chat.completions.create(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hello, how are you?"}]) print(response)
使用功能
- 调用模型:通过
model=<provider_name>/<model_name>
调用不同提供商的模型。 - 流式响应:设置
stream=True
获取流式响应。response = await acompletion(model="gpt-3.5-turbo", messages=messages, stream=True) for part in response: print(part.choices.delta.content or "")
- 设置回调:配置回调函数以记录输入输出。
litellm.success_callback = ["lunary", "langfuse", "athina", "helicone"]