Skip to content

Claude 原生格式 函数调用 API文档

用 claude原生格式调用天气接口

基本概念

  • 模型调用:通过API调用AI模型生成消息回复
  • 工具调用:可以定义工具让模型选择是否调用(如示例中的天气查询工具)
  • 消息格式:采用标准的role-content格式(user/assistant)

接口地址

POST https://www.dmxapi.cn/v1/messages

请求头

参数类型说明
Acceptstring必须设置为application/json
Authorizationstring认证token,格式为Bearer ******
Content-Typestring必须设置为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生成的回复内容或工具调用请求。

注意事项

  1. 请妥善保管API密钥
  2. 工具调用功能需要模型支持

一个 Key 用全球大模型