텍스트 완성
텍스트 완성 스트리밍
텍스트 완성을 생성할 때 "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: 안녕하세요!\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": 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에 해당합니다:
Example error
event: completion
data: {"completion": " 안녕", "stop_reason": null, "model": "claude-2.0"}
event: error
data: {"error": {"type": "overloaded_error", "message": "과부하"}}
이전 API 버전
2023-06-01
이전의 API 버전을 사용하는 경우 응답 형식이 다릅니다. 자세한 내용은 버전 관리를 참조하세요.