以下是根据提供的信息对litellm项目的详细介绍:
litellm项目介绍
litellm是一个强大的LLM (大型语言模型) API调用工具,旨在简化开发者与各种LLM提供商API的交互过程。它提供了一个统一的接口,使得调用不同的LLM API变得简单而一致。
主要特点
-
统一接口: litellm使用OpenAI风格的API格式,支持调用多种LLM提供商的API,包括Bedrock, Huggingface, VertexAI, TogetherAI, Azure, OpenAI, Groq等。
-
输出一致性: 无论调用哪个提供商的API,litellm都确保返回一致的输出格式。文本响应总是可以在
['choices'][0]['message']['content']
中获取。 -
错误处理和备用逻辑: 支持在多个部署(如Azure/OpenAI)之间进行重试和故障转移。
-
项目管理: 通过LiteLLM代理服务器(LLM网关),可以为每个项目、API密钥和模型设置预算和速率限制。
-
异步支持: 提供异步调用功能,支持高并发场景。
-
流式响应: 支持流式传输模型响应,适用于所有支持的模型。
-
日志和可观测性: 提供预定义的回调,可以将数据发送到Lunary, Langfuse, DynamoDB, S3 Buckets, Helicone, Promptlayer, Traceloop, Athina, Slack等工具进行日志记录和分析。
LiteLLM代理服务器
litellm还提供了一个代理服务器功能,作为LLM网关使用。这个代理服务器具有以下特点:
- 身份认证钩子: 可以自定义身份验证逻辑。
- 日志记录钩子: 允许自定义日志记录行为。
- 成本跟踪: 跟踪API调用的成本。
- 速率限制: 可以设置API调用的速率限制。
快速开始
使用litellm非常简单。首先通过pip安装:
pip install litellm
然后就可以使用统一的接口调用不同的LLM API:
from litellm import completion
import os
# 设置环境变量
os.environ["OPENAI_API_KEY"] = "your-openai-key"
os.environ["COHERE_API_KEY"] = "your-cohere-key"
messages = [{ "content": "Hello, how are you?","role": "user"}]
# OpenAI调用
response = completion(model="gpt-3.5-turbo", messages=messages)
# Cohere调用
response = completion(model="command-nightly", messages=messages)
支持的提供商
litellm支持众多LLM提供商,包括OpenAI, Azure, AWS (SageMaker和Bedrock), Google (Vertex AI和PaLM), Anthropic, Cohere等。它还支持Hugging Face, Replicate, Together AI等平台,以及Mistral AI, Cloudflare AI Workers等新兴的AI服务。
企业级支持
对于需要更高安全性、用户管理和专业支持的企业用户,litellm提供了企业级服务,包括商业许可下的特性、功能优先开发、定制集成、专业支持、自定义SLA以及单点登录等安全访问功能。
总结
litellm是一个功能丰富、灵活易用的LLM API调用工具,它极大地简化了与各种LLM提供商API的交互过程。无论是个人开发者还是大型企业,都能从litellm提供的统一接口、错误处理、成本跟踪等功能中受益,从而更高效地开发和管理基于LLM的应用。