yym68686/uni-api
This is a project that unifies the management of LLM APIs. It can call multiple backend services through a unified API interface, convert them to the OpenAI format uniformly, and support load balancing. Currently supported backend services include: OpenAI, Anthropic, DeepBricks, OpenRouter, Gemini, Vertex, etc.
uni‑api – 多数のLLMプロバイダー向けの統合・セルフホスト型ゲートウェイ
概要
- 標準的なOpenAI HTTPエンドポイント(例:
/v1/chat/completions、/v1/images/generations、/v1/embeddingsなど)を公開するオープンソースサーバーで、リクエストを設定可能なバックエンドLLMサービスのリストに転送します。 - 単一のAPIサーフェスを実行しながら、OpenAI、Anthropic、Gemini、Vertex AI、Azure、AWS Bedrock、Cohere、Groq、Cloudflare Workers AI、OpenRouterなどのプロバイダーを組み合わせて利用できます。
- すべての設定はプレーンな
api.yamlファイル(またはCONFIG_URLで指定されたURL)で行われるため、別途UIは不要です。
主な機能
- プロバイダー非依存のルーティング – 任意のOpenAIスタイルのリクエストを適切なバックエンドURLとAPIキーにマッピングします。
- ロードバランシング – 3つのモード:
- チャネルごとの重み付けバランシング。
- チャネルごとのラウンドロビン(順次)バランシング。
- チャネル内の複数APIキーにわたる自動ラウンドロビン。
- 自動リトライとクーリング – バックエンドがエラーを返した場合、リクエストは次のチャネルで再試行されます。失敗したチャネルは一時的に「クールダウン」され、クールダウン期間が終了するまで除外されます。
- 細かいタイムアウト設定 – モデルごとに異なるリクエストタイムアウトを設定できます。
- 権限とレート制限の制御 – APIキーごとのモデルホワイトリスト、ワイルドカードパターン、設定可能なリクエスト上限(例:
2/min、5/hour)。 - ツールと画像のサポート – ネイティブのツール呼び出しおよび画像生成エンドポイントは、対応するプロバイダー(Anthropic、Gemini、Vertexなど)に対して透過的に渡されます。
- モデレーション – オプションのOpenAIスタイルのコンテンツモデレーションで、許可されていないユーザーメッセージをバックエンドに到達する前にブロックできます。
- カスタムリクエスト調整 – リクエストボディフィールド、ヘッダー注入、プロキシ設定、最大ペイロードサイズのモデルごとのオーバーライド。
実行方法
api.yamlを準備 – プロバイダー、ベースURL、APIキー、公開するモデルをリストアップします。READMEには最小限の例と非常に詳細な高度な例が含まれています。- デプロイ – 次のいずれか:
- ファイルをDockerコンテナに
api.yamlとしてマウントする。 CONFIG_URLをリモートのYAMLファイルを指すように設定する。コンテナは起動時にそれをダウンロードします。
- ファイルをDockerコンテナに
- コンテナを起動 – イメージはDocker Hub(
yym68686/uni-api)で公開されています。ワンクリックの「Deploy to Fugue」ボタンで迅速なクラウドデプロイが可能です。 - APIを利用 –
api_keysセクションで定義した任意のAPIキーを使用して、ホスト上の通常のOpenAIエンドポイント(例:http://localhost:8000/v1/chat/completions)を呼び出します。
対象ユーザー
- カスタムUIを構築せずに、複数の有料LLMサービスを集約する個人用「プロキシ」を希望する個人や小規模チーム。
- さまざまなプロバイダーやフォールバック戦略を試しながら、一貫したOpenAI互換インターフェースを必要とする開発者。
- ロードバランシング、レート制限、モデル固有の調整をシンプルなYAMLベースの設定で行いたい方。
リンク
- Telegramディスカッショングループ:https://t.me/uni_api
- Docker Hubページ(プル数、タグ):https://hub.docker.com/repository/docker/yym68686/uni-api
- ワンクリックデプロイ:https://fugue.pro/new/repository?repository-url=https%3A%2F%2Fgithub.com%2Fyym68686%2Funi-api
上記の詳細はすべてリポジトリのREADMEから直接取得したものであり、追加の機能は推測されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト