mozilla-ai/any-llm
Communicate with an LLM provider using a single interface
What it solves
它消除 LLM 供應商介面的碎片化。開發者不必為每個 AI 供應商(例如 OpenAI、Anthropic 或 Mistral)撰寫不同的程式碼,只要使用單一、統一的介面即可與任何受支援的模型溝通,讓切換供應商變得簡單,無需重寫應用程式邏輯。
How it works
any-llm 充當輕量包裝器,利用官方供應商 SDK 以確保最高相容性。它提供兩種主要的模型互動方式:
- Direct API Functions:一個無狀態的
completion函式,適合快速腳本與 notebook 使用。 - AnyLLM Class:一個有狀態的類別,可重複使用 client 與連線池,適合正式環境的應用程式。
它支援串流、工具使用以及與 OpenAI 相容的 Responses API,並允許使用者以分開的 provider 與 model 參數或合併的 provider:model 字串指定模型。
Who it’s for
想要打造彈性且不依賴特定供應商的 LLM 應用程式的開發者,避免被單一 AI 廠商鎖定或需要自行管理代理伺服器。
Highlights
- Unified Interface:只要更改一個字串即可在供應商間切換。
- Official SDK Integration:使用官方 SDK,而非重新實作介面,以降低相容性問題。
- Framework Agnostic:可整合至任何專案,且不受特定代理框架限制。
- Type-Safe:提供完整的 Python 型別提示,提升 IDE 支援。
- No Proxy Required:直接連線至供應商,無需中介伺服器。