Messages ネイティブ対話インターフェース
Claude Messages のリクエストヘッダー、system と messages の違い、コンテンツブロック、終了理由。
Claude Code、Anthropic SDK、および Claude のネイティブコンテンツブロックを保持したいアプリケーションは POST https://1zheai.com/v1/messages を使用します。SDK Base URL には https://1zheai.com を設定します。
最小リクエスト
「最小リクエスト」というセクションまずこのサイトの API キーの環境変数 ONEZHE_API_KEY を設定し、次を実行します:
curl --fail-with-body --connect-timeout 10 --max-time 120 \ https://1zheai.com/v1/messages \ -H "x-api-key: $ONEZHE_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-5-5", "max_tokens": 256, "system": "请用简短的中文回答。", "messages": [{"role": "user", "content": "什么是域名解析?"}] }'リクエスト構造
「リクエスト構造」というセクション| フィールド | 型 | 使用方法 |
|---|---|---|
model | string | 必須。API キーで利用可能な Claude モデルを選択 |
max_tokens | integer | 必須。出力上限。選択したモデルの制限に合わせて設定 |
messages | array | 必須。時系列順に user と assistant のメッセージを送信 |
system | string またはコンテンツブロックの配列 | 任意。システム指示はトップレベルに置き、role: system メッセージは使用しない |
stream | boolean | 任意。コンテンツブロックの差分をストリーミングで読み取る |
tools | array | 任意。ツール名、用途、入力スキーマを宣言 |
thinking、キャッシュ制御、beta パラメータは、具体的なモデルと上流のサポート状況によります。まず通常のテキストで検証し、必要に応じて追加してください。すべてのモデルを同じパラメータ群として扱わないでください。
コンテンツブロックの読み取り
「コンテンツブロックの読み取り」というセクション返される content は配列であり、テキスト、ツールリクエスト、その他のコンテンツブロックが同時に含まれる場合があります。無条件に content[0].text を読み取らないでください。たとえば Anthropic Python SDK を使用する場合:
for block in message.content: if block.type == "text": print(block.text)ここでの message は Anthropic SDK チュートリアル の client.messages.create(...) から取得しています。
stop_reason | アプリケーションでの処理 |
|---|---|
end_turn | 今回の回答が終了 |
max_tokens | 出力が上限で打ち切られており、完全な回答として扱えない |
tool_use | ツールリクエストを確認し、許可されたツールを実行して結果を返送 |
| その他の値 | レスポンスを保持し、選択したモデルのプロトコルに従って処理。テキスト完了とは限らないと仮定しない |
ツール呼び出しループでは、まず完全な assistant コンテンツブロックを履歴に追加し、次に user コンテンツ内の tool_result で結果を返送します。tool_use_id は元のリクエストに対応していなければなりません。ツールリクエストをそのまま通常のテキストに変換しないでください。
マルチターンとストリーミング
「マルチターンとストリーミング」というセクション毎回、保持する必要のある履歴を送信してください。インターフェース自体はアプリケーションの代わりに会話を保存しません。ストリーミングでは message_stop がメッセージの終了を示します。部分的なテキストを受信しただけではリクエストが完了したことを意味しません。詳細はストリーミング出力 を参照してください。
プロトコルの詳細は Anthropic Messages 使用説明 を参照してください。このサイトの拡張パラメータが利用可能かどうかは、モデルカタログと実際のレスポンスによります。
