专栏名称: GitHubStore
分享有意思的开源项目
目录
相关文章推荐
爱可可-爱生活  ·  【[328星]Magma:微软推出的多模态A ... ·  3 天前  
爱可可-爱生活  ·  《爱可可微博热门分享(2.20)》 ... ·  3 天前  
爱可可-爱生活  ·  晚安~ #晚安# -20250220225934 ·  3 天前  
51好读  ›  专栏  ›  GitHubStore

统一的生成式AI接口工具aisuite

GitHubStore  · 公众号  · AI 科技自媒体  · 2024-11-26 15:30

主要观点总结

介绍了一个统一的生成式AI接口工具aisuite,它为开发者提供了标准化的多LLM调用接口,支持多个主流AI服务商。开发者可以无缝切换不同的LLM提供商进行测试和对比,无需修改代码。该工具具备HTTP端点或SDK的调用方式,支持多种设置方式,并提供了示例代码和项目链接。

关键观点总结

关键观点1: 生成式AI接口工具aisuite的介绍

该工具为开发者提供了一个统一的接口,可以无缝切换不同的LLM提供商,进行测试和对比。

关键观点2: aisuite支持的主要功能

aisuite支持多个主流AI服务商,如OpenAI、Anthropic等,并使用类似于OpenAI的接口设计。目前主要专注于聊天完成功能,未来会扩展到更多用例。

关键观点3: aisuite的安装和设置

用户可以通过pip安装aisuite及其提供商的软件包。同时,需要设置API密钥,可以设置为环境变量或通过配置传递给aisuite客户端构造函数。

关键观点4: aisuite的使用示例

文章提供了一个使用aisuite生成聊天完成响应的简短示例,包括设置API密钥和使用Python客户端的过程。


正文

项目简介

一个统一的生成式AI接口工具,为开发者提供标准化的多LLM调用接口。支持OpenAI、Anthropic、Azure、Google等主流AI服务商,使用类似OpenAI的接口设计,让开发者可以无缝切换不同的LLM提供商进行测试和对比,无需修改代码


与多个生成人工智能提供商的简单、统一的接口。


aisuite 使开发人员可以通过标准化接口轻松使用多个LLM 。 aisuite 使用类似于 OpenAI 的界面,可以轻松与最流行的LLMs进行交互并比较结果。它是 Python 客户端库的一个薄包装,允许创建者无缝交换和测试来自不同LLM提供商的响应,而无需更改其代码。如今,该库主要专注于聊天完成。我们将在不久的将来将其扩展到更多用例。


目前支持的提供商有 - OpenAI、Anthropic、Azure、Google、AWS、Groq、Mistral、HuggingFace 和 Ollama。为了最大限度地提高稳定性, aisuite 使用 HTTP 端点或 SDK 来调用提供商。



安装

您可以仅安装基础 aisuite 软件包,也可以将提供商的软件包与 aisuite 一起安装。


这仅安装基础包,而不安装任何提供商的 SDK。

pip install aisuite

这将安装 aisuite 以及 anthropic 的库。

pip install 'aisuite[anthropic]'

这将安装所有特定于提供程序的库

pip install 'aisuite[all]'


设置

首先,您将需要您想要使用的提供商的 API 密钥。您需要单独安装特定于提供程序的库,或者在安装 aisuite 时安装。


API 密钥可以设置为环境变量,也可以作为配置传递给 aisuite 客户端构造函数。您可以使用 python-dotenv direnv 等工具手动设置环境变量。请查看 examples 文件夹以了解用法。


以下是使用 aisuite 从 gpt-4o 和 claude-3-5-sonnet 生成聊天完成响应的简短示例。

Set the API keys. 设置 API 密钥。

export OPENAI_API_KEY="your-openai-api-key"export ANTHROPIC_API_KEY="your-anthropic-api-key"

使用Python客户端。

import aisuite as aiclient = 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() 调用中的模型名称使用格式 - : aisuite 将根据提供程序值使用正确的参数调用适当的提供程序。有关提供程序值的列表,您可以查看目录 - aisuite/providers/ 。支持的提供程序列表的格式为 - 该目录中的 _provider.py 。我们欢迎提供商通过在此目录中添加实现文件来添加对此库的支持。请参阅下面的部分了解如何贡献。







请到「今天看啥」查看全文