舊版 API

文字補全 API 是一個舊版 API。未來的模型和功能將需要使用 Messages API,我們建議您盡快遷移

在建立文字補全時,您可以設定 "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": " Hello", "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": " My", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": " name", "stop_reason": null, "model": "claude-2.0"}

event: completion
data: {"type": "completion", "completion": " is", "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 資料。

事件類型:completionpingerror

錯誤事件類型

我們可能偶爾會在事件串流中發送錯誤。例如,在高使用量期間,您可能會收到 overloaded_error,這在非串流環境中通常對應於 HTTP 529:

Example error
event: completion
data: {"completion": " Hello", "stop_reason": null, "model": "claude-2.0"}

event: error
data: {"error": {"type": "overloaded_error", "message": "Overloaded"}}

較舊的 API 版本

如果您使用的是 2023-06-01 之前的 API 版本,回應的形式會有所不同。詳情請參閱版本控制