Skip to content

Claude(原生格式)——可 PDF 分析

简述:Claude 官方原生请求格式,支持 PDF/图片上传与缓存控制,适用于文档解析、摘要与问答。下列为常用字段与示例,更多高级参数请参阅 Claude 官方文档。


概览

  • 请求方法:POST
  • 路径:/v1/messages
  • 内容类型:application/json

适用模型

  • 支持以 cld-claude- 开头的模型,以及部分兼容模型(示例:claude-3-5-sonnet-20240620 等)。

认证方式

  • Claude 官方格式通常无需 Authorization header,但在本平台推荐使用 Authorization: Bearer sk-xxx 或按平台要求的认证方式。

请求参数说明(常用)

参数类型必填说明
modelstring模型名称,例如 claude-3-5-sonnet-20240620
messagesarray消息数组,元素含 rolecontentcontent 支持文本或文件对象
messages[].content[].typestring可为 text / image / document
messages[].content[].sourceobject文件资源,type 字段指示 base64urldataurl 包含文件内容或地址
messages[].content[].cache_controlobject缓存控制(如 ephemeral),用于在会话中缓存 PDF 以节省 tokens
temperaturenumber采样温度
top_pnumber核采样阈值
max_tokensnumber最大生成 tokens
streamboolean是否流式返回
toolsobject函数调用定义,详见 Claude 官方文档
thinkingobject指定思考模式(例如启用带 budget_tokens 的思考,仅部分模型支持)

说明:若需启用思考(thinking),请确保所用模型支持该参数,且 budget_tokensmax_tokens 的设置满足约束。


示例

简单文本请求(curl)

bash
curl -X POST "https://api.gpt.ge/v1/messages" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet-20240620",
    "messages": [ { "role": "user", "content": [ { "type": "text", "text": "你好,你是?" } ] } ],
    "max_tokens": 1688,
    "temperature": 0.5
  }'

PDF 分析示例(curl,base64)

bash
curl -X POST "https://api.gpt.ge/v1/messages" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet-20240620",
    "messages": [
      {
        "role": "user",
        "content": [
          { "type": "text", "text": "请帮我总结这份 PDF 的要点" },
          { "type": "document", "source": { "type": "base64", "data": "JVBERi0xLjQKJ...", "media_type": "application/pdf" }, "cache_control": { "type": "ephemeral" } }
        ]
      }
    ],
    "max_tokens": 6000
  }'

说明:若文件较大(>20MB),建议使用 url 形式传入并在 source.type 中标注 url

JavaScript 示例

javascript
fetch('https://api.gpt.ge/v1/messages', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer sk-xxxx' },
  body: JSON.stringify({
    model: 'claude-3-5-sonnet-20240620',
    messages: [{ role: 'user', content: [{ type: 'text', text: '请总结这份 PDF' }, { type: 'document', source: { type: 'base64', data: 'JVBERi0x...' } }] }]
  })
}).then(r => r.json()).then(console.log)

返回示例(200)

json
{
  "id": "resp-claude-1234",
  "type": "message",
  "role": "assistant",
  "content": [ { "type": "text", "text": "PDF 要点:..." } ],
  "model": "claude-3-5-sonnet-20240620",
  "stop_reason": "stop",
  "usage": { "input_tokens": 120, "output_tokens": 430 }
}