项目简介
LiteLLM[1] 是一个多语言模型(LLM)API的代理,它能够使用统一的OpenAI格式调用100多个不同的LLM API。包括但不限于Bedrock、Azure、OpenAI、VertexAI、Cohere、Anthropic、Sagemaker、HuggingFace、Replicate和Groq等。
LiteLLM 的设计目标是简化开发者在使用不同AI模型时的复杂性,并通过统一的接口提供一致的输出。

项目特点
主要特点
-
统一的API调用格式:使用OpenAI的API格式,简化了对不同模型的调用。 -
一致的输出:确保文本响应总是可用并易于访问。 -
多模型支持:支持调用多个提供商的模型。 -
重试/回退逻辑:在多个部署之间自动进行错误处理和模型回退。 -
预算和速率限制:为每个项目、API密钥、模型设置预算和速率限制。
使用场景
-
开发人员:需要快速集成和测试不同AI模型的开发者。 -
企业:需要在多个AI服务之间进行负载均衡和成本跟踪的公司。 -
研究者:需要访问多种AI模型来进行研究和比较的学者。
使用方法
安装
pip install litellm
基本使用
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)
print(response)
异步调用
from litellm import acompletion
import asyncio
async def test_get_response():
user_message = "Hello, how are you?"
messages = [{"content": user_message, "role": "user"}]
response = await acompletion(model="gpt-3.5-turbo", messages=messages)
return response
response = asyncio.run(test_get_response())
print(response)
流式响应
LiteLLM 支持流式返回模型响应,通过设置stream=True
获得流式迭代器。
from litellm import completion
response = completion(model="gpt-3.5-turbo", messages=messages, stream=True)
for part in response:
print(part.choices[0].delta.content or "")
日志和可观测性
LiteLLM 提供预定义的回调函数,可以将数据发送到不同的日志和观测平台。
from litellm import completion
# 设置日志工具的环境变量
os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key"
# 其他日志工具的API密钥...
# 设置回调函数
litellm.success_callback = ["lunary", "langfuse", "athina", "helicone"] # 日志输入/输出到不同的平台
# OpenAI 模型调用
response = completion(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}])
参考资料
-
LiteLLM 官方文档[2] -
API 使用示例[3] -
LiteLLM 社区 Discord[4]
注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。
欢迎关注&点赞&在看,感谢阅读~
Github 项目地址: https://github.com/BerriAI/litellm
[2]
LiteLLM 官方文档: https://docs.litellm.ai/docs/
[3]
API 使用示例: https://github.com/BerriAI/litellm
[4]
LiteLLM 社区 Discord: https://discord.gg/wuPM9dRgDw
原文始发于微信公众号(AIGC创想者):11.4K+ Star!LiteLLM:一个多语言模型API的代理,能够使用OpenAI格式调用100多个不同的LLM API
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/315320.html