any-llm:使用官方 SDK 直接存取任意 LLM 供應商的統一 API(無需 Proxy)
any-llm:使用官方 SDK 直接存取任意 LLM 供應商的統一 API(無需 Proxy)
它解決了什麼問題
它消除了 LLM 供應商介面的碎片化。開發者不必為每個 AI 供應商(如 OpenAI、Anthropic 或 Mistral)撰寫不同的程式碼,只需使用單一、統一的介面即可與任何支援的模型溝通,讓切換供應商變得輕鬆,無需重新編寫應用程式邏輯。
它如何運作
any-llm 充當輕量包裝器,利用官方供應商 SDK 以確保最高相容性。它提供兩種主要的模型互動方式:
- Direct API Functions:一個無狀態的
completion函式,適合快速腳本與 notebook 使用。 - AnyLLM Class:一個有狀態的類別,可重複使用客戶端與連線池,專為生產環境應用設計。
它支援串流、工具使用以及與 OpenAI 相容的 Responses API,並允許使用者透過分開的 provider 與 model 參數,或是合併成 provider:model 字串的方式指定模型。
目標對象
想要打造彈性且不受供應商限制的 LLM 應用程式的開發者,避免被單一 AI 廠商鎖定,或是需要自行管理代理伺服器的情況。
重點特色
- 統一介面:只要更改一個字串即可在供應商之間切換。
- 官方 SDK 整合:使用官方 SDK,而非重新實作介面,以降低相容性問題。
- 框架無關:可整合至任何專案,無需綁定特定的代理框架。
- 型別安全:提供完整的 Python 型別提示,提升 IDE 支援。
- 無需 Proxy:直接連線至供應商,無需中介伺服器。
Sources
- undefinedmozilla-ai/any-llm