andrewyng/aisuite
Simple, unified interface to multiple Generative AI providers
解決的問題
aisuite 是一個輕量級的 Python 函式庫,旨在透過消除處理多個不同提供商 SDK 的摩擦,簡化使用大型語言模型 (LLM) 進行開發的過程。它為與各種 AI 模型互動提供了統一的介面,並提供了一個用於建立可以使用工具的代理 (Agents) 的高階框架。
工作原理
該函式庫由兩個主要層組成:
- Chat Completions API:一個統一的 OpenAI 風格介面,允許開發人員透過簡單地更改模型字串(例如,從
openai:gpt-4o更改為anthropic:claude-3-5-sonnet)來切換提供商(如 OpenAI、Anthropic、Google、Mistral 和 Ollama)。它標準化了這些不同服務的請求與回應結構。 - Agents API:建立在聊天 API 之上的層,用於實現代理的建立。它允許開發人員將普通的 Python 函式作為工具傳遞,函式庫會自動將其轉換為模式 (schema) 並執行。它透過
max_turns參數支援多輪對話循環,並包含用於檔案、git 和 shell 的預建工具包。
此外,它還支援 Model Context Protocol (MCP),無需樣板程式碼即可整合外部工具。
適用對象
想要避免供應商鎖定,並希望在不重寫整合程式碼的情況下輕鬆嘗試不同 LLM 提供商的建立 AI 應用程式或代理的 Python 開發人員。
亮點
- 統一的 API:為包括 OpenAI、Anthropic、Google、Mistral、Hugging Face、AWS、Cohere、Ollama 和 OpenRouter 在內的廣泛提供商提供單一介面。
- 自動工具呼叫:直接將 Python 函式轉換為工具並自動管理執行循環。
- 代理框架:包括用於結構化工作的
Runner、用於安全的工具策略(例如:核准策略)以及用於持久化對話的狀態儲存。 - MCP 支援:與 Model Context Protocol 原生整合,實現輕鬆的工具擴充。
- 可擴充性:可以透過簡單的適配器模式新增新的提供商。
相關
- 專案
- 專案
- 專案
- 專案
- 專案