当前位置: 首页 > article >正文

AISuite:一个新的开源Python库,提供了统一的跨LLM API

吴恩达(Andrew Ng)最近宣布, aisuite 的目标是围绕目前最流行的大语言模型(LLM)提供一个类似 OpenAI 的 API,使开发人员可以轻松地尝试并比较结果,或者在不更改代码的情况下从一个 LLM 切换到另一个 LLM。

根据吴恩达的说法,在同一个应用程序中使用多个 LLM 提供程序可能会很麻烦,而 aisuite 的目标是对其进行简化,只需在实例化其主组件时更改单个字符串即可选择所需的 LLM 提供程序。例如,要使用 OpenAI GPT-4o,你需要将“openai:gpt-4o”作为 model 参数传递到调用中,以创建一个 aisuite 聊天完成智能体代理。下面的代码片段进一步展示了这一点:

import aisuite as aiclient = 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 的开发。


http://www.kler.cn/a/583913.html

相关文章:

  • 深入解析:如何通过Spring Boot启动器无缝集成LangChain4j实现AI服务自动化
  • 轻量级嵌入式WebRTC开发:音视频通话EasyRTC纯C语言实现SFU/MCU架构与QoS优化
  • 浅谈时钟启动和Systemlnit函数
  • Vue3生态工具:Volar语言服务与Unplugin自动化导入配置
  • 算法每日一练 (11)
  • EngineerCMS完整版支持OnlyOffice8.2文档协作
  • 双 Token 无感刷新机制在前后端分离架构中实现
  • 实现图形界面访问无显示器服务器
  • Python网络爬虫之BeautifulSoup库的基本结构
  • Python :数据模型
  • 社交软件频繁更新,UI 设计在其中扮演什么角色?
  • ES 使用geo point 查询离目标地址最近的数据
  • Flutter 按钮组件 TextButton 详解
  • UFW 配置 Ubuntu 防火墙并设置防火墙规则
  • Spring Boot中引入Redis,以及RedisUtils完整工具类
  • 基于STM32F407ZGT6的硬件平台,(可选CubeMX) + PlatformIO软件开发的FreeRTOS部署指南
  • 什么是OF
  • 深入理解JavaScript构造函数与原型链:从原理到最佳实践
  • 《论语别裁》第01章 学而(24)五字串通五经
  • UE5与U3D引擎对比分析