舊版 API

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

Anthropic API 執行基本的提示詞清理和驗證,以確保您的提示詞能夠為 Claude 正確格式化。

在創建文本完成時,如果您的提示詞不符合指定格式,API 會首先嘗試進行輕度清理(例如,移除尾隨空格)。這種具體行為可能會改變,我們強烈建議您按照推薦的交替使用 \n\nHuman:\n\nAssistant: 的方式來格式化您的提示詞。

然後,API 將根據以下條件驗證您的提示詞:

  • 提示詞中的第一個對話輪次必須是 \n\nHuman: 輪次
  • 提示詞中的最後一個對話輪次必須是 \n\nAssistant: 輪次
  • 提示詞的長度必須小於 100,000 - 1 個標記

範例

以下提示詞將導致 API 錯誤

Python
# 缺少 "\n\nHuman:" 和 "\n\nAssistant:" 輪次
prompt = "Hello, world"

# 缺少 "\n\nHuman:" 輪次
prompt = "Hello, world\n\nAssistant:"

# 缺少 "\n\nAssistant:" 輪次
prompt = "\n\nHuman: Hello, Claude"

# "\n\nHuman:" 輪次不是第一個
prompt = "\n\nAssistant: Hello, world\n\nHuman: Hello, Claude\n\nAssistant:"

# "\n\nAssistant:" 輪次不是最後一個
prompt = "\n\nHuman: Hello, Claude\n\nAssistant: Hello, world\n\nHuman: How many toes do dogs have?"

# "\n\nAssistant:" 只有一個 "\n"
prompt = "\n\nHuman: Hello, Claude \nAssistant:"

以下格式目前被 API 接受並自動清理,但您不應依賴這種行為,因為它可能會在未來改變:

Python
# "\n\nHuman:" 前沒有前導 "\n\n"
prompt = "Human: Hello, Claude\n\nAssistant:"

# "\n\nAssistant:" 後有尾隨空格
prompt = "\n\nHuman: Hello, Claude:\n\nAssistant: "