Claude ProxyはGitHubでホストされているオープンソースのプロキシツールで、開発者がAnthropicのClaude APIリクエストをOpenAIのAPIフォーマットに変換するのを助けるように設計されています。簡単な設定でClaudeモデルをシームレスに扱うことができ、OpenAIがサポートするクライアントとフロントエンドの両方のツールと互換性があります。このツールは、プラットフォーム間で大規模な言語モデルを呼び出す必要がある開発者に適しており、柔軟なモデルマッピングとストリーミング応答のサポートを提供します。tingxifaによって管理されているこのプロジェクトは、Bashスクリプトを使用して実装されており、設定が簡単で、本番環境への迅速なデプロイに適しています。ユーザーはAPIキーとプロキシアドレスを設定するだけで、コマンドラインからクロードモデルを呼び出すことができ、操作は直感的で効率的です。
機能一覧
- クロードAPIリクエストを、OpenAIがサポートするクライアントと互換性のあるOpenAI APIフォーマットに変換します。
- ストリーミングおよびノン・ストリーミング・レスポンスがサポートされ、クロード・クライアントとの完全な互換性が保証される。
- カスタマイズ可能なモデル名による柔軟なモデルマッピングを提供します。
gemini-1.5-pro
). - Bashスクリプトによるプロキシサービスの迅速な導入をサポートします。
- ユーザーがAPIキーとプロキシサービスのアドレスを設定できるようにし、複数のバックエンドモデルに対応。
- 開発者がカスタマイズして拡張できるように、オープンソースで無料で透過的なコードを提供する。
ヘルプの使用
設置プロセス
Claude Proxy を使用するには、ユーザは以下の手順に従ってプロジェクトをローカルまたはサーバ上で設定し、実行する必要があります。以下は詳細なインストールと使用ガイドです:
- プロジェクト・ウェアハウスのクローン
ターミナルを開き、以下のコマンドを実行してプロジェクトをローカルにクローンする:git clone https://github.com/tingxifa/claude_proxy.git
クローニングが完了したら、プロジェクト・ディレクトリに移動する:
cd claude_proxy
- 設定ファイルの編集
プロジェクト・ディレクトリでclaude_proxy.sh
スクリプトファイルを作成するには、テキストエディタ (nano
もしかしたらvim
) 開くnano claude_proxy.sh
スクリプトの "Highlights: What to replace "と書かれた部分を探し、以下の変数を変更する:
API_KEY
APIキーに置き換えてください:API_KEY="your_api_key_here"
OPEN_AI_URL
プロキシサービスのアドレスの設定https://
)、例えばOPEN_AI_URL="api.example.com/v1"
OPEN_MODEL
モデル名を指定する:OPEN_MODEL="gemini-1.5-pro"
保存してエディタを終了します。
- 実行権限の追加
スクリプトに実行可能パーミッションを追加し、実行する:chmod +x claude_proxy.sh
- エージェントサービスの実行
エージェントサービスを開始するスクリプトを実行する:./claude_proxy.sh
起動に成功すると、プロキシ・サービスはClaude APIリクエストの処理に備えてリッスンを開始する。
使用方法
コンフィギュレーションが完了したら、コマンドラインまたはOpenAI APIをサポートするクライアントからクロードモデルを呼び出すことができます。以下はその手順だ:
- コマンドラインコール
ターミナルでcurl
コマンドを使用してプロキシサービスをテストします。例curl http://localhost:port/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your_api_key_here" \ -d '{ "model": "gemini-1.5-pro", "messages": [ {"role": "system", "content": "你是一个智能助手"}, {"role": "user", "content": "请告诉我今天的天气"} ] }'
上記のコマンドはエージェントにリクエストを送信し、エージェントはクロードAPIをOpenAIフォーマットに変換してレスポンスを返す。
- フロントエンドツールの使用
Claude Proxy は OpenAI API をサポートするフロントエンドツール (LibreChat や SillyTavern など) と互換性があります。フロントエンドの設定で、API アドレスをプロキシサービスの URL に設定します (例えばhttp://localhost:port/v1
)にアクセスし、APIキーを入力する。その後、フロントエンドツールはプロキシを通してクロードモデルを呼び出すことができます。 - ストリーミング対応
リアルタイムのストリーミング応答が必要な場合(チャットアプリケーションなど)、フロントエンドまたはクライアントがサーバ送信イベント(SSE)をサポートしていることを確認してください。エージェントは、クロードクライアントとの互換性を維持するために、自動的にストリーミングデータを処理します。
注目の機能操作
- モデルマッピング
ユーザーは、必要に応じてモデルのマッピングをカスタマイズすることができる。例えば、クロードの俳句モデルをgpt-4o-mini
またはSonnetモデルをgemini-1.5-pro
.修正OPEN_MODEL
変数を実装できる。例OPEN_MODEL="gpt-4o"
スクリプトを再実行した後、エージェントは指定されたモデルを使用してリクエストを処理する。
- 複数のバックエンドをサポート
Claude Proxyは、複数のバックエンドモデル(OpenAI、Gemini、ローカルモデルなど)への接続をサポートしています。バックエンドのOPEN_AI_URL
歌で応えるAPI_KEY
ユーザーは異なるAPIプロバイダーを切り替えることができる。例えば、ローカルのOllamaモデルに接続する:OPEN_AI_URL="http://localhost:11434/v1" API_KEY="dummy-key"
- デバッグとロギング
スクリプトを実行すると、エージェントはリクエストとレスポンスの詳細を示すログをターミナルに出力します。問題が発生した場合は、ログをチェックして、無効なAPIキーや間違ったモデル名などのエラーを特定します。
ほら
- ネットワーク環境が安定しており、プロキシサービスが外部APIへのアクセスを必要とすることを確認する。
- APIキーは、漏洩を避けるために適切に保管する必要がある。
- ローカルモデル(Ollamaなど)を使用する場合は、ローカルサーバーが起動しており、正しいポートでリッスンしていることを確認してください。
以上の手順で、ユーザーはClaude Proxyを素早く設定・実行し、Claude APIをOpenAI APIにシームレスに変換することができます。
アプリケーションシナリオ
- クロスプラットフォームのモデルコール
OpenAI APIをサポートするツールでClaudeモデルを使いたい開発者は、Claude ProxyによってAPIリクエストをOpenAIフォーマットに変換し、フロントエンドのコードを変更することなくClaudeを呼び出すことができます。 - 現地開発テスト
ローカル環境でクロードモデルのパフォーマンスをテスト。開発者は、Ollamaのようなローカルモデルに接続するエージェントを設定し、低コストで開発やデバッグを行うことができます。 - チャットアプリケーションの統合
チャットアプリの開発者はClaudeモデルを統合したいが、フロントエンドはOpenAI APIしかサポートしていない。 Claude Proxyは、リアルタイムのチャットをスムーズに実行するためのプロキシサービスを提供する。 - モデルの切り替えと最適化
組織は、コストや性能要件に基づいて(例えばClaudeからGeminiへ)モデルを切り替える必要がありますが、Claude Proxyのモデルマッピング機能により、迅速な切り替えと開発コストの削減が可能になります。
品質保証
- Claude Proxyはどのようなモデルをサポートしていますか?
以下のようなOpenAI互換モデルをサポートする。gpt-4o
そしてgemini-1.5-pro
その他ユーザーはOPEN_MODEL
可変カスタムモデル。 - APIキーの漏洩にどう対処するか?
鍵が漏洩した場合は、直ちにAPIキーを新しいものに交換してください。claude_proxy.sh
ミディアム・アップデートAPI_KEY
変数。 - プロキシサービスはストリーミング応答をサポートしていますか?
はい、Claude Proxyはストリーミングとノン・ストリーミング・レスポンスをサポートし、ClaudeクライアントのすべてのSSE機能と互換性があります。 - AnthropicのAPIキーは必要ですか?
そうとは限りません。他のバックエンド(OpenAIやGeminiなど)を使用している場合は、適切なバックエンドのAPIキーを指定するだけです。