ENTERPILOT/GoModel

AI gateway / AI control plane / AI proxy written in Go. Unified OpenAI-compatible and Anthropic-compatible API for OpenAI, Anthropic, Gemini, Groq, xAI, Ollama, vLLM and more. A LiteLLM alternative with observability, guardrails, streaming, cost tracking, intelligent routing, sticky sessions, failover, real-time logs and usage tracking. Prod ready.

GoModelとは?

GoModelは、Goで書かれたオープンソースのAIゲートウェイです。アプリケーション(またはOpenAI/Anthropic互換のSDK)と多数のLLMプロバイダーの間に位置し、HTTP呼び出しを代行します。その主な目的は、複数のモデルを安価で信頼性高く、観測可能に利用できるようにすることです。


核となるアイデア

アイデア なぜ重要なのか
単一エンドポイント – 設定済みの任意のプロバイダーに転送する/v1(OpenAI)または/v1/messages(Anthropic)APIを公開します。 バックエンドを交換または混在させながら、既存のコードを変更せずに済みます。
キャッシュとプロンプト圧縮 – 完全一致または意味的なレスポンスを保存し、プロバイダーに送信する前にプロンプトを縮小できます。 トークン使用量とコストを削減します。
コストと予算の追跡 – リクエストごとのコスト見積もり、ダッシュボード、ハードな支出制限。 高価なモデルを使用する際の予期しない請求を防ぎます。
フェイルオーバーとキーローテーション – 自動再ルーティング、サーキットブレーカー、複数のAPIキーでのラウンドロビン。 信頼性を向上させ、キーごとのレート制限を回避します。
可観測性 – Prometheusメトリクス、OpenTelemetryトレース、Web UIでのライブリクエストストリーミング。 パフォーマンスの監視と問題のデバッグに必要なデータを提供します。
拡張可能なプラグインとワークフロー – カスタムガードレール、レスポンスフィルター、ルーティングロジックをGoプラグイン(.so)として読み込みます。 アプリケーションコードを変更せずに、チームがポリシー(例:不適切な言葉のフィルター)を適用できます。

主な機能(READMEに記載されているもの)

  • キャッシュ – 完全一致および意味的なレスポンスキャッシュ。
  • コスト追跡と予算 – リアルタイムの支出分析、ユーザー/チーム/キーごとのハード制限。
  • レート制限 – リクエスト、トークン、同時実行数の上限。
  • 仮想モデル – プロバイダー間でロードバランスできる安定したモデルエイリアス。
  • セッション維持 – クライアントセッションを特定のプロバイダーに固定し、プロンプトキャッシュをウォームに保ちます。
  • フェイルオーバーと耐障害性 – リトライ、サーキットブレーカー、バックアッププロバイダー。
  • ラベリングとユーザーパス – キー、予算、監査ログの階層的スコープ。
  • MCPゲートウェイ – 複数のMCPサーバーを単一のエンドポイントに集約します。
  • パススルーAPI – /p/{provider}/… でプロバイダー固有のエンドポイントへの直接アクセス。
  • オーディオおよび画像API – TTS、文字起こし、画像生成/編集、すべて同じアクセス制御付き。
  • ガードレールとプラグイン – リクエスト/レスポンスポリシー、カスタムフィルター、ルーティング戦略。
  • ワークフロー – バージョン管理されたリクエストごとのポリシーバンドル。
  • プロバイダーキーローテーション – 複数のAPIキーでのラウンドロビン。
  • 可観測性 – Prometheus、OpenTelemetry、監査ログ、ライブストリーミング。
  • プレイグラウンドUI – ダッシュボードから任意のモデルを試し、生のJSONを確認できます。

誰が使うのか?

ユースケース GoModelがどのように役立つか
スタートアップやSaaSプラットフォーム – コードを書き直さずにOpenAI、Anthropic、Geminiなどを切り替える必要がある場合。 1つの設定可能なゲートウェイが多くのSDK変更を置き換えます。
厳格な予算を持つチーム – プロジェクトまたはユーザーごとの支出を制限したい場合。 組み込みのコスト追跡、予算、レート制限。
エンタープライズ – 監査ログ、SSO、カスタムガードレールが必要な場合。 ダッシュボード、OpenTelemetry、OIDC SSO(Pro)、プラグインシステム。
セルフホストLLMを実行する開発者(例:Ollama、vLLM)。 「すべてのOpenAI互換プロバイダー」をサポートし、ローカルモデルへのプロキシも可能。
メトリクスとアラートが必要な運用チーム。 Prometheusメトリクス、サーキットブレーカーロジック、ヘルスチェック。

はじめに(クイック概要)

  1. インストール – macOS/Linux用のワンライナースクリプト、Windows用のPowerShellスクリプト、またはDockerイメージ。
  2. 設定 – .env、config.yaml、またはダッシュボードUI。テンプレートにすべての環境変数がリストされています。
  3. 実行 – gomodel(またはdocker run …)。管理UIはhttp://localhost:8080/admin/dashboardにあります。
  4. APIを呼び出す – /v1/responses(OpenAIスタイル)にPOSTを送信するか、http://localhost:8080/v1を指す任意のOpenAI/Anthropic SDKを使用します。

ライセンスとコミュニティ

このリポジトリはオープンソースです(READMEにはライセンスが明記されていませんが、CI、Dockerイメージ、公開リポジトリの存在はOSSライセンスを示唆しています)。このプロジェクトは積極的にメンテナンスされています – CIバッジ、Dockerプル、Discordコミュニティ、Hacker Newsのディスカッションがリンクされています。


TL;DR

GoModelは、Goベースのセルフホスト型AIゲートウェイで、単一のOpenAI互換エンドポイントの背後で数十のLLMプロバイダーへのリクエストをルーティング、キャッシュ、監視、制御できます。コスト管理、信頼性、可観測性を必要としながら、既存のSDKを変更せずに維持したいチームを対象としています。

関連

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