Anthropic SDK の接続
Anthropic 公式 SDK の base_url を https://1zheai.com に設定します。キャッシュ、ストリーミング、ツール呼び出し、thinking に対応します。
Anthropic 公式 SDK はネイティブの /v1/messages を使用し、Claude のすべてのパラメータをそのまま利用できます。変更が必要なのは base_url と api_key のみです。
インストール
「インストール」というセクションpip install anthropicnpm install @anthropic-ai/sdk呼び出し
「呼び出し」というセクションimport osimport anthropic
client = anthropic.Anthropic( base_url="https://1zheai.com", api_key=os.environ["ONEZHE_API_KEY"],)
message = client.messages.create( model="claude-sonnet-5-5", max_tokens=1024, messages=[{"role": "user", "content": "用一句话介绍你自己"}],)print(message.model)print(message.content[0].text)print(message.usage)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ baseURL: "https://1zheai.com", apiKey: process.env.ONEZHE_API_KEY,});
const message = await client.messages.create({ model: "claude-sonnet-5-5", max_tokens: 1024, messages: [{ role: "user", content: "用一句话介绍你自己" }],});console.log(message.model);console.log(message.content);console.log(message.usage);base_url にルートアドレスを指定し、/v1 を追加しないでください。
ストリーミング出力
「ストリーミング出力」というセクションwith client.messages.stream( model="claude-sonnet-5-5", max_tokens=1024, messages=[{"role": "user", "content": "写一首四行的诗"}],) as stream: for text in stream.text_stream: print(text, end="", flush=True)const stream = client.messages.stream({ model: "claude-sonnet-5-5", max_tokens: 1024, messages: [{ role: "user", content: "写一首四行的诗" }],});stream.on("text", (text) => process.stdout.write(text));await stream.finalMessage();キャッシュ付き呼び出し
「キャッシュ付き呼び出し」というセクション長く固定された内容を system に入れ、cache_control を追加します:
message = client.messages.create( model="claude-sonnet-5-5", max_tokens=1024, system=[ { "type": "text", "text": LONG_PROJECT_CONTEXT, # 每次都一样的长文本 "cache_control": {"type": "ephemeral"}, } ], messages=[{"role": "user", "content": "根据上面的说明回答:..."}],)print(message.usage.cache_creation_input_tokens, message.usage.cache_read_input_tokens)2回目の呼び出しで cache_read_input_tokens が 0 より大きければヒットです。詳細は Prompt Caching を参照してください。
環境変数の使用
「環境変数の使用」というセクション公式 SDK は ANTHROPIC_BASE_URL と ANTHROPIC_API_KEY を読み取ります。クライアント構築時にパラメータを渡さなくても構いません:
export ANTHROPIC_BASE_URL="https://1zheai.com"export ANTHROPIC_API_KEY="sk-你的Key"次にクライアント構築時にパラメータを渡しません:
client = anthropic.Anthropic() # 自动读取上面两个变量このマシンで Claude Code もこの2つの変数を読み取る場合、それらは一緒に 1折AI に切り替わります。通常、これが望む結果です。
よくある問題
「よくある問題」というセクション404?
base_url に /v1 を余計に書き込んでいます。Anthropic SDK は /v1/messages を自動的に組み立てます。
401?
API キー(API key)を確認してください。また、環境に ANTHROPIC_AUTH_TOKEN(以前 Claude Code に設定した古い値など)が同時に存在する場合、SDK もそれを読み取ります。古い値を削除してから再試行してください。
リクエストとレスポンスの構造
「リクエストとレスポンスの構造」というセクションsystem、コンテンツブロック、停止理由を照会する場合は、Messages インターフェースの詳細 を参照してください。完全なプログラムでは、コンテンツブロックの型に応じてテキストを読み取り、最初のブロックが常に text であると仮定しないでください。
