andrewyng/aisuite

Simple, unified interface to multiple Generative AI providers

解決する課題

aisuite は、複数の異なるプロバイダーの SDK を扱う手間を省くことで、大規模言語モデル (LLM) を用いた開発を簡素化するために設計された軽量な Python ライブラリです。さまざまな AI モデルとやり取りするための統一されたインターフェースと、ツールを使用できるエージェントを作成するための高レベルなフレームワークを提供します。

仕組み

このライブラリは、主に2つのレイヤーで構成されています。

  1. Chat Completions API: モデル文字列(例:openai:gpt-4o から anthropic:claude-3-5-sonnet)を変更するだけで、プロバイダー(OpenAI、Anthropic、Google、Mistral、Ollama など)を切り替えられる、OpenAI スタイルの統一されたインターフェースです。これにより、異なるサービス間でのリクエストおよびレスポンスの構造が標準化されます。
  2. Agents API: チャット API の上に構築された、エージェント作成を可能にするレイヤーです。開発者はプレーンな Python 関数をツールとして渡すことができ、ライブラリが自動的にスキーマに変換して実行します。max_turns パラメータによるマルチターンループをサポートしており、ファイル、git、シェル用のプリセットツールキットも含まれています。

さらに、ボイラープレートコードなしで外部ツールを統合するための Model Context Protocol (MCP) もサポートしています。

対象者

ベンダーロックインを避け、統合コードを書き直すことなく、さまざまな LLM プロバイダーを簡単に試したい、AI アプリケーションやエージェントを構築する Python 開発者。

ハイライト

  • 統一された API: OpenAI、Anthropic、Google、Mistral、Hugging Face、AWS、Cohere、Ollama、OpenRouter を含む幅広いプロバイダーに対応した単一のインターフェース。
  • 自動ツール呼び出し: Python 関数を直接ツールに変換し、実行ループを自動的に管理します。
  • エージェント・フレームワーク: 構造化された作業のための Runner、セキュリティのためのツールポリシー(例:承認ポリシー)、会話を永続化するためのステートストアが含まれています。
  • MCP サポート: ツール拡張を容易にするための Model Context Protocol とのネイティブ統合。
  • 拡張性: シンプルなアダプターパターンを通じて、新しいプロバイダーを追加できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト