mozilla-ai/any-llm
Communicate with an LLM provider using a single interface
解決する課題
LLMプロバイダーのインターフェースが断片化している問題に対処します。プロバイダーによってパラメータ名やレスポンス形式がわずかに異なるため、開発者はモデルを切り替える際にコードを書き直さなければならないことがよくあります。any-llmは、コアとなるアプリケーションロジックを変更することなく、複数のLLMプロバイダーにアクセスするための単一の統合インターフェースを提供します。
仕組み
このライブラリは、最大限の互換性を確保するために公式のプロバイダーSDKを活用する軽量なラッパーとして機能します。モデルと対話するための2つの主要な方法を提供します:
- Direct API Functions: スクリプトやノートブックに最適な、ステートレスな
completion関数。 - AnyLLM Class: クライアントとコネクションプーリングを再利用するステートフルなアプローチで、プロダクションアプリケーションに推奨されます。
provider:modelという文字列形式、または個別のパラメータをサポートしており、OpenAI、Anthropic、Mistral、Ollamaなどのプロバイダーにリクエストをルーティングできます。また、OpenAI互換のカスタムエンドポイントにも接続可能です。
対象者
異なるLLMプロバイダー間を簡単に切り替えたい開発者、LiteLLMから移行する方、およびホストされたプロキシサーバーへの依存を避けたいフレームワークに依存しないAIアプリケーションを構築しているチーム向けに設計されています。
ハイライト
- 統合インターフェース: 単一の文字列を変更するだけでプロバイダーを切り替え可能。
- 公式SDKの統合: 互換性を維持するために、インターフェースを再実装するのではなく、公式SDKを使用しています。
- プロキシ不要: ホストされたプロキシを必要とせず、コードとプロバイダーの間で直接動作します。
- 開発者体験: IDEサポートのための完全な型ヒントと、明確なエラーメッセージが含まれています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト