mozilla-ai/any-llm
Communicate with an LLM provider using a single interface
What it solves
LLM プロバイダーのインターフェースが分散している問題を解消します。OpenAI、Anthropic、Mistral など各 AI プロバイダーごとに異なるコードを書く必要がなく、単一の統一インターフェースで任意の対応モデルとやり取りできるため、プロバイダーを切り替えてもアプリケーションロジックを書き直す必要がありません。
How it works
any-llm は公式プロバイダー SDK を活用した軽量ラッパーで、最大限の互換性を確保します。主に 2 つの利用方法を提供します:
- Direct API Functions:ステートレスな
completion関数。スクリプトやノートブックでの素早い利用に最適です。 - AnyLLM Class:ステートフルなクラス。クライアントやコネクションプーリングを再利用でき、プロダクション向けアプリに適しています。
ストリーミング、ツール使用、OpenAI 互換の Responses API など標準機能をサポートし、provider と model を別々に指定するか、provider:model 形式の文字列でモデルを指定できます。
Who it’s for
LLM を活用したアプリケーションを構築したいが、特定ベンダーにロックインしたくない、あるいはプロキシサーバーを自前で管理したくない開発者向けです。
Highlights
- Unified Interface:文字列一つ変更するだけでプロバイダー間を切り替え可能。
- Official SDK Integration:公式 SDK を使用し、インターフェースの再実装を避けて互換性問題を低減。
- Framework Agnostic:特定のエージェントフレームワークに縛られず、任意のプロジェクトに組み込めます。
- Type-Safe:完全な Python 型ヒントを提供し、IDE のサポートを向上。
- No Proxy Required:中間サーバー不要でプロバイダーへ直接接続。