吴恩达(Andrew Ng)最近宣布, aisuite
的目标是围绕目前最流行的大语言模型(LLM)提供一个类似 OpenAI 的 API,使开发人员可以轻松地尝试并比较结果,或者在不更改代码的情况下从一个 LLM 切换到另一个 LLM。
根据吴恩达的说法,在同一个应用程序中使用多个 LLM 提供程序可能会很麻烦,而 aisuite
的目标是对其进行简化,只需在实例化其主组件时更改单个字符串即可选择所需的 LLM 提供程序。例如,要使用 OpenAI GPT-4o,你需要将“openai:gpt-4o”作为 model
参数传递到调用中,以创建一个 aisuite
聊天完成智能体代理。下面的代码片段进一步展示了这一点:
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)
要安装 aisuite
,只需运行 pip install aisuite
。该库还提供了安装 LLM 提供程序库的快捷方式。例如,你可以运行 pip install 'aisuite[anthropic]'
来安装基础库和 Anthropic 支持。
几位 X 用户回复了吴恩达的公告,他们也表达了同样的感受,即 aisuite 确实解决了部署 LLM 时的实际痛点。Reddit 用户将 aisuite 等代理库的可用性与数据库的抽象层进行了类比,这些抽象层能够从测试中的 sqlite 切换到生产中的另一个数据库。
虽然总体反响普遍积极,但一些 X 和 Reddit 用户强调了 aisuite
的一些局限性,包括它尚不支持流媒体,也不支持速率限制、token 令牌使用监控等其他细节。同样,目前还不清楚 aisuite
对使用自定义云部署的 LLM 的支持程度如何。无论如何,值得记住的是,该库仍处于起步阶段,正在积极的开发中。
aisuite
并不是目前唯一可用于解决 LLM 交叉兼容性问题的解决方案。具体来说,LiteLLM 似乎是一种更成熟、功能更齐全的解决方案,可以使用相同的类似 OpenAI 的 API 调用多个 LLM,包括支持按项目逐个限制费率和预算。同样值得一提的是 OpenRouter,它还进一步提供了自己的基于 Web 的 UI。
aisuite
目前支持 OpenAI、Anthropic、Azure、Google、AWS、Groq、Mistral、HuggingFace 和 Ollama。该库是用 Python 编写的,要求开发人员拥有他们想要使用的任何 LLM 提供商的 API 密钥。该库使用每个 LLM 提供商发布的 API 或 SDK 来最大限度地提高稳定性。目前,它主要专注于聊天完成,但其维护人员表示,未来会涵盖新的用例。
作者介绍
Sergio De Simone 是一名软件工程师,已经拥有超过 25 年的工作经验了。他曾供职各种不同的项目和公司,包括西门子、惠普和小型初创公司等不同的工作环境。在过去的十多年里,他一直专注于移动平台和相关技术的开发。他目前在就职于 BigML, Inc.,负责 iOS 和 macOS 的开发。
查看原文链接:
https://www.infoq.com/news/2024/12/aisuite-cross-llm-api/
声明:本文为 InfoQ 翻译,未经许可禁止转载。
「极客时间 · AI 指南」是一个集成的、经过筛选、实时更新、专为程序员打造的高质量 AI 工具搜索平台。它汇聚了最前沿的 15 大 AI 类别、400+ AI 工具,前新的技术和编程资源,为你提供一站式的技术解决方案。
从基础编程工具到效率工具,从代码优化到算法设计,从故障排查到项目管理,「AI 指南导航栏」涵盖了程序员日常工作的各个方面。无论你是新手小白还是资深大牛,可以快速搜索到需要的内容。
(文:AI前线)