claude-nvidia-proxy — Claude向けNVIDIAプロキシ(Go実装)
概要
claude-nvidia-proxyは、Anthropic/ClaudeスタイルのAPI(POST /v1/messages)を受け付け、内部でOpenAI Chat Completionsフォーマットに変換してNVIDIAのモデルAPIへ転送するシンプルなGo製プロキシです。NVIDIAの公開ページ(https://build.nvidia.com/explore/discover)でアカウント登録・APIキーを取得し、config.jsonでnvidia_urlやキー等を設定後、ローカルで3001番ポートをリッスンして動作します。内部的にはリクエストのマッピングとヘッダや認証の付与を行い、z-ai/glm4.7やminimaxai/minimax-m2.1などの非公開モデルに対してClaude互換のエンドポイントを提供します(軽量で導入が容易なブリッジ実装)。
リポジトリの統計情報
- スター数: 10
- フォーク数: 1
- ウォッチャー数: 10
- コミット数: 2
- ファイル数: 4
- メインの言語: Go
主な特徴
- Claude互換インターフェースの提供: /v1/messages を受け付け、Anthropic/Claude 形式のリクエストを想定。
- OpenAI Chat Completions形式への変換: ClaudeスタイルのペイロードをChat Completions互換に変換してNVIDIAへ送信。
- NVIDIAモデルへのプロキシ: config.jsonで指定したNVIDIAエンドポイント(nvidia_url)へ中継し、非公開モデル(例: z-ai/glm4.7)を利用可能にする。
- 軽量Go実装: 単一バイナリで動作し、ローカルまたはサーバー上で簡単にデプロイ可能(デフォルトポート3001)。
技術的なポイント
このプロジェクトは「プロトコル変換」と「認証/中継」を中心に設計されています。入力はAnthropic風の /v1/messages(会話履歴や指示を含むJSON)で、サーバーは受信したメッセージを解析してOpenAIのChat Completions形式(messages配列、roleなど)に変換します。変換では、Claude特有のメッセージ形式やメタデータをOpenAI互換のrole(user/system/assistant)へマッピングするロジックが必要です。次に、config.jsonで指定されたnvidia_urlとAPIキーを用いてHTTPクライアント経由でNVIDIAのAPIへリクエストを送ります。応答は受け取ってそのまま(または必要に応じてフォーマット調整して)Claude互換のレスポンス構造へ戻し、クライアントに返却します。
実装はGoで書かれており、軽量なHTTPハンドラとJSON操作が中心です。エラーハンドリング、タイムアウト設定、ヘッダーの挿入(Authorizationなど)、およびレスポンス・ストリーミングの扱いが実用上の重要点です。さらに、NVIDIA側が要求するパラメータ(モデル名や推論設定)をconfig.jsonで柔軟に指定できるため、複数モデルやエンドポイントに対応可能です。セキュリティ面ではAPIキーの取り扱いとネットワークアクセス制御が重要で、プロダクション用途ではHTTPS、認証層の追加、ロギングの制御(機密データが出力されないように)を検討する必要があります。
(以上はREADMEの記載と実装方針からの妥当な解釈で、細部はconfig.jsonやmain.goの実装を確認してください。)
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file(導入手順と使い方の説明)
- config.json: file(NVIDIAのURLやAPIキー、モデル指定などの設定ファイル)
- go.mod: file(依存管理)
- main.go: file(HTTPサーバー、ルーティング、変換ロジックの実装)
各ファイルの役割(補足):
- README.md: 起動手順(アカウント作成、APIキー取得、config.json編集、ポート3001での実行)を記載。
- config.json: nvidia_url(例: https://integr… といったNVIDIAインテグレーションURL)、モデル名、キー等を記述。環境ごとに編集して使う想定。
- main.go: POST /v1/messages を受け、リクエスト変換→NVIDIA呼び出し→レスポンス返却のフローを実装。簡潔な構成で拡張しやすい。
まとめ
Claude互換インターフェースをNVIDIAのモデル群へ橋渡しするシンプルで実用的なGoプロキシ。
リポジトリ情報:
- 名前: claude-nvidia-proxy
- 説明: an Nvidia proxy for claude code
- スター数: 10
- 言語: Go
- URL: https://github.com/zhangrr/claude-nvidia-proxy
- オーナー: zhangrr
- アバター: https://avatars.githubusercontent.com/u/9876191?v=4
READMEの抜粋:
claude-nvidia-proxy (Go)
Go https://build.nvidia.com/explore/discover, register an account, and generate an API key. NVIDIA provides two hidden models, z-ai/glm4.7 and minimaxai/minimax-m2.1 Then, configure the config.json file and run the program, ensuring it listens on port 3001.
Expose POST /v1/messages (Anthropic/Claude style), convert to OpenAI Chat Completions, and proxy to NVIDIA (configured via config.json).
Config
Edit config.json:
nvidia_urldefaulthttps://integr...