any-llm: 一个无需代理、使用官方 SDK 访问任何 LLM 提供商的统一 API

any-llm: 一个无需代理、使用官方 SDK 访问任何 LLM 提供商的统一 API

它解决了什么问题

它消除了 LLM 提供商接口的碎片化。开发者无需为每个 AI 提供商(如 OpenAI、Anthropic 或 Mistral)编写不同的代码,而是可以使用单一的统一接口与任何支持的模型进行通信,从而轻松实现提供商切换,而无需重写应用程序逻辑。

工作原理

any-llm 作为一个轻量级封装器,利用官方提供商 SDK 来确保最大的兼容性。它提供了两种主要的交互方式:

  • Direct API Functions: 用于快速脚本和 notebook 的无状态 completion 函数。
  • AnyLLM Class: 用于生产级应用的、可重用客户端和连接池的有状态类。

它支持流式传输、工具使用和 OpenAI 兼容的 Responses API 等标准功能,并允许用户通过单独的 providermodel 参数或组合的 provider:model 字符串来指定模型。

适用人群

希望构建灵活且与提供商无关的 LLM 驱动型应用的开发者,从而避免被单一 AI 厂商锁定,或无需管理托管的代理服务器。

亮点

  • Unified Interface: 通过更改单个字符串即可在提供商之间切换。
  • Official SDK Integration: 使用官方 SDK 而非重新实现接口,以减少兼容性问题。
  • Framework Agnostic: 可以集成到任何项目中,而不会被绑定到特定的 agent 框架。
  • Type-Safe: 包含完整的 Python 类型提示,以获得更好的 IDE 支持。
  • No Proxy Required: 直接连接到提供商,无需中间服务器。

Sources