andrewyng/aisuite

Simple, unified interface to multiple Generative AI providers

解決的問題

aisuite 是一個輕量級的 Python 函式庫,旨在透過消除處理多個不同提供商 SDK 的摩擦,簡化使用大型語言模型 (LLM) 進行開發的過程。它為與各種 AI 模型互動提供了統一的介面,並提供了一個用於建立可以使用工具的代理 (Agents) 的高階框架。

工作原理

該函式庫由兩個主要層組成:

  1. Chat Completions API:一個統一的 OpenAI 風格介面,允許開發人員透過簡單地更改模型字串(例如,從 openai:gpt-4o 更改為 anthropic:claude-3-5-sonnet)來切換提供商(如 OpenAI、Anthropic、Google、Mistral 和 Ollama)。它標準化了這些不同服務的請求與回應結構。
  2. 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 原生整合,實現輕鬆的工具擴充。
  • 可擴充性:可以透過簡單的適配器模式新增新的提供商。

相關

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