Streaming Text Completions
API Lama
API Text Completions adalah API lama. Model dan fitur di masa depan akan memerlukan penggunaan API Messages, dan kami merekomendasikan untuk bermigrasi sesegera mungkin.
Saat membuat Text Completion, Anda dapat mengatur "stream": true
untuk secara bertahap melakukan streaming respons menggunakan server-sent events (SSE). Jika Anda menggunakan pustaka klien kami, parsing event-event ini akan ditangani secara otomatis untuk Anda. Namun, jika Anda membangun integrasi API langsung, Anda perlu menangani event-event ini sendiri.
Contoh
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
}
'
event: completion
data: {"type": "completion", "completion": " Halo", "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": " Nama", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": " saya", "stop_reason": null, "model": "claude-2.0"}
event: completion
data: {"type": "completion", "completion": " adalah", "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"}
Event
Setiap event mencakup tipe event bernama dan data JSON terkait.
Tipe event: completion
, ping
, error
.
Tipe event Error
Kami mungkin sesekali mengirim error dalam aliran event. Misalnya, selama periode penggunaan tinggi, Anda mungkin menerima overloaded_error
, yang biasanya sesuai dengan HTTP 529 dalam konteks non-streaming:
event: completion
data: {"completion": " Halo", "stop_reason": null, "model": "claude-2.0"}
event: error
data: {"error": {"type": "overloaded_error", "message": "Overloaded"}}
Versi API yang Lebih Lama
Jika Anda menggunakan versi API sebelum 2023-06-01
, bentuk respons akan berbeda. Lihat versioning untuk detailnya.