数据流
数据流
当进行 API 请求时,您可以通过设置"stream": true
来增量流式传输响应,使用服务器发送的事件(SSE)。如果您使用我们的客户端库,解析这些事件将自动处理。然而,如果您正在构建直接的 API 集成,您将需要自己处理这些事件。
示例
请求
curl --request POST \
--url 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
}
'
响应
event: completion
data: {"completion": " Hello", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"completion": "!", "stop_reason": null, "model": "claude-2.0"}
event: ping
data: {}
event: completion
data: {"completion": " My", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"completion": " name", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"completion": " is", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"completion": " Claude", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"completion": ".", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"completion": "", "stop_reason": "stop_sequence", "model": "claude-2.0"}
事件
每个事件包括一个命名的事件类型和关联的JSON数据。
🚧
处理未知的事件类型
目前我们发送
completion
、ping
和error
事件类型,但这个列表可能会随着时间推移扩展,您的集成必须忽略任何意外的事件类型。
我们可能会在事件流中偶尔发送错误。例如,在高使用量期间,您可能会收到一个overloaded_error
,这通常对应于非流式上下文中的HTTP 529:
示例错误
event: completion
data: {"completion": " Hello", "stop_reason": null, "model": "claude-2.0"}
event: error
data: {"error": {"type": "overloaded_error", "message": "Overloaded"}}
老版本API
最后修改时间: 1 年前