のLLM クロード CodeはGitHubでホストされているオープンソースのプロキシツールで、chachakoによって開発され、CogAgent/claude-code-proxyからフォークされている。 クロード・コード LiteLLMは、Proサブスクリプションなしで、LiteLLMがサポートする言語モデル(OpenAI、Vertex AI、xAIのモデルなど)を使用できます。簡単な環境変数設定で、ユーザーは複雑なタスク(ソネット)や補助タスク(俳句)に異なるモデルを割り当てて、パフォーマンスとコストを最適化することができます。このプロジェクトはPythonとLiteLLMをベースにしており、uvを使って依存関係を管理し、AI開発者、Claude Codeユーザー、オープンソース愛好家が簡単にインストールできるようになっている。ドキュメントはわかりやすく、コミュニティは活発で、詳細な設定とデバッグのガイドが用意されている。
機能一覧
- LiteLLM互換の言語モデル(OpenAI、Vertex AI、xAIなど)をクロードコードで使用できるようになりました。
- タスク割り当てを最適化するために、大規模モデル(ソネット)と小規模モデル(俳句)に独立したルーティング設定を提供します。
- カスタムAPIキーとエンドポイントをサポートし、複数のモデルプロバイダと互換性があります。
- LiteLLMを使用して、APIリクエストとレスポンスを自動的に変換し、以下の互換性を確保します。 アンソロピック APIフォーマット対応。
- 統合されたuvツールは、プロジェクトの依存関係の管理を自動化し、展開プロセスを簡素化します。
- リクエストとレスポンスの内容を記録する詳細なロギング機能を提供し、デバッグや迅速なエンジニアリング分析を容易にします。
- ローカルモデルサーバーをサポートし、カスタムAPIエンドポイントの設定が可能。
- オープンソースプロジェクトで、ユーザーがコードを変更したり、機能に貢献したりすることをサポートする。
ヘルプの使用
設置プロセス
クロードコードで任意の LLM を使用するには、以下のインストールと設定の手順が必要です:
- クローンプロジェクト
ターミナルで以下のコマンドを実行し、プロジェクトをローカルにクローンする:git clone https://github.com/chachako/freecc.git cd freecc
2. **安装 uv 工具**
项目使用 uv 管理 Python 依赖。若未安装 uv,运行以下命令:
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
uvは pyproject.toml
手動でインストールすることなく、依存関係を自動的にインストールします。
3. 環境変数の設定
プロジェクト採用 .env
ファイルをコピーして、モデルのルーティングとAPIキーを設定します。サンプルファイルをコピーします:
cp .env.example .env
テキストエディタ(nanoなど)を使って .env
以下の変数を設定する:
- モデル・ルーティングの設定::
BIG_MODEL_PROVIDER
大規模なモデル・プロバイダー(例.openai
そしてvertex
そしてxai
).BIG_MODEL_NAME
大きなモデル名(例gpt-4.1
そしてgemini-1.5-pro
).BIG_MODEL_API_KEY
ビッグモデルのAPIキー。BIG_MODEL_API_BASE
(オプション) 大きなモデルのためのカスタム API エンドポイント。SMALL_MODEL_PROVIDER
ミニチュア・プロバイダー。SMALL_MODEL_NAME
例:ミニチュアの名前。gpt-4o-mini
).SMALL_MODEL_API_KEY
ミニチュア用APIキー。SMALL_MODEL_API_BASE
(オプション) 小規模モデル用のカスタム API エンドポイント。
- グローバルプロバイダーの設定(バックアップとして、あるいは直接のリクエストとして):
OPENAI_API_KEY
そしてXAI_API_KEY
そしてGEMINI_API_KEY
そしてANTHROPIC_API_KEY
各プロバイダのAPIキー。OPENAI_API_BASE
そしてXAI_API_BASE
カスタム API エンドポイント。
- バーテックスAI専用コンフィギュレーション::
VERTEX_PROJECT_ID
Google Cloud プロジェクト ID.VERTEX_LOCATION
頂点AI領域(例えばus-central1
).- Google Apps デフォルト認証情報(ADC)を設定します:
gcloud auth application-default login
または環境変数
GOOGLE_APPLICATION_CREDENTIALS
クレデンシャルファイルを指す。
- ログ設定::
FILE_LOG_LEVEL
ログファイルclaude-proxy.log
) レベル(デフォルト)DEBUG
).CONSOLE_LOG_LEVEL
コンソールのログレベル(デフォルト)INFO
).LOG_REQUEST_BODY
に設定する。true
プロンプトの分析を容易にするため、リクエストの内容を記録する。LOG_RESPONSE_BODY
に設定する。true
模範解答の内容を記録する。
典型例 .env
コンフィギュレーション:
BIG_MODEL_PROVIDER="vertex"
BIG_MODEL_NAME="gemini-1.5-pro-preview-0514"
BIG_MODEL_API_KEY="your-vertex-key"
VERTEX_PROJECT_ID="your-gcp-project-id"
VERTEX_LOCATION="us-central1"
SMALL_MODEL_PROVIDER="openai"
SMALL_MODEL_NAME="gpt-4o-mini"
SMALL_MODEL_API_KEY="sk-xxx"
SMALL_MODEL_API_BASE="https://xyz.llm.com/v1"
FILE_LOG_LEVEL="DEBUG"
LOG_REQUEST_BODY="true"
- オペレーション・サーバー
設定が完了したら、プロキシサーバーを起動する:uv run uvicorn server:app --host 127.0.0.1 --port 8082 --reload
パラメトリック
--reload
オプション。現像時の自動リロード用。 - 接続クロードコード
クロードコードをインストールする(まだインストールされていない場合):npm install -g @anthropic-ai/claude-code
環境変数の設定とエージェントへの接続
export ANTHROPIC_BASE_URL=http://localhost:8082 && claude
機能操作
Any LLM in Claude Code の核心は、Claude Code のリクエストをプロキシ経由でユーザーが設定したモデルにルーティングすることです。以下はこの仕組みの詳細です:
- モデル・ルーティング
このプロジェクトは、クロード・コードのsonnet
(複雑なコード生成などの主な作業)とhaiku
(素早い文法チェックのような補助タスク)は、異なるモデルを構成する。例えば- コンフィグ
BIG_MODEL_PROVIDER="vertex"
歌で応えるBIG_MODEL_NAME="gemini-1.5-pro"
意志sonnet
高性能モデルへのルーティング。 - コンフィグ
SMALL_MODEL_PROVIDER="openai"
歌で応えるSMALL_MODEL_NAME="gpt-4o-mini"
意志haiku
コスト削減のため、軽量モデルへの移行を図る。
ユーザーは.env
ドキュメントのモデルやプロバイダーを柔軟に切り替えることができます。
- コンフィグ
- APIリクエストの変換
このプロジェクトでは、LiteLLMを通じてAPIフォーマット変換を以下のフローで実装している:- クロード・コードは、アントロピック形式のリクエスト(例えば、次のようなコール)を送る。
claude-3-sonnet-20240229
). - 代理人は、以下の根拠に基づいて行動している。
.env
コンフィギュレーションは、リクエストをターゲットモデルのフォーマット(例えばOpenAIのgpt-4.1
). - 設定されたAPIキーとエンドポイントを注入してリクエストを送信する。
- モデルの応答をAnthropicフォーマットに変換し、クロードコードに返します。
ユーザーが手動で操作する必要はなく、変換プロセスは完全に自動化されています。
- クロード・コードは、アントロピック形式のリクエスト(例えば、次のようなコール)を送る。
- ロギングとデバッグ
プロジェクトは詳細なログ機能を提供する:- セットアップ
LOG_REQUEST_BODY="true"
クロード・コードのリクエスト内容は、プロンプト・プロジェクトの分析を容易にするために記録される。 - セットアップ
LOG_RESPONSE_BODY="true"
そして、モデルの応答を記録し、出力が正しいことを確認する。 - ログは
claude-proxy.log
を使用する。FILE_LOG_LEVEL
歌で応えるCONSOLE_LOG_LEVEL
ログレベルを制御する。
問題が発生した場合は、ログを確認するか、次のことを確認してください。.env
のキーとエンドポイント。
- セットアップ
- 現地モデルのサポート
ローカルモデルサーバーのサポート。例えばSMALL_MODEL_API_BASE="http://localhost:8000/v1"
に置くことができる。haiku
ローカルモデル(LM Studio など)へのルーティング。ローカルモデルはAPIキーを必要とせず、プライバシーに配慮したシナリオに適しています。
ほら
- ネットワーク接続が安定しており、APIキーが有効であることを確認する。
- バーテックスAIのユーザーを適切に設定する必要があります。
VERTEX_PROJECT_ID
そしてVERTEX_LOCATION
とADCがある。 - GitHubのプロジェクトページ(https://github.com/chachako/freecc)に定期的にアクセスし、アップデートやコミュニティサポートを確認してください。
- ログには機密情報が含まれている可能性があるため、デバッグ後はログを無効にすることを推奨する。
LOG_REQUEST_BODY
歌で応えるLOG_RESPONSE_BODY
.
アプリケーションシナリオ
- クロードコードの柔軟性を高める
のような高性能モデルを使用するには、クロード・プロのサブスクリプションは必要ありません。 ジェミニ 1.5 Pro)や、コンテキストウィンドウを拡張したりコストを削減したりする低価格モデル(gpt-4o-miniなど)がある。 - モデルの性能比較
開発者は、エージェントを通じてモデル(OpenAI、Vertex AIなど)を素早く切り替え、クロードコードで異なるモデルのパフォーマンスをテストし、開発プロセスを最適化することができます。 - ローカルモデルの展開
企業や研究者は、データのプライバシーを保護するためにローカル・モデル・サーバーを設定することができ、ローカライズされたAIアプリケーション・シナリオに適している。 - オープンソースコミュニティへの参加
オープンソースプロジェクトであるため、開発者はGitHubを通じてコードを提出し、機能の最適化や問題の修正を行うことができ、PythonやAI開発を学ぶ初心者に適している。
品質保証
- Any LLM in Claude Codeはどのようなモデルに対応していますか?
OpenAI、Vertex AI、xAI、Anthropicなど、すべてのLiteLLM互換モデルをサポート。.env
構成モデルとプロバイダー。 - コンフィギュレーション・エラーにはどう対処すればよいですか?
調べるclaude-proxy.log
ログを確認し、APIキー、エンドポイント、モデル名をチェックする。APIキー、エンドポイント、モデル名を確認する。FILE_LOG_LEVEL="DEBUG"
詳細なログを取得する。 - クロード・プロのサブスクリプションが必要ですか?
必須ではありません。このプロジェクトは、無料ユーザーがサブスクリプションの制限を回避して他のモデルを代理で使用することをサポートします。 - リモートサーバーに展開できますか?
キャンウィル--host
に設定する。0.0.0.0
ポート(例えば8082
) 開く - コードを提供するには?
プルリクエストを提出するには、https://github.com/chachako/freecc。まずは貢献のガイドラインを読むことをお勧めします。