文本对话
本页介绍如何通过 MaomaoToken 调用 Claude Messages API 进行文本对话。该接口支持单轮对话、多轮对话、系统提示词、部分填充响应、流式输出、Thinking 思考模式和工具调用等能力。
请求地址
https://api.maomaotoken.com/v1/messagesPython 示例代码
import json
import requests
# ==================== MaomaoToken 配置 ====================
url = "https://api.maomaotoken.com/v1/messages"
key = "sk-****************************************************"
headers = {
"Accept": "application/json",
"Authorization": f"Bearer {key}",
"Content-Type": "application/json"
}
# ==================== 请求数据 ====================
data = {
"model": "claude-sonnet-4-6",
"max_tokens": 16000,
"system": "你是一个严谨的助手,提供准确且有条理的回答,并在结尾总结重点。",
"messages": [
{
"role": "user",
"content": "1+1为什么不等于3?"
}
],
"stream": False,
# 可选:启用 Thinking 思考模式
"thinking": {
"type": "adaptive"
},
"output_config": {
"effort": "high"
}
}
# ==================== 发送请求 ====================
response = requests.post(url, headers=headers, json=data)
print(f"Status Code: {response.status_code}")
print("Response:")
print(json.dumps(response.json(), indent=4, ensure_ascii=False))返回示例
{
"id": "msg_example",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-6",
"content": [
{
"type": "thinking",
"thinking": "用户在问一个基础算术问题,需要解释标准数学体系下 1+1 的定义结果是 2,并说明哪些情况下看起来像 3 只是语义或规则变化。"
},
{
"type": "text",
"text": "在标准算术中,1+1 等于 2,所以不等于 3。\\n\\n简单来说,1 表示一个单位,再加上另一个单位,一共是两个单位。3 表示三个单位,比 2 多一个。\\n\\n有些生活表达里,1+1 看起来可能等于 3,例如两个人组成家庭后有了一个孩子,但那是语义场景变化,不是普通数学加法变化。"
}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 92,
"output_tokens": 552
}
}多轮对话
多轮对话需要在 messages 中携带完整历史:
[
{
"role": "user",
"content": "你好。"
},
{
"role": "assistant",
"content": "你好!我是 Claude,有什么可以帮你的吗?"
},
{
"role": "user",
"content": "请用简单的话解释什么是 LLM?"
}
]部分填充响应
可以预先填充 assistant 的部分回答,引导模型按指定格式补全:
[
{
"role": "user",
"content": "太阳的希腊语名字是什么? (A) Sol (B) Helios (C) Sun"
},
{
"role": "assistant",
"content": "正确答案是 ("
}
]模型会继续补全,例如:
正确答案是 (B) Helios常见内容类型
| 类型 | 说明 |
|---|---|
text | 纯文本内容。 |
image | 图片内容,通常通过 Base64 传入。 |
tool_use | 模型请求调用工具。 |
tool_result | 开发者返回工具执行结果。 |
document | 文档内容。 |
Thinking 参数
Claude 部分模型支持 Thinking 思考模式。可以使用自适应思考:
{
"thinking": {
"type": "adaptive"
},
"output_config": {
"effort": "high"
}
}effort 常见取值:
| 值 | 说明 |
|---|---|
high | 默认较深思考,适合复杂任务。 |
medium | 中等思考,适合多数常规任务。 |
low | 降低思考深度,优先速度。 |
常用参数
| 参数 | 说明 |
|---|---|
model | Claude 模型名称。 |
max_tokens | 最大输出 Token 数。 |
system | 系统提示词,用于设定助手行为。 |
messages | 对话消息数组。 |
stream | 是否启用流式响应。 |
temperature | 控制生成随机性。 |
stop_sequences | 自定义停止序列。 |
注意事项
- 请将示例中的
sk-****************************************************替换为你的真实 API Key。 - API Key 请妥善保管,不要提交到公开仓库。
- 多轮对话需要你主动传入历史消息。
- Thinking 模式会增加响应时间和 Token 消耗,请根据任务复杂度启用。
- 图片、工具调用、缓存创建等能力可参考 Claude 请求格式下的对应页面。