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などの標準的な機能をサポートしており、provider と model パラメータを個別に指定するか、結合された provider:model 文字列を使用してモデルを指定できます。
対象ユーザー
単一のAIベンダーへのロックインや、ホストされたプロキシサーバーの管理を避け、柔軟でプロバイダーに依存しないLLM搭載アプリケーションを構築したい開発者。
ハイライト
- Unified Interface: 単一の文字列を変更するだけでプロバイダーを切り替えられます。
- Official SDK Integration: インターフェースを再実装するのではなく、公式SDKを使用することで、互換性の問題を軽減します。
- Framework Agnostic: 特定のエージェントフレームワークに縛られることなく、あらゆるプロジェクトに統合できます。
- Type-Safe: より良いIDEサポートのために、完全なPython型ヒントが含まれています。
- No Proxy Required: 中間サーバーを必要とせず、プロバイダーに直接接続します。
Sources
- undefinedmozilla-ai/any-llm