11.4K+ Star!LiteLLM:一个多语言模型API的代理,能够使用OpenAI格式调用100多个不同的LLM API

欢迎关注我,持续获取更多内容,感谢&在看~

项目简介

LiteLLM[1]  是一个多语言模型(LLM)API的代理,它能够使用统一的OpenAI格式调用100多个不同的LLM API。包括但不限于Bedrock、Azure、OpenAI、VertexAI、Cohere、Anthropic、Sagemaker、HuggingFace、Replicate和Groq等。

LiteLLM 的设计目标是简化开发者在使用不同AI模型时的复杂性,并通过统一的接口提供一致的输出。

11.4K+ Star!LiteLLM:一个多语言模型API的代理,能够使用OpenAI格式调用100多个不同的LLM API

项目特点

主要特点

  • 统一的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 页面的最新说明。

欢迎关注&点赞&在看,感谢阅读~


资源列表
[1]

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

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!