Show HN: GoModel – GoによるオープンソースのAIゲートウェイ
概要
GoModelは、Go製の高性能AIゲートウェイ。 OpenAI互換APIで複数プロバイダーを統合管理可能。 Dockerですぐ導入、環境変数ベースのシンプル設定。 キャッシュ機能によるコスト削減と高速化。 セキュリティ・認証も柔軟に対応。
GoModel:AIゲートウェイの全体像
- Go言語で開発された高性能AIゲートウェイ。
- OpenAI、Anthropic、Gemini、xAI、Groq、OpenRouter、Z.ai、Azure OpenAI、Oracle、Ollamaなど多数のAIプロバイダーに1つのAPIで対応。
- OpenAI互換APIでアプリ側の実装変更不要。
- Dockerイメージは約17MBと超軽量。
- 環境変数中心の設定で、柔軟かつ簡単に運用。
- モデル切り替え・プロバイダー追加も容易。
クイックスタート:AIゲートウェイのデプロイ
- Dockerコマンド一発でGoModelを起動。
- 例:
docker run --rm -p 8080:8080 -e OPENAI_API_KEY="your-openai-key" enterpilot/gomodel
- 例:
- 必要なプロバイダーのAPIキーやBASE_URLのみ指定(最低1つ必須)。
- セキュリティ上の注意点:
- コマンドラインの
-eで秘密情報を渡すのは非推奨。 - 本番環境では
--env-file .envでAPIキーを管理推奨。
- コマンドラインの
API利用例
- curlコマンドでAPI呼び出し:
curl http://localhost:8080/v1/chat/completions ...
- GoModelは自動で利用可能なプロバイダーを判別。
サポートされるLLMプロバイダーと機能一覧
- 主要プロバイダーごとにAPIキーまたはBASE_URLを設定。
- チャット、埋め込み、ファイル、バッチ処理、パススルーなど機能ごとに対応状況を明示。
- 例:OpenAIは全機能対応、Anthropicは一部機能非対応。
- 複数インスタンス登録も環境変数のサフィックスで可能。
代替セットアップ方法
- Go 1.26.2+でソースから起動可能。
.envファイル作成しAPIキーを記入。make runでサーバ起動。
- Docker Composeによるインフラ一式の立ち上げもサポート。
- Redis, PostgreSQL, MongoDB, Adminer, Prometheusなどと連携。
主要サービスURL
- GoModel API:
http://localhost:8080 - Adminer(DB UI):
http://localhost:8081 - Prometheus:
http://localhost:9090
OpenAI互換APIエンドポイント
- /v1/chat/completions: チャット補完(ストリーミング対応)
- /v1/responses: OpenAIレスポンスAPI
- /v1/embeddings: テキスト埋め込み
- /v1/files: ファイルアップロード・管理
- /v1/batches: バッチ処理
- /p/{provider}/...: プロバイダーネイティブパススルー
- /admin/api/v1/: 利用状況や監査ログ等の管理API
設定・認証・セキュリティ
- 環境変数とconfig.yamlで柔軟に設定可能。
- GOMODEL_MASTER_KEYを設定しない場合、APIは無認証で危険。
- 本番では強力なキーの設定を強く推奨。
- ストレージはsqlite/postgresql/mongodbから選択。
レスポンスキャッシュ機能
- 2層キャッシュでAPIコストと応答遅延を削減。
- Layer 1: 完全一致キャッシュ(高速・サブミリ秒)
- Layer 2: セマンティックキャッシュ(埋め込み+KNN検索で類似質問もキャッシュヒット)
- Cache-Controlヘッダーでキャッシュバイパスも可能。
- 対応ベクトルDB: qdrant, pgvector, pinecone, weaviate。
今後のロードマップ(0.2.0まで)
- インテリジェントルーティング対応。
- プロバイダー追加:Cohere, Command A, Operational, DeepSeek V3など。
- ユーザー/キー単位の予算管理。
- モデル単価編集・コスト追跡の充実。
- ガードレール機能の強化。
- 全プロバイダーへのパススルー対応。
コミュニティと開発者情報
- Discordコミュニティでユーザー同士の交流。
- オープンソースで活発な開発。
- **Jakub(ワルシャワ拠点のソロファウンダー)**が中心となり開発継続中。
- GoModelは軽量・可搬性・運用のしやすさが特徴。
- LiteLLMの供給チェーン攻撃を受けて、代替案として注目度上昇中。
公式サイト・フィードバック
- 公式サイト: https://gomodel.enterpilot.io
- フィードバック・質問歓迎。
GoModelの特徴まとめ
- 超軽量・高速・多機能なAIゲートウェイ。
- OpenAI互換APIで複数AIプロバイダーを一元管理。
- 環境変数ベースの簡単設定・Docker即導入。
- セマンティックキャッシュ等でコスト削減と高効率運用。
- セキュリティ・運用性・拡張性重視の設計。