首页 / 文档 / 首次请求详解

首次请求详解

逐行讲解一次 Messages 调用——每个字段的作用以及返回内容。

快速入门帮助你获得响应。本页解释其中各部分的含义,让你能够自行编写下一个请求。

请求

curl https://aiprimetech.io/v1/messages \
  -H "x-api-key: $CLAUDEAPIKEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello"}]
  }'
字段必填作用
model是指定要运行的模型。必须与以下来源中的某个 ID /v1/models 完全一致。
max_tokens是设定以下内容的硬性上限: 输出。模型达到此上限时就会停止,即使句子尚未完成。这是成本控制上限,而非目标值。
messages是截至目前的对话,按时间从早到晚排列。每条记录都有一个 role (user 或 assistant)以及 content.
system否适用于整个对话的指令。这是顶层字段,而不是带有以下属性的消息: role: system.
temperature否0–1。值越低,结果越确定。除非有明确理由,否则请保持未设置。
stream否true 返回服务器发送事件,而不是单个 JSON 响应体。请参阅 流式传输.

响应

{
  "id": "msg_01ABC...",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [{"type": "text", "text": "Hello! How can I help?"}],
  "stop_reason": "end_turn",
  "usage": {"input_tokens": 9, "output_tokens": 12}
}
如果 stop_reason 是 max_tokens,说明你的回答被截断了。请提高 max_tokens 或要求更简短的回复。不要盲目重试,被截断的输出也会计费。

多轮对话

API 是无状态的。要继续对话,你需要重新发送完整历史记录,包括模型之前的回复:

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "messages": [
    {"role": "user", "content": "What is the capital of France?"},
    {"role": "assistant", "content": "Paris."},
    {"role": "user", "content": "And its population?"}
  ]
}
由于每轮都会重新发送历史记录,输入 token 数量会随对话增长,费用也会随之增加。这就是长时间运行的智能体会话成本较高的原因。 提示词缓存 和 上下文管理 都直接针对这一问题。