深度思考
深度思考(Deep Thinking / Reasoning)是部分大模型提供的增强推理能力。模型在回答前会先进行内部"思考",输出推理过程后再给出最终答案,适合数学、逻辑、代码分析等复杂任务。
启用方式: 在请求中添加 reasoning_effort 参数即可开启深度思考。该参数支持三个级别:
| 值 | 说明 | 适用场景 |
|---|---|---|
low | 轻度思考,推理步数少 | 中等复杂度任务 |
medium | 平衡模式 | 大多数日常任务 |
high | 深度思维链推理 | 数学、编程、复杂逻辑推理 |
不传该参数时,hy3 默认不启用深度思考(快思考模式)。
适用模型
| 模型 | 默认行为 | 说明 |
|---|---|---|
hy3 | 默认不思考,通过 reasoning_effort 按需开启 | 推荐,灵活控制推理深度 |
deepseek-r1 | 默认始终思考 | 无需额外参数,始终输出 reasoning_content |
具体支持情况请参考接入大模型中的模型列表。
备注
使用不支持深度思考的模型时传入相关参数不会报错,但不会产生思考内容。
使用方式
各协议开启方式
云开发 AI 支持多种协议接入,不同协议开启深度思考的参数不同:
| 协议 | 开启参数 | 说明 |
|---|---|---|
| Chat Completions | reasoning_effort: "low" / "medium" / "high" | OpenAI 标准协议,下方示例默认使用此协议 |
| Anthropic Messages | thinking: { type: "enabled", budget_tokens: N } | Anthropic 标准协议,budget_tokens 控制最大思考 token 数 |
| OpenAI Responses | reasoning: { effort: "low" / "medium" / "high" } | OpenAI Responses 协议 |
Anthropic Messages 协议示例
const Anthropic = require("@anthropic-ai/sdk");
const client = new Anthropic({
apiKey: "<YOUR_API_KEY>",
baseURL: "https://<ENV_ID>.api.tcloudbasegateway.com/v1/ai/cloudbase"
});
const response = await client.messages.create({
model: "hy3",
max_tokens: 8000,
thinking: {
type: "enabled",
budget_tokens: 5000 // 最大思考 token 数
},
messages: [{ role: "user", content: "证明 √2 是无理数" }]
});
for (const block of response.content) {
if (block.type === "thinking") {
console.log("思考过程:", block.thinking);
} else if (block.type === "text") {
console.log("最终回答:", block.text);
}
}
OpenAI Responses 协议示例
const OpenAI = require("openai");
const client = new OpenAI({
apiKey: "<YOUR_API_KEY>",
baseURL: "https://<ENV_ID>.api.tcloudbasegateway.com/v1/ai/cloudbase"
});
const response = await client.responses.create({
model: "hy3",
reasoning: { effort: "high" },
input: "证明 √2 是无理数"
});
for (const item of response.output) {
if (item.type === "reasoning") {
console.log("思考过程:", item.summary.map(s => s.text).join(""));
} else if (item.type === "message") {
console.log("最终回答:", item.content.map(c => c.text).join(""));
}
}
以下示例基于 Chat Completions 协议:
- CloudBase SDK
- OpenAI SDK
- cURL
const model = ai.createModel("cloudbase");
const result = await model.generateText({
model: "hy3",
reasoning_effort: "high", // 开启深度思考:low / medium / high
messages: [{ role: "user", content: "证明 √2 是无理数" }]
});
// 通过 rawResponses 获取思考内容
const rawResponse = result.rawResponses[0];
const message = rawResponse.choices[0].message;
console.log("思考过程:", message.reasoning_content);
console.log("最终回答:", result.text);
非流式调用:
const OpenAI = require("openai");
const client = new OpenAI({
apiKey: "<YOUR_API_KEY>",
baseURL: "https://<ENV_ID>.api.tcloudbasegateway.com/v1/ai/cloudbase"
});
const completion = await client.chat.completions.create({
model: "hy3",
messages: [{ role: "user", content: "证明 √2 是无理数" }],
reasoning_effort: "high" // 开启深度思考:low / medium / high
});
const message = completion.choices[0].message;
console.log("思考过程:", message.reasoning_content);
console.log("最终回答:", message.content);
流式调用:
const stream = await client.chat.completions.create({
model: "hy3",
messages: [{ role: "user", content: "证明 √2 是无理数" }],
reasoning_effort: "high",
stream: true
});
let reasoning = "";
let answer = "";
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta;
// 思考过程
if (delta?.reasoning_content) {
reasoning += delta.reasoning_content;
process.stdout.write(`[思考] ${delta.reasoning_content}`);
}
// 最终回答
if (delta?.content) {
answer += delta.content;
process.stdout.write(delta.content);
}
}
curl -X POST 'https://<ENV_ID>.api.tcloudbasegateway.com/v1/ai/cloudbase/chat/completions' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "hy3",
"reasoning_effort": "high",
"messages": [
{"role": "user", "content": "证明 √2 是无理数"}
]
}'