推理、部署与运行时

any-llm:面向 LLM 提供商的统一 Python 接口

mozilla-ai/any-llm

any-llm 是一个 Python SDK,可通过统一接口与多个 LLM 提供商通信。它支持以较少代码改动切换提供商和模型,并在可用时使用官方提供商 SDK。

★ 2.2K星级
⑂ 211Fork 数
45未解决的问题
Python语言
Apache-2.0许可证
Q@project.QualityScore编辑评分

概览

该项目为脚本和实验提供直接的补全函数,也提供可复用的 AnyLLM 客户端,适用于需要发起多次请求的应用。仓库描述其支持 OpenAI、Anthropic、Azure / Microsoft Foundry、Mistral、Ollama、OpenAI 兼容端点,以及文档中列出的其他提供商。它与框架无关,且不要求使用代理。

主要功能

  • 跨多个 LLM 提供商的统一补全接口
  • 独立的提供商和模型参数,或 provider:model 组合语法
  • 用于无状态请求的直接同步 API 函数
  • 带连接池的可复用 AnyLLM 客户端
  • 流式传输和工具支持
  • 针对实现该 API 的提供商提供 OpenAI 风格 Responses API 支持
  • 提供商特定的安装 extras
  • 类型提示和可操作的错误信息
  • 在可用时使用官方提供商 SDK
  • 无需代理且与框架无关的运行方式
  • 在所选提供商支持时列出模型
  • 支持自定义 OpenAI 兼容端点

要求、安装和快速入门

使用所需提供商的 extras 安装 SDK,例如:pip install 'any-llm-sdk[openai]'、pip install 'any-llm-sdk[mistral,ollama]',或 pip install 'any-llm-sdk[all]'。设置相应的提供商环境变量,例如 OPENAI_API_KEY、ANTHROPIC_API_KEY 或 MISTRAL_API_KEY。API 密钥也可以在代码中传入。

用法

快速开始:安装 pip install 'any-llm-sdk[mistral,ollama]',设置 MISTRAL_API_KEY,从 any_llm 导入 completion,并调用 completion(model='mistral-small-latest', provider='mistral', messages=[{'role': 'user', 'content': 'Hello!'}])。从 response.choices[0].message.content 读取生成的文本。对于重复请求,可使用 AnyLLM.create('mistral', api_key='your-mistral-api-key') 创建客户端,并调用 llm.completion。也支持如 mistral:mistral-small-latest 的组合模型字符串。

模型兼容性与使用场景

README 明确列出 OpenAI、Anthropic、Azure / Microsoft Foundry、Mistral 和 Ollama,以及自定义 OpenAI 兼容端点。模型标识符会直接传递给提供商。应在 https://docs.mozilla.ai/any-llm/providers/ 查看确切的提供商和模型覆盖范围。OpenAI 风格 Responses API 功能仅限于实现该 API 的提供商。

许可证与风险说明

根据仓库元数据和 README,该项目采用 Apache License 2.0。许可证参考:https://api.github.com/licenses/apache-2.0。

发布与维护

提供的仓库记录中未包含发布说明或版本历史。该仓库创建于 2025-07-14,提供的元数据报告其最新推送为 2026-08-03。

OpenVINO

openvinotoolkit/openvino

★ 10.6KC++

GPUStack

gpustack/gpustack

★ 5.4KPython