GoModel
ENTERPILOT · コーディング
GoModelは、アプリと、呼び出すすべての大規模言語モデルとの間に位置するオープンソースのAIゲートウェイである。OpenAIとAnthropicに互換の単一APIを公開し、33のプロバイダーへリクエストをルーティングし、キャッシュ、ガードレール、予算、リクエストごとの利用状況追跡を重ねて提供する。プロバイダーの切り替えとコストの帰属をこれまでアプリのコードの問題として扱っていたなら、GoModelはそのロジックを、自分で管理する単一のセルフホストバイナリへと移す。
GoModel について
GoModelとは
GoModelはモデルではなくゲートウェイである。アプリの隣で単一のGoバイナリを動かし、既存のSDKをそのベースURLに向ければ、多数のLLMプロバイダーと同時にやり取りする面倒な部分を引き受けてくれる。このプロジェクトは自らを「OpenRouterのようなものだが、オープンソースでセルフホスト」と説明しており、その表現は正確だ。OpenRouterがホスト型サービスとして売っているルーティングと制御の層を、GoModelは自分でデプロイできるソフトウェアとして渡してくれる。自前のハードウェアで動かせるOpenRouterの代替を探しているチームにとって、それが一行で表した売り文句である。
中心となる約束は分離である。アプリのコードは安定した名前を呼び出し、その名前の背後にある実際のプロバイダーとモデルは、書き直しではなく設定の変更で切り替わる。これは機能する。プロバイダーが障害を起こせば、フォールバックが自動で発動する。同じプロンプトが繰り返し届けば、完全一致のキャッシュがより速く、より安く応答する。
難点は、セルフホストとは運用を自分で担うという意味だということである。バイナリを動かし、プロバイダーのキーを設定し、キャッシュと監査データを保持するストレージを管理する。ベンダーが代わりに修正してくれることはない。インフラは自分のものだ。インフラの運用に慣れた人がいないチームにとって、これは脚注ではなく実際のコストになる。そのための時間を見込んでおくべきだ。
はじめかた
- プロジェクトのGitHubリポジトリから取得し、セットアップガイドに従って単一のGoバイナリを自分の環境で動かす。
- 使用するプロバイダー、たとえばOpenAI、Anthropic、GeminiのAPIキーを環境変数として追加する。
- 内蔵の管理UIを開き、仮想モデルまたはエイリアスを作成し、その背後の実際のプロバイダーとモデルに対応づける。
- アプリのベースURLをGoModelのエンドポイントに変更し、既存のOpenAIまたはAnthropicのSDKをそのまま使う。
- トラフィックがゲートウェイを流れる間、ダッシュボードから利用状況、予算、監査ログを確認する。
AIツール情報
GoModelの料金、対応プラットフォーム、性能を簡単に確認できます。
こんな人におすすめ
このツールが最も力を発揮するユーザー、タスク、シーン。
ユーザー
- バックエンド・プラットフォームのエンジニア:すでに複数のLLM APIを呼び、プロバイダー固有のコードを書くことに疲れた人。ただしセルフホスト型サービスを動かすことに抵抗がないことが条件。
- DevOps・インフラチーム:APIキー、予算、チームやテナントをまたぐ支出の帰属を集中管理する必要がある人。
- 小規模なプロダクトチーム:サードパーティのホストを経由せずに、OpenRouter流のルーティングを求める開発者。
タスク
- プロバイダーの切り替え:統合コードを書き直すのではなく、設定値を変更してワークロードをあるモデルから別のモデルへ移す。
- コスト管理:完全一致の応答キャッシュで繰り返しの支出を削り、各リクエストを対応できる最も安いモデルへルーティングする。
- 利用状況の帰属:単一プロバイダーのダッシュボードが合計しか示さないとき、トークン支出を特定のチーム、テナント、機能に対応づける。
- ガードレールの導入:送信前にLLMでシステムプロンプトを注入したりメッセージを書き換えたりする。プロバイダー、モデル、ユーザーパスごとに適用する。
シーン
- プロバイダーの停止時に自動フェイルオーバーを必要とする本番アプリを運用する。
- インシデント後にリクエストを監査する。何が起きたのか、なぜ起きたのかを再構成するために実行時メタデータが要る場面。
- 各チームに、独自の予算とレート制限を持つ範囲限定の仮想キーを渡す。
- 初期の調査と試作の段階で、単一のエンドポイントの背後にある多数のモデルを評価する。
主な機能
33のプロバイダーをひとつのAPIで
GoModelはOpenAI、Anthropic、Gemini、Bedrock、Vertex、Azure、Groq、Ollama、vLLMなどを単一のエンドポイントの背後に置く。プロバイダーは33に上る。OpenAIとAnthropicのリクエスト形式との互換性を保つため、ベースURLを変えて、すでに知っているSDKをそのまま使える。さらにプロバイダーごとに複数のキーをラウンドロビンで切り替え、負荷を分散して、一本のキーが制限されたときの影響範囲を狭める。
エイリアスと仮想モデル
smart-chatのような安定した名前を公開し、その背後の実際のプロバイダーとモデルを、アプリのコードに触れずに割り当て直せる。なぜそれが重要なのか。チームは予測可能なインターフェースを得て、その下で何を試すかは自由だ。このプロジェクトはこれをアプリの変更ではなく設定の変更と位置づけており、まさにそこが要点である。
自動フェイルオーバーと負荷分散
プロバイダーが可用性エラーを返すと、GoModelは次のモデルまたはプロバイダーへフェイルオーバーし、バックオフで再試行し、サーキットブレーカーで不安定なアップストリームを吸収する。仮想モデルを重み付きラウンドロビンでターゲットに分散させたり、コストベースのルーティングでリクエストを処理できる最も安いモデルを選ばせたりもできる。フェイルオーバーは自動だ。それが魅力のすべてである。
範囲を絞ったワークフロー
キャッシュ、監査、利用追跡、予算、ガードレール、フェイルオーバーは、プロバイダー、モデル、ユーザーパスごとに設定するトグルである。ワークフローはバージョン管理され、最も具体的なスコープが優先されるため、あるルートには監査ログを要求し、別のルートはより軽く動かせる。柔軟だ。条件分岐を山ほど積まずに、チームごとに異なる挙動を適用できる。
送信前のガードレール
GoModelは、リクエストが出ていく前にシステムプロンプトを注入したり、LLMでメッセージを書き換えたりできる。ステップは順序づけられたグループで実行され、並列グループは同時に走る。トーンを強制し、特定の内容をブロックし、入力を集中管理で正規化する方法であり、各サービスにそれを求める必要はない。重複するロジックが減る。
応答キャッシュ
完全一致のキャッシュは同一のリクエストをより速く、より安く返すため、同じプロンプトが二度、全額を支払うことはない。これが最も効くのはエージェントのループや再試行であり、そこではほぼ重複した呼び出しが積み重なり、静かに予算を食い尽くす。小さな変更で、確かな節約になる。
利用追跡と監査ログ
リクエスト単位の追跡が支出をチーム、テナント、機能に対応づけ、プロバイダーのダッシュボードが示す単一の合計を超える。監査ログと実行時メタデータがすべてのリクエストを追跡可能にし、フォールバックが発動して誰も理由を覚えていないときに役立つ。推測は要らない。
管理UI付きの単一バイナリ
ゲートウェイは、内蔵の管理UIと、SQLite、Postgres、MongoDBを通じてワークロードに応じて拡張するストレージを備えた単一のGoバイナリとして提供される。PrometheusメトリクスとSSEストリーミングも含まれ、可観測性の接続点が初日から存在する。後から何かを付け足す必要はない。
メリットとデメリット
メリット
- セルフホストかつMITライセンスなので、プロンプトとプロバイダーのキーは自前の環境に留まる。
- OpenAIとAnthropicに互換の単一APIが33のプロバイダーをカバーし、統合作業をベースURLの変更だけに縮める。
- 範囲を絞ったワークフローにより、キャッシュ、監査、予算、ガードレールをプロバイダー、モデル、ユーザーパスごとに調整できる。
- 自動フェイルオーバーとサーキットブレーカーが、単一プロバイダーの障害でアプリが落ちるのを防ぐ。
- 内蔵の利用追跡と監査ログが、追加のツールなしに「誰が何を使ったか」「何が起きたか」に答える。
デメリット
- セルフホストはデプロイ、アップグレード、ストレージを自分で担うことを意味し、インフラ経験のないチームには実際の負担になる。
- 有料のPro機能は別の階層にあり、完全に管理された体験は無料バイナリには含まれない。
- プロバイダーのパススルーは経路上で独自の認証と追跡の層を保つため、プロバイダーを直接呼ぶことに慣れたチームには一手間増える。
よくある質問
いいえ。GoModelはゲートウェイでありルーターである。設定したプロバイダー、たとえばOpenAI、Anthropic、Geminiへリクエストを転送し、自らモデルを提供することはない。
関連コンテンツ
GoModelに関連するツール、スキル、記事を探す。
GoModelの代替ツール
Forefront
Forefront · コーディングForefrontはオープンソースAIで構築するためのウェブプラットフォームだ。主要なオープンソース言語モデルを自分のデータで微調整し、性能を評価し、API経由で実行したり、エクスポートして自分でホストしたりできる。クローズドなプラットフォームの手軽さを求めつつ、モデルとデータの所有権にはこだわる開発者が対象だ。
Startkit
StartKit.AI · コーディングStartkitは、AI SaaSとAIラッパー製品を作るためのボイラープレートだ。面倒な部分をあらかじめ配線済みにしたAIスタートアップボイラープレートと考えればいい。認証、StripeとLemon Squeezyの決済、利用制限、トランザクションメール、そしてOpenAI、Anthropic、Groq、Llamaと通信するAI APIスターターキットが含まれる。リポジトリをクローンして価格を設定し、ユーザーが実際にお金を払う部分に取りかかれる。ReactとTailwind上のNext.jsで作られているため、ボイラープレートコードの多くはすでに見慣れたものだ。
Testim
Tricentis · コーディングTestimは、Web・モバイル・Salesforceアプリ向けにエンドツーエンドテストを構築して実行するAIテスト自動化プラットフォームだ。機械学習を頼りに、インターフェースが変わってもテストを安定させ、チームが壊れたセレクターの修正に費やす時間を減らす。今日から使い始められる自動テストツールとしては悪くない。ブラウザで操作を録画してテストを作り、より細かい制御が必要なときはJavaScriptを足す。忙しいQAチームにとって堅実な選択肢である。
