GoModel について
GoModelは、LLMプロバイダーやMCPサーバーを運用するチーム向けのセルフホスト可能なAIゲートウェイです。API互換性、利用制御、ルーティングに加え、複数のMCPサーバーを認証付きの単一エンドポイントに集約します。
主な機能
- 01MCPサーバーを単一エンドポイントに集約
- 02OpenAIおよびAnthropic互換API
- 03レスポンスキャッシュとコスト追跡
- 04予算、レート制限、アクセス制御
- 05プロバイダーのフェイルオーバーと仮想モデル
- 06PrometheusメトリクスとOpenTelemetryトレース
活用シーン
- 01複数のMCPサーバーを認証付きエンドポイントで公開
- 02キーやチームごとのモデル支出を追跡・制限
- 03複数プロバイダーへのリクエスト振り分けと切り替え
- 04既存のOpenAIまたはAnthropic SDKをゲートウェイ経由で利用
MCP 対応
GoModelは上流のMCPサーバーを集約し、認証付きの単一HTTPエンドポイントからMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e GOMODEL_MASTER_KEY -e MCP_SERVERS docker.io/enterpilot/gomodel:0.1.109GOMODEL_MASTER_KEYシークレットGateway API key clients authenticate with; unset runs the gateway in unsafe (no-auth) mode.MCP_SERVERSJSON object of upstream MCP servers to aggregate, e.g. {"github":{"url":"https://api.githubcopilot.com/mcp/","headers":{"Authorization":"Bearer ${GITHUB_PAT}"}}}. Servers can also be declared in config.yaml or the admin dashboard.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GoModel - これさえあれば、もうAIゲートウェイは必要ありません
GoModelは最速かつ最もリソース効率に優れたAIゲートウェイです(再現可能なベンチマーク)。LiteLLM(最近ハッキングされました)やPortkey(GitHubでのメンテナンスが終了しました)の代替製品です。
(↑ アニメーションをクリックするとライブデモを確認できます)
GoModelはお金と心労を節約します。
お金 - このレイヤーでレスポンスを記憶(キャッシュ)し、支出を追跡し、プロンプト圧縮やインテリジェントルーティングなどを活用できるためです。
心労 - 高品質と信頼性の実現を目指しているためです。私たちの目標は、必要なAIゲートウェイはこれ一つだけとなること、つまり、最も信頼性が高く、リソース効率に優れ、機能が豊富で高速なゲートウェイとなることです。
クイックスタート
ステップ1: GoModelをインストールして起動します
Docker
docker run --rm -p 8080:8080 \
-v gomodel_data:/app/data \
enterpilot/gomodel
macOS / Linux
curl -fsSL https://gomodel.enterpilot.io/install.sh | sh
# OPENAI_API_KEY="your-openai-key" # (optional)
gomodel
Windows(PowerShell)
irm https://gomodel.enterpilot.io/install.ps1 | iex
# $env:OPENAI_API_KEY = "your-openai-key" # (optional)
gomodel
ℹ️ .env、config.yamlファイルを使ってGoModelを設定するか、ダッシュボードから重要な設定を直接管理できます。
ℹ️ 利用可能なすべてのプロバイダーを含む、環境変数の全一覧は.env.templateをご覧ください。
ステップ2: ダッシュボードを開き、プロバイダーを追加します
http://localhost:8080/admin/dashboard
ステップ3: APIを呼び出します
curl http://localhost:8080/v1/responses \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-chat-latest",
"input": "Hello!"
}'
GoModelと公式SDK
GoModelは、互換性のある次の2つの形式でリクエストを受け付けます。
- OpenAI互換形式(
/v1) - Anthropic互換形式(
/v1/messages)
そのため、公式SDKを変更せずに使用できます。ベースURLは次のように設定してください。
- OpenAI SDK:
http://localhost:8080/v1 - Anthropic SDK:
http://localhost:8080(SDKが/v1/messagesを追加します)
対応している LLM プロバイダーの一覧
- OpenAI
- Anthropic
- xAI(Grok)
- Google Gemini
- Cohere
- Vertex AI
- DeepSeek
- Groq
- Fireworks AI
- Together AI
- Meta(Muse Spark)
- OpenRouter
- Z.ai
- Alibaba Cloud Model Studio(Bailian)
- Kilo AI
- Eden AI
- MiniMax
- Xiaomi MiMo
- OpenCode Go
- Azure OpenAI
- Oracle
- Ollama
- SGLang
- vLLM
- llm-d
- Amazon Bedrock Runtime と Bedrock Mantle
- ChatGPT(Codex バックエンド)と Claude
- GitHub Copilot
- ElevenLabs(テキスト読み上げと音声認識)
- Jev(TypeSafe System One の意思決定 API)とセルフホスト可能な Kev(OpenAI の Decisions API 経由でも利用可能)
- OpenAI 互換のすべてのプロバイダー
各プロバイダーの機能一覧については、プロバイダーの概要をご覧ください。
Docker Compose
インフラストラクチャのみ(Redis、PostgreSQL、MongoDB、Adminer。イメージのビルドなし):
cp .env.template .env
# Add your API keys to .env
docker compose up -d
# or: make infra
フルスタック(GoModel と Prometheus を追加し、アプリのイメージをビルドします):
docker compose --profile app up -d
# or: make image
API ドキュメント
ゲートウェイの設定
GoModel は次の順序で設定を解決し、各設定元は左側の設定元を上書きします。
適切なデフォルト値 → config.yaml → .env → エクスポートされた環境変数
すべての設定項目については、設定リファレンスをご覧ください。
機能
- キャッシュ - 完全一致およびセマンティックなレスポンスキャッシュにより、繰り返しのプロンプトは無料になります
- コスト追跡 - リクエストごとのコスト見積もり、使用状況の分析、ダッシュボードでの支出内訳
- 予算 - ユーザー、チーム、またはキーごとの厳格な支出上限
- レート制限 - ユーザーパス、プロバイダー、またはモデルごとのリクエスト数、トークン数、同時実行数の上限
- 使用状況 API - クライアントは、推論に使用しているキーを使って、自身の使用状況、残りの予算、レート制限の余裕を確認できます
- 仮想モデル - 安定したモデル名の背後で、エイリアスと負荷分散(ラウンドロビンまたはコストベース)を実現します
- セッション維持 - クライアントセッションを検出して、単一のターゲットとプロバイダーキーに固定します。これにより、プロバイダーのプロンプトキャッシュが維持され、監査ログをスレッドとして確認できます
- フェイルオーバー - バックアッププロバイダーへの自動再ルーティングと、リトライおよびサーキットブレーカー
- ラベル付け - HTTP ヘッダーまたは API キーからのリクエストにタグを付け、ラベル別に使用状況を集計します
- ユーザーパス - キー、モデルへのアクセス、予算、使用状況、監査ログを階層的にスコープ設定します
- モデルアクセス制御 - グループ、ユーザー、キーごとのモデル許可リストを設定し、ユーザーパスのツリーに沿って絞り込みます
- MCP ゲートウェイ - MCP サーバーを、認証された単一のエンドポイントの背後に集約します
- パススルー API -
/p/{provider}/...でプロバイダー固有の API を利用でき、GoModel による認証と追跡が可能です - 音声および画像 API - OpenAI 互換のテキスト読み上げ、文字起こし、および画像の生成と編集を、チャットと同じアクセスルール、予算、コスト追跡で利用できます
- プロバイダーのリプレイ状態 - Gemini の思考署名と Anthropic の思考ブロックを、ターン、API、プロバイダーをまたいで保持します
- ガードレール - ゲートウェイで適用されるリクエストおよびレスポンスのポリシー
- プラグイン - ガードレール、レスポンスおよびストリームのフィルター、ヘッダーの編集、ルーティング戦略に共通の契約を提供します。組み込み、コンパイル時の組み込み、または起動時に
.soから読み込みが可能です - ワークフロー - ユーザーパス、プロバイダー、またはモデルごとに、キャッシュ、予算、監査ログ、ガードレールの各フェーズ、フェイルオーバーのスコープを設定する、バージョン管理されたリクエストごとのポリシーです
- プロバイダーキーのローテーション - 複数の API キーをラウンドロビンで使用し、キーごとのレート制限を引き上げます
- オブザーバビリティ - Prometheus メトリクス、OpenTelemetry トレース、監査ログ、ダッシュボードでのリクエストのライブストリーミング
- プレイグラウンド - ダッシュボードから任意のモデルまたは仮想モデルを試し、リクエストとレスポンスの正確な JSON を確認できます
GoModel Pro
GoModel Pro は商用ビルドです。同じゲートウェイ、設定、ダッシュボードに、ライセンス付きの拡張機能が追加されています。
- プロンプト圧縮 - リクエストの形式を変えずに、プロバイダーに届く前に繰り返しのコンテキストや構造的なコンテキストを取り除きます
- インテリジェントルーティング - 各リクエストを簡単または難しいものに分類し、その階層内で最も健全かつ安価なプロバイダーを選択します
- OIDC シングルサインオン - PKCE を使用する Authorization Code フローで、ID プロバイダーを利用してダッシュボードを保護します
詳細はドキュメントをご覧ください…
ロードマップ
GoModel Pro と今後リリース予定の 0.2.0 については、ロードマップをご覧ください。
スポンサー
コミュニティ
Discord に参加しています。お気軽にお立ち寄りいただき、GoModel についてのご意見をお聞かせください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
