吴恩达(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 翻译,未经许可禁止转载。
12 月 13 日至 14 日(下周五至周六),AICon 全球人工智能开发与应用大会将在北京盛大开幕!本次大会汇聚 70+ 位 AI 及技术领域的顶尖专家,深入探讨大模型与推理、AI Agent、多模态、具身智能等前沿话题。此外还有丰富的圆桌论坛、以及展区活动,带你深入探索大模型的最新实践与未来趋势。年度最后一次 AI 盛宴,让我们一起见证 AI 未来。