mozilla-ai/any-llm
Communicate with an LLM provider using a single interface
解决的问题
它解决了 LLM 提供商接口碎片化的问题。由于不同的提供商使用的参数名称和响应格式略有不同,开发人员在切换模型时通常不得不重写代码。any-llm 提供了一个统一的接口,无需更改核心应用程序逻辑即可访问多个 LLM 提供商。
工作原理
该库作为一个轻量级封装,利用官方提供商 SDK 来确保最大的兼容性。它提供了两种主要的模型交互方式:
- Direct API Functions:适用于脚本和 notebook 的无状态
completion函数。 - AnyLLM Class:一种重用客户端和连接池的有状态方法,推荐用于生产级应用。
它支持 provider:model 字符串格式或单独的参数,用于将请求路由到 OpenAI、Anthropic、Mistral 和 Ollama 等提供商,还可以连接到自定义的 OpenAI 兼容端点。
适用对象
专为希望轻松切换不同 LLM 提供商的开发人员、正在从 LiteLLM 迁移的用户,以及需要避免依赖托管代理服务器的框架无关型 AI 应用程序构建团队而设计。
亮点
- 统一接口:通过更改单个字符串即可切换提供商。
- 官方 SDK 集成:使用官方 SDK 而不是重新实现接口,以保持更好的兼容性。
- 无需代理:直接在代码和提供商之间运行,不需要托管代理。
- 开发体验:包含用于 IDE 支持的完整类型提示和清晰的错误消息。
相关
- 项目
- 项目
- 项目
- 项目
- 项目