claude-nvidia-proxy — Claude向けNVIDIAプロキシ(Go実装)

AI/ML

概要

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互換のエンドポイントを提供します(軽量で導入が容易なブリッジ実装)。

GitHub

リポジトリの統計情報

  • スター数: 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プロキシ。

リポジトリ情報:

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_url default https://integr...