Claude 原生格式 函数调用 API文档
用 claude原生格式调用天气接口
基本概念
- 模型调用:通过API调用AI模型生成消息回复
- 工具调用:可以定义工具让模型选择是否调用(如示例中的天气查询工具)
- 消息格式:采用标准的role-content格式(user/assistant)
接口地址
POST https://www.dmxapi.cn/v1/messages
请求头
参数 | 类型 | 说明 |
---|---|---|
Accept | string | 必须设置为application/json |
Authorization | string | 认证token,格式为Bearer ****** |
Content-Type | string | 必须设置为application/json |
请求参数
python
{
"model": "claude-sonnet-4-20250514", # 指定使用的AI模型
"max_tokens": 1024, # 最大生成token数
"tools": [{ # 可用的工具列表
"name": "get_weather",
"description": "获得天气信息",
"input_schema": { # 工具输入参数定义
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市名称,如:上海、北京、纽约"
}
},
"required": ["location"]
}
}],
"messages": [{ # 对话消息历史
"role": "user",
"content": "上海天气怎么样?"
}]
}
Python调用示例
python
import json
import requests
API_URL = "https://www.dmxapi.cn/v1/messages"
API_KEY = "sk-******" # 替换为你的实际API密钥
# 构造请求数据
payload = json.dumps({
"model": "claude-sonnet-4-20250514",
"max_tokens": 1024,
"tools": [{
"name": "get_weather",
"description": "获得天气信息",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市名称"
}
},
"required": ["location"]
}
}],
"messages": [{
"role": "user",
"content": "上海天气怎么样?"
}]
})
# 设置请求头
headers = {
"Accept": "application/json",
"Authorization": f"Bearer {API_KEY}", # 认证信息
"Content-Type": "application/json"
}
# 发送POST请求
response = requests.post(API_URL, headers=headers, data=payload)
# 输出响应结果
print(response.json()) # 建议使用json()方法解析响应
响应示例
成功响应将返回JSON格式数据,包含AI生成的回复内容或工具调用请求。
注意事项
- 请妥善保管API密钥
- 工具调用功能需要模型支持