mozilla-ai/any-llm

Communicate with an LLM provider using a single interface

解決する課題

LLMプロバイダーのインターフェースが断片化している問題に対処します。プロバイダーによってパラメータ名やレスポンス形式がわずかに異なるため、開発者はモデルを切り替える際にコードを書き直さなければならないことがよくあります。any-llmは、コアとなるアプリケーションロジックを変更することなく、複数のLLMプロバイダーにアクセスするための単一の統合インターフェースを提供します。

仕組み

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

  1. Direct API Functions: スクリプトやノートブックに最適な、ステートレスなcompletion関数。
  2. AnyLLM Class: クライアントとコネクションプーリングを再利用するステートフルなアプローチで、プロダクションアプリケーションに推奨されます。

provider:modelという文字列形式、または個別のパラメータをサポートしており、OpenAI、Anthropic、Mistral、Ollamaなどのプロバイダーにリクエストをルーティングできます。また、OpenAI互換のカスタムエンドポイントにも接続可能です。

対象者

異なるLLMプロバイダー間を簡単に切り替えたい開発者、LiteLLMから移行する方、およびホストされたプロキシサーバーへの依存を避けたいフレームワークに依存しないAIアプリケーションを構築しているチーム向けに設計されています。

ハイライト

  • 統合インターフェース: 単一の文字列を変更するだけでプロバイダーを切り替え可能。
  • 公式SDKの統合: 互換性を維持するために、インターフェースを再実装するのではなく、公式SDKを使用しています。
  • プロキシ不要: ホストされたプロキシを必要とせず、コードとプロバイダーの間で直接動作します。
  • 開発者体験: IDEサポートのための完全な型ヒントと、明確なエラーメッセージが含まれています。

関連

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