aisuite - 一个接口调用多个大模型
更多AI开源软件:
AI开源 - 小众AIhttps://www.aiinn.cn/sources
aisuite使开发人员能够通过标准化接口轻松使用多个 LLM。使用类似于 OpenAI 的界面,可以轻松地与最流行的 LLM 进行交互并比较结果。它是 python 客户端库的精简包装器,允许创建者无缝交换和测试来自不同 LLM 提供程序的响应,而无需更改其代码。如今,该库主要专注于聊天完成。我们将在不久的将来将其扩展到更多使用案例。
5100 Stars 434 Forks 19 Issues 6 贡献者 MIT License Python 语言
代码: GitHub - andrewyng/aisuite: Simple, unified interface to multiple Generative AI providers
主要功能
- 统一接口:通过一个标准化的接口调用多个生成式AI提供商。
- 多提供商支持:支持OpenAI、Anthropic、Azure、Google、AWS、Groq、Mistral、HuggingFace和Ollama。
- 易于安装:提供简单的安装命令,可以选择安装基础包或包含特定提供商的包。
- 环境变量配置:支持通过环境变量配置API密钥,方便管理和使用。
- 示例代码:提供丰富的示例代码,帮助用户快速上手。
- 开源项目:代码开源,允许用户自由使用、修改和分发。
安装使用
安装
您可以只安装基本软件包,也可以将提供商的软件包与 一起安装。aisuiteaisuite
这将仅安装基础包,而不安装任何提供商的 SDK。
pip install aisuite
这将安装 aisuite 以及 anthropic 的库。
pip install 'aisuite[anthropic]'
这将安装所有特定于提供程序的库
pip install 'aisuite[all]'
使用
首先,您需要要使用的提供商的 API 密钥。您需要 单独安装提供程序特定的库,或在安装 AISUITE 时安装。
API Key 可以设置为环境变量,也可以作为 config 传递给 aisuite Client 构造函数。 您可以使用 python-dotenv 或 direnv 等工具手动设置环境变量。请查看该文件夹以查看使用情况。examples
下面是一个用于从 gpt-4o 和 claude-3-5-sonnet 生成聊天完成响应的简短示例。aisuite
设置 API 密钥。
export OPENAI_API_KEY="your-openai-api-key"
export ANTHROPIC_API_KEY="your-anthropic-api-key"
使用 python 客户端。
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)
请注意,create() 调用中的模型名称使用格式 - 。 将根据 provider 值使用正确的参数调用相应的提供程序。 有关提供程序值的列表,您可以查看目录 - 。支持的提供程序列表的格式为 - 在该目录中。我们欢迎提供商通过在此目录中添加 implementation 文件来添加对此库的支持。请参阅下面的部分了解如何做出贡献。<provider>:<model-name>aisuiteaisuite/providers/<provider>_provider.py
有关更多示例,请查看目录,您将在其中找到几个笔记本,您可以运行这些笔记本来试验界面。examples
例子:
-
Hugging Face: provider 类应定义为:
class HuggingfaceProvider(BaseProvider)
在 providers/huggingface_provider.py。
-
OpenAI: provider 类应定义为:
class OpenaiProvider(BaseProvider)
在 提供商/openai_provider.py
此约定简化了新提供程序的添加,并确保了提供程序实现之间的一致性。