テキスト補完
ストリーミングテキスト補完
テキスト補完を作成する際、"stream": true
を設定することで、サーバーセントイベント (SSE)を使用してレスポンスを段階的にストリーミングできます。クライアントライブラリを使用している場合、これらのイベントの解析は自動的に処理されます。ただし、APIとの直接統合を構築している場合は、これらのイベントを自分で処理する必要があります。
例
Request
curl https://api.anthropic.com/v1/complete \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--data '
{
"model": "claude-2",
"prompt": "\n\nHuman: Hello, world!\n\nAssistant:",
"max_tokens_to_sample": 256,
"stream": true
}
'
Response
event: completion
data: {"type": "completion", "completion": " こんにちは", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": "!", "stop_reason": null, "model": "claude-2.0"}
event: ping
data: {"type": "ping"}
event: completion
data: {"type": "completion", "completion": " 私の", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": "名前は", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": " ", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": "Claude", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": "です。", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": "", "stop_reason": "stop_sequence", "model": "claude-2.0"}
イベント
各イベントには、名前付きのイベントタイプと関連するJSONデータが含まれています。
イベントタイプ:completion
、ping
、error
。
エラーイベントタイプ
イベントストリームでエラーを送信する場合があります。たとえば、使用率が高い期間中に、overloaded_error
を受け取る可能性があります。これは、非ストリーミングコンテキストではHTTP 529に通常対応します。
エラーの例
event: completion
data: {"completion": " こんにちは", "stop_reason": null, "model": "claude-2.0"}
event: error
data: {"error": {"type": "overloaded_error", "message": "オーバーロード"}}
古いAPIバージョン
2023-06-01
より前のAPIバージョンを使用している場合、レスポンスの形式が異なります。詳細については、バージョニングを参照してください。