Claude API
  1. 消息
Claude API
  • API 参考
    • 入门指南
    • IP 地址
    • 版本
    • 错误
    • 速率限制
    • 客户端 SDK
    • 支持地区
    • 获取帮助
    • 亚马逊 BEDROCK API
      • Amazon Bedrock API
    • Vertex AI
      • Vertex AI API
    • 消息
      • 流式消息
      • 从文本补全迁移
      • 消息示例
      • 消息
        POST
      • 计算消息令牌数
        POST
    • 模型
      • 列出模型
      • 获取模型
    • 消息批次
      • 消息批次示例
      • 创建消息批次
      • 检索消息批次
      • 获取消息批次结果
      • 列出消息批次
      • 取消消息批次
      • 删除消息批次
    • 文本补全(传统)
      • 流式文本补全
      • 提示验证
      • 创建文本补全
    • 管理员 API
      • 组织成员管理
        • 获取用户
        • 列出用户
        • 更新用户
        • 移除用户
      • 组织邀请
        • 获取邀请
        • 列出邀请
        • 创建邀请
        • 删除邀请
      • 工作区管理
        • 获取工作区
        • 列出工作区
        • 更新工作区
        • 创建工作区
        • 归档工作区
      • 工作区成员管理
        • 获取工作区成员
        • 列出工作空间成员
        • 添加工作区成员
        • 更新工作空间成员
        • 删除工作区成员
      • API 密钥
        • 获取API密钥
        • 列出API密钥
        • 更新API密钥
  1. 消息

从文本补全迁移

从文本补全迁移到消息
从文本补全迁移到消息时,请考虑以下变化。

输入和输出#

文本补全和消息之间最大的变化是指定模型输入和接收模型输出的方式。
使用文本补全时,输入是原始字符串:
Python
使用消息时,您需要指定一个输入消息列表,而不是原始提示:
ShorthandExpanded
messages = [
  {"role": "user", "content": "Hello there."},
  {"role": "assistant", "content": "Hi, I'm Claude. How can I help?"},
  {"role": "user", "content": "Can you explain Glycolysis to me?"},
]
每个输入消息都有一个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
{
  "role": "assistant",
  "content": [{"type": "text", "text": " Claude. How can I assist you today?" }],
  ...
}

系统提示#

使用文本补全时,系统提示是通过在第一个\n\nHuman:轮次之前添加文本来指定的:
Python
使用消息时,您需要使用system参数指定系统提示:
Python

模型名称#

消息 API 要求您指定完整的模型版本(例如claude-3-opus-20240229)。
我们之前支持仅指定主要版本号(例如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服务器发送事件。详见文本补全流式处理。
消息可以包含多个不同类型的内容块,因此其流式格式稍微复杂一些。详见消息流式处理。
修改于 2025-02-25 08:41:18
上一页
流式消息
下一页
消息示例
Built with