文本补全 (Legacy)
从文本补全迁移
从文本补全迁移到消息
输入和输出
文本补全和消息之间最大的变化是您指定模型输入和从模型接收输出的方式。
使用文本补全时,输入是原始字符串:
Python
使用消息时,您指定输入消息列表而不是原始提示:
每个输入消息都有一个role
和content
。
角色名称
文本补全API期望交替的\n\nHuman:
和\n\nAssistant:
轮次,但消息API期望user
和assistant
角色。您可能会看到文档中提到”human”或”user”轮次。这些指的是同一个角色,今后将使用”user”。
使用文本补全时,模型生成的文本在响应的completion
值中返回:
Python
使用消息时,响应是content
值,它是内容块的列表:
Python
为Claude预填充回答
使用文本补全时,您可以预填充Claude回答的一部分:
Python
使用消息时,您可以通过让最后一个输入消息具有assistant
角色来实现相同的结果:
Python
这样做时,响应content
将从最后一个输入消息content
继续:
JSON
系统提示
使用文本补全时,系统提示通过在第一个\n\nHuman:
轮次之前添加文本来指定:
Python
使用消息时,您使用system
参数指定系统提示:
Python
模型名称
消息API要求您指定完整的模型版本(例如claude-sonnet-4-20250514
)。
我们之前支持仅指定主版本号(例如claude-2
),这会导致自动升级到次要版本。但是,我们不再推荐这种集成模式,消息也不支持它。
停止原因
文本补全总是有以下之一的stop_reason
:
"stop_sequence"
:模型要么自然结束其轮次,要么生成了您的自定义停止序列之一。"max_tokens"
:要么模型生成了您指定的max_tokens
内容,要么达到了其绝对最大值。
消息有以下值之一的stop_reason
:
"end_turn"
:对话轮次自然结束。"stop_sequence"
:生成了您指定的自定义停止序列之一。"max_tokens"
:(不变)
指定最大令牌数
- 文本补全:
max_tokens_to_sample
参数。无验证,但每个模型有上限值。 - 消息:
max_tokens
参数。如果传递的值高于模型支持的值,返回验证错误。
流式格式
在文本补全中使用"stream": true
时,响应包括completion
、ping
和error
服务器发送事件中的任何一个。详见文本补全流式传输。
消息可以包含不同类型的多个内容块,因此其流式格式稍微复杂一些。详见消息流式传输。