Documentation Index
Fetch the complete documentation index at: https://docs-model.skyengine.com.cn/llms.txt
Use this file to discover all available pages before exploring further.
Claude 结构化输出示例
以下示例展示如何使用Claude的 /v1/messages 接口获取JSON格式的结构化输出,适用于需要机器可读格式的场景。
快速开始
只需要替换 <API-KEY> 为你的实际API密钥即可运行。
curl -X POST "https://model-api.skyengine.com.cn/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API-KEY>" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-3-7-sonnet-20250219",
"max_tokens": 1000,
"messages": [
{
"role": "user",
"content": "分析苹果公司的基本信息,包括公司名称、成立年份、创始人、主要业务等,请以JSON格式返回,格式如下:{\"company_name\": \"公司名称\", \"founded_year\": 年份, \"founders\": [\"创始人列表\"], \"main_business\": [\"主要业务\"], \"headquarters\": \"总部位置\"}"
}
]
}'
结果示例
{
"id": "83ffa096996a40d1b70c8611766fe3ab",
"content": [
{
"text": "{\n \"company_name\": \"苹果公司 (Apple Inc.)\",\n \"founded_year\": 1976,\n \"founders\": [\"史蒂夫·乔布斯\", \"史蒂夫·沃兹尼亚克\", \"罗纳德·韦恩\"],\n \"main_business\": [\"消费电子产品\", \"软件服务\", \"数字内容服务\"],\n \"headquarters\": \"美国加利福尼亚州库比蒂诺\",\n \"market_cap\": \"约3万亿美元(截至2024年)\",\n \"key_products\": [\"iPhone\", \"iPad\", \"Mac\", \"Apple Watch\", \"AirPods\", \"Apple TV\"]\n}",
"type": "text"
}
],
"model": "claude-3-7-sonnet-20250219",
"role": "assistant",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 156,
"output_tokens": 185
}
}
Claude结构化输出的特点
1. 提示工程重要性
Claude没有内置的 response_format 参数,需要通过精心设计的提示来引导输出结构化内容:
- 明确指令: 在提示中明确要求JSON格式
- 格式示例: 提供期望的JSON结构模板
- 约束条件: 明确不要额外文字,只要JSON
2. 解析策略
由于Claude可能在JSON前后添加解释文字,建议采用以下解析策略:
- 首先尝试直接解析整个响应
- 如果失败,使用正则表达式提取JSON部分
- 提供错误处理和内容回退
应用场景
- 数据提取: 从非结构化文档中提取关键信息
- 内容分析: 对文档、评论、反馈进行结构化分析
- 业务流程: 将自然语言需求转换为结构化数据
- API集成: 为后端系统提供标准化数据格式
- 报告生成: 自动生成结构化的分析报告
最佳实践
1. 提示设计
{用户问题}
请严格按照以下JSON格式返回结果:
{JSON模板}
重要:
1. 只返回JSON格式的数据,不要包含任何解释文字
2. 确保JSON格式正确且完整
3. 所有字符串值请使用双引号
2. 错误处理
- 设置JSON解析的多重fallback策略
- 对解析失败的情况提供有意义的错误信息
- 保留原始内容以便调试
3. 数据验证
- 验证必填字段是否存在
- 检查数据类型是否符合预期
- 验证枚举值是否在允许范围内
注意事项
- 模型差异: Claude的结构化输出完全依赖提示工程
- 成功率: 相比OpenAI的response_format,可能需要更多调试
- token消耗: 详细的格式说明会增加输入token数量
- 一致性: 建议使用较低的temperature以提高输出一致性