aisuite简介
aisuite是由Andrew Ng最近宣布的项目,旨在为当前最流行的大型语言模型(LLMs)提供一个类似OpenAI的API。其主要目标是使开发者能够轻松尝试和比较不同LLM的结果,或在不需要更改代码的情况下从一个LLM切换到另一个LLM。
主要功能
- 简化多LLM提供者的使用:在同一个应用中使用多个LLM提供者可能会很麻烦,而aisuite通过更改一个字符串来选择所需的LLM提供者,从而简化了这一过程。例如,使用OpenAI GPT-4o时,只需将
model
参数设置为"openai:gpt-4o"
。 代码示例:
import aisuite as ai client = ai.Client() messages = [ {"role": "system", "content": "Respond in Pirate English."}, {"role": "user", "content": "Tell me a joke."}, ] response = client.chat.completions.create( model="openai:gpt-4o", messages=messages, temperature=0.75 ) print(response.choices[0].message.content) response = client.chat.completions.create( model="anthropic:claude-3-5-sonnet-20240620", messages=messages, temperature=0.75 ) print(response.choices[0].message.content)
安装与支持
- 安装:通过
pip install aisuite
安装。aisuite还提供了安装LLM提供者库的快捷方式,例如pip install 'aisuite[anthropic]'
可以安装基础库和Anthropic支持。
用户反馈
- 正面评价:许多用户认为aisuite确实解决了部署LLM时的痛点,并将其与数据库抽象层进行比较,认为它能够像数据库抽象层一样在不同环境中切换LLM。
- 局限性:一些用户指出aisuite目前还不支持流式传输、速率限制、令牌使用监控等功能,并且对于自定义云部署的LLM支持情况尚不明确。然而,aisuite仍处于早期开发阶段,未来可能会增加这些功能。
其他解决方案
- LiteLLM:一个更成熟、功能更全面的解决方案,支持使用相同的OpenAI-like API调用多个LLM,包括按项目设置的速率和预算限制。
- OpenRouter:提供了基于Web的UI,支持多种LLM。
当前支持的LLM提供者
aisuite目前支持OpenAI、Anthropic、Azure、Google、AWS、Groq、Mistral、HuggingFace和Ollama。开发者需要使用每个LLM提供者的API密钥,并且aisuite主要使用每个提供者发布的API或SDK以确保稳定性。目前,aisuite主要集中在聊天完成功能,但未来将涵盖更多用例。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。