LiteLLM简介
LiteLLM是一个开源项目,旨在为开发者提供一个统一的接口来调用各种大型语言模型(LLM)API。它的主要特点包括:
- 支持100多个LLM提供商,包括OpenAI、Azure、Anthropic、Cohere等。
- 使用OpenAI格式的统一API,简化了不同LLM之间的切换。
- 提供Python SDK和代理服务器两种使用方式。
- 支持身份验证、负载均衡和支出跟踪等功能。
快速开始
安装
使用pip安装LiteLLM:
pip install litellm
基本使用
以下是一个简单的示例,展示如何使用LiteLLM调用OpenAI的API:
from litellm import completion
import os
# 设置环境变量
os.environ["OPENAI_API_KEY"] = "your-api-key"
response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello, how are you?"}]
)
代理服务器
LiteLLM还提供了一个代理服务器,可以用来管理多个项目的API调用:
- 安装代理服务器功能:
pip install 'litellm[proxy]'
- 启动代理服务器:
litellm --model huggingface/bigcode/starcoder
- 使用代理服务器:
import openai
client = openai.OpenAI(
api_key="anything",
base_url="http://0.0.0.0:4000"
)
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "This is a test request, write a short poem"}
]
)
高级功能
-
异常处理: LiteLLM将所有支持的提供商的异常映射到OpenAI异常,简化了错误处理。
-
流式传输: 通过设置
stream=True
参数可以实现流式输出。 -
函数调用: 支持OpenAI的函数调用功能,可以与AutoGen等框架集成使用。
-
日志和可观察性: 提供预定义的回调函数,可以将数据发送到Lunary、Langfuse、Helicone等工具。
社区和支持
- GitHub仓库: BerriAI/litellm
- 文档: docs.litellm.ai/docs/
- Discord社区: 加入讨论
结语
LiteLLM为开发者提供了一个强大而灵活的工具,简化了与多个LLM API的交互过程。无论您是在构建原型还是部署生产应用,LiteLLM都能帮助您更高效地使用各种语言模型。通过本文的介绍,希望您能够快速上手LiteLLM,并在您的项目中充分利用其功能。