构建应用程序时,与多个服务提供商集成常常会带来不少麻烦。现在,由知名学者吴恩达教授主导的开源项目——aisuite,提供了一种解决方案。通过这个工具,开发者可以用一致的代码方式调用OpenAI、Anthropic、Google等公司提供的大模型,并且能够方便地进行模型切换和对比测试。
近日,吴恩达教授在其推特上宣布了这一消息:他开源了一个新的Python包——aisuite。这个工具旨在让开发者更轻松地使用来自多个提供商的大型语言模型。吴教授提到,在构建应用的过程中,他发现与多个提供商集成非常繁琐。因此,aisuite应运而生,用户只需要通过更改一个字符串(例如openai:gpt-4o、anthropic:claude-3-5-sonnet-20241022、ollama:llama3.1:8b等),就可以选择不同的提供商模型。
aisuite的设计理念在于提供一个统一的接口,支持多个AI提供商的模型。它是一个轻量级的包装器,基于Python客户端库构建,允许用户在不修改代码的情况下,轻松切换并测试不同提供商的响应。目前,这个项目主要集中在聊天补全功能,未来还将扩展到更多应用场景。支持的提供商包括:
为了保证稳定性,aisuite通过HTTP端点或SDK与提供商进行调用。
安装aisuite的方式有多种:
sh
pip install aisuite
sh
pip install 'aisuite [anthropic]'
sh
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) ```
如今,我们正处于大模型的时代,对于开发者来说,通过一个统一的接口调用各种大模型能够极大地节约时间成本。我们期待这样的实用开源项目越来越多,如果你有好的项目推荐,欢迎在评论区留言。