mozilla-ai/any-llm

Communicate with an LLM provider using a single interface

解決的問題

它解決了 LLM 提供商介面碎片化的問題。由於不同的提供商使用的參數名稱和回應格式略有不同,開發人員在切換模型時通常不得不重寫程式碼。any-llm 提供了一個統一的介面,無需更改核心應用程式邏輯即可存取多個 LLM 提供商。

工作原理

該函式庫作為一個輕量級封裝,利用官方提供商 SDK 來確保最大的相容性。它提供了兩種主要的模型互動方式:

  1. Direct API Functions:適用於腳本和 notebook 的無狀態 completion 函式。
  2. AnyLLM Class:一種重用用戶端和連接池的有狀態方法,推薦用於生產級應用。

它支援 provider:model 字串格式或獨立的參數,用於將請求路由到 OpenAI、Anthropic、Mistral 和 Ollama 等提供商,還可以連接到自定義的 OpenAI 相容端點。

適用對象

專為希望輕鬆切換不同 LLM 提供商的開發人員、正在從 LiteLLM 遷移的使用者,以及需要避免依賴託管代理伺服器的框架無關型 AI 應用程式構建團隊而設計。

亮點

  • 統一介面:透過更改單個字串即可切換提供商。
  • 官方 SDK 整合:使用官方 SDK 而不是重新實作介面,以保持更好的相容性。
  • 無需代理:直接在程式碼和提供商之間運行,不需要託管代理。
  • 開發體驗:包含用於 IDE 支援的完整類型提示和清晰的錯誤訊息。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案