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サポートのための完全な型ヒントと、明確なエラーメッセージが含まれています。
関連
- プロジェクト
theopenco/llmgatewayLLM Gateway は、複数のLLMプロバイダーへのリクエストをルーティングするためのオープンソースAPIゲートウェイで、単一のOpenAI互換エンドポイントを提供し、APIキーの集中管理と組み込みの使用状況・パフォーマンス分析を実現します。Docker経由でホストされたSaaSサービスまたはセルフホストが可能です。
- プロジェクト
fruitbars/simple-one-apisimple‑one‑api は、複数のLLMプロバイダーをOpenAI互換のエンドポイントに統合し、容量を考慮したキー・スケジューリング、4層のレート制限、内蔵のReactチャットUI、視覚的な設定コンソール、およびWailsデスクトップクライアントを提供するオープンソースのGoゲートウェイです。単一のバイナリ、Dockerコンテナ、またはデスクトップアプリとして実行可能で、設定はSQLiteに保存されます。
- プロジェクト
BerriAI/litellm100以上の異なるLLMプロバイダーを呼び出すための統一されたOpenAI互換インターフェースを提供するオープンソースのAIゲートウェイおよびPython SDKです。
- プロジェクト
huggingface/AnyLanguageModelAnyLanguageModelは、AppleのFoundationModelsインポートを置き換えるSwiftパッケージで、Apple、Core ML、MLX、llama.cpp、Ollama、OpenAI、Anthropic、Geminiなど、多数のLLMプロバイダーに対して統一されたAPIを提供します。`LanguageModelSession`によるプロンプト処理、`@Generable/@Guide`によるSwift構造体のガイド付き生成、デリゲートフックによるツール呼び出しサポート、オプションの画像入力、バイナリサイズを小さく保つためのトレイトベースの依存関係選択を備えています。インストールはSwiftPM経由。バックエンドはトレイト(`CoreML`、`MLX`、`Llama`)で有効化。セキュリティガイドラインでは、APIキーをハードコードしないよう警告し、Keychainにユーザー提供キーを保存するか、プロキシサーバーを推奨。対象はSwift 6.1+、iOS 17/macOS 14+、オンデバイスおよびクラウドAPIの両方に対応。
- プロジェクト
andrewyng/aisuite最小限のコードで、複数の LLM プロバイダーにわたって AI エージェントを構築するための、統一された Chat Completions API と Agents API を提供する軽量な Python ライブラリ。