机器之心报道
在构建应用程序时,与多个提供商集成往往是一件繁琐的事情。但现在,有一个名为 aisuite 的工具解决了这个问题。通过使用相同的代码方式调用 OpenAI、Anthropic、Google 等发布的大模型,开发者可以轻松实现模型切换和对比测试。近日,知名 AI 学者、斯坦福大学教授吴恩达开源了一个新项目——aisuite。
吴恩达在推特上宣布了这一消息,并开源了一个新的 Python 包:aisuite。该工具使开发者能够轻松使用来自多个提供商的大型语言模型。
吴恩达提到,在构建应用过程中,他发现与多个提供商集成非常麻烦。因此,他创建了 aisuite,以解决这一问题。用户只需通过更改一个字符串(例如 openai:gpt-4o、anthropic:claude-3-5-sonnet-20241022、ollama:llama3.1:8b 等),就可以选择不同的提供商模型。
aisuite 是一个轻量级的包装器,基于 Python 客户端库构建,允许用户在不修改代码的情况下轻松切换并测试来自不同 LLM 提供商的响应。目前,该项目主要集中在聊天补全功能,未来会扩展到更多应用场景。当前支持的提供商包括:
为了确保稳定性,aisuite 使用 HTTP 端点或 SDK 与提供商进行调用。
安装过程有多种选择。以下是只安装基础包而不安装任何提供商 SDK 的方法:
pip install aisuite
如果需要支持 Anthropic,可以使用以下命令:
pip install 'aisuite [anthropic]'
要安装所有特定于提供商的库,可以使用:
pip install 'aisuite [all]'
使用时,需要为打算使用的提供商获取 API 密钥。API 密钥可以作为环境变量设置,具体使用方法可以参考 aisuite 的 examples 文件夹。
以下是一个简单的示例展示,说明如何使用 aisuite 生成来自 GPT-4o 和 Claude-3-5-Sonnet 的聊天补全响应:
```python
export OPENAIAPIKEY="your-openai-api-key" export ANTHROPICAPIKEY="your-anthropic-api-key"
import aisuite as ai client = ai.Client()
models = ["openai:gpt-4o", "anthropic:claude-3-5-sonnet-20240620"] messages = [ {"role": "system", "content": "Respond in Pirate English."}, {"role": "user", "content": "Tell me a joke."} ]
for model in models: response = client.chat.completions.create( model=model, messages=messages, temperature=0.75 ) print(response.choices[0].message.content) ```
如今,我们正处于大模型时代,对于开发者而言,用一个统一的接口就能调用各种大模型,这无疑大大节省了他们的开发时间和成本。我们期待这种实用的开源项目越来越多,如果有好的项目推荐,欢迎在评论区留言。