any-llm: プロキシを使用せず、公式SDKを使用してあらゆるLLMプロバイダーにアクセスするための統合API

any-llm: プロキシを使用せず、公式SDKを使用してあらゆるLLMプロバイダーにアクセスするための統合API

解決する課題

LLMプロバイダーのインターフェースの断片化を解消します。AIプロバイダー(OpenAI、Anthropic、またはMistralなど)ごとに異なるコードを書く代わりに、開発者は単一の統合されたインターフェースを使用してサポートされているあらゆるモデルと通信できるため、アプリケーションロジックを書き換えることなくプロバイダーを簡単に切り替えることができます。

仕組み

any-llmは、最大限の互換性を確保するために公式プロバイダーSDKを活用する軽量なラッパーとして機能します。モデルと対話するための2つの主要な方法を提供します:

  • Direct API Functions: クイックなスクリプトやノートブック用のステートレスな completion 関数。
  • AnyLLM Class: クライアントとコネクションプーリングを再利用するように設計された、本番環境アプリケーション用のステートフルなクラス。

ストリーミング、ツール利用、OpenAI互換のResponses APIなどの標準的な機能をサポートしており、providermodel パラメータを個別に指定するか、結合された provider:model 文字列を使用してモデルを指定できます。

対象ユーザー

単一のAIベンダーへのロックインや、ホストされたプロキシサーバーの管理を避け、柔軟でプロバイダーに依存しないLLM搭載アプリケーションを構築したい開発者。

ハイライト

  • Unified Interface: 単一の文字列を変更するだけでプロバイダーを切り替えられます。
  • Official SDK Integration: インターフェースを再実装するのではなく、公式SDKを使用することで、互換性の問題を軽減します。
  • Framework Agnostic: 特定のエージェントフレームワークに縛られることなく、あらゆるプロジェクトに統合できます。
  • Type-Safe: より良いIDEサポートのために、完全なPython型ヒントが含まれています。
  • No Proxy Required: 中間サーバーを必要とせず、プロバイダーに直接接続します。

Sources