跳到正文

Anthropic Messages

POST /v1/messages 接受 Anthropic 风格的消息和工具结构。上游可以是已配置的 Anthropic 服务商,也可以由适配层转换到其他受支持协议。

请求示例

bash
curl https://ai.example.com/v1/messages \
  -H "x-api-key: $OBSIDIAN_API_KEY" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "your-model",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "用一句话介绍 Go。"}
    ]
  }'

也可以使用 Authorization: Bearer。地址、密钥与模型名都使用本实例的配置。

参数

参数说明
model模型名称
messages用户与助手的消息历史
system独立的系统提示词,字符串或文本块数组
max_tokens输出 Token 上限,调用时应明确提供
stream默认 false
temperature可选采样参数
thinking思考配置,需模型支持
tools / tool_choice工具定义与选择方式

流式与工具调用

开启 stream 后返回 Anthropic 事件结构,如 message_startcontent_block_startcontent_block_deltamessage_stop

工具请求以 tool_use 返回。客户端执行工具后,在下一次消息历史中附上匹配 tool_use_idtool_result。不要只发送工具结果而省略对应的调用消息。

网关转换工具结构,但不会在服务端执行工具。厂商专用的缓存、签名或其他扩展不保证保留。

输入 Token 估算

POST /v1/messages/count_tokens 接受同类消息请求,返回:

json
{"input_tokens": 10}

这里的数值仅为格式示例。当前实现进行本地估算,不调用上游官方分词器,不是精确计数,也不能用作最终收费依据。

客户端地址

使用会自行拼接 /v1/messages 的客户端时,基础地址应填实例根地址,例如 https://ai.example.com。如果客户端要求完整端点,则填 https://ai.example.com/v1/messages

不同客户端的设置字段和认证方式可能不同。先确认实际请求落到本页端点,再检查模型权限与工具格式。

Obsidian Arc · 自托管 AI 工作空间