SiliconCloud智能体开发:推理模型
推理模型是基于深度学习的AI系统,通过逻辑推演、知识关联和上下文分析解决复杂任务,典型应用包括数学解题、代码生成、逻辑判断和多步推理场景。
·
推理模型
1. 概述推理模型是基于深度学习的AI系统,通过逻辑推演、知识关联和上下文分析解决复杂任务,典型应用包括数学解题、代码生成、逻辑判断和多步推理场景。这类模型通常具备以下特性:
- 结构化思维:采用思维链(Chain-of-Thought)等技术分解复杂问题
- 知识融合:整合领域知识库与常识推理能力
- 自修正机制:通过验证反馈回路提升结果可靠性
- 多模态处理:部分先进模型支持文本/代码/公式混合输入
2. 平台支持推理模型平台支持的推理模型,可以通过模型广场查询。
3. 使用建议
3.1 API 参数
3.1.1 请求参数
- 请求参数:
- 最大思维链长度(thinking_budget):模型用于内部推理的 token 数,合理设置 thinking_budget ,可以控制回答的思维链长度。
- 最大回复长度(max_tokens):用于限制模型最终输出给用户的回复 token 数,控制回复的最大长度。
最大上下文长度(context_length):非请求参数,不需要用户自己设置。不同模型支持的最大上下文长度可通过模型广场页面进行查看。推理模型思维链输出行为将遵循以下规则:
- 若“思考阶段”生成的
token
数达到thinking_budget
,因Qwen3
系列推理模型原生支持该参数模型将强制停止思维链推理,其他推理模型有可能会继续输出思考内容。 - 若最大回复长度超过
max_tokens
或上下文长度超过context_length
限制,回复内容将进行截断,响应中的finish_reason
字段将标记为length
,表示因长度限制终止输出。
3.1.2 返回参数
- 返回参数:
- reasoning_content:思维链内容,与 content 同级。
- content:最终回答内容
3.2 DeepSeek-R1 使用建议
- 将 temperature 设置在 0.5-0.7 范围内(推荐值为 0.6),以防止无限循环或不连贯的输出。
- 将 top_p 的值设置在 0.95。
- 避免添加系统提示,所有指令应包含在用户提示中。
- 对于数学问题,建议在提示中包含一个指令,例如:“请逐步推理,并将最终答案写在 \boxed 中。”
- 在评估模型性能时,建议进行多次测试并平均结果。
4. OpenAI 请求示例
4.1 流式输出请求
from openai import OpenAI
url = 'https://api.siliconflow.cn/v1/'
api_key = 'your api_key'
client = OpenAI(
base_url=url,
api_key=api_key
)
# 发送带有流式输出的请求
content = ""
reasoning_content=""
messages = [
{"role": "user", "content": "奥运会的传奇名将有哪些?"}
]
response = client.chat.completions.create(
model="Pro/deepseek-ai/DeepSeek-R1",
messages=messages,
stream=True, # 启用流式输出
max_tokens=4096,
extra_body={
"thinking_budget": 1024
}
)
# 逐步接收并处理响应
for chunk in response:
if chunk.choices[0].delta.content:
content += chunk.choices[0].delta.content
if chunk.choices[0].delta.reasoning_content:
reasoning_content += chunk.choices[0].delta.reasoning_content
# Round 2
messages.append({"role": "assistant", "content": content})
messages.append({'role': 'user', 'content': "继续"})
response = client.chat.completions.create(
model="Pro/deepseek-ai/DeepSeek-R1",
messages=messages,
stream=True
)
4.2 非流式输出请求
from openai import OpenAI
url = 'https://api.siliconflow.cn/v1/'
api_key = 'your api_key'
client = OpenAI(
base_url=url,
api_key=api_key
)
# 发送非流式输出的请求
messages = [
{"role": "user", "content": "奥运会的传奇名将有哪些?"}
]
response = client.chat.completions.create(
model="Pro/deepseek-ai/DeepSeek-R1",
messages=messages,
stream=False,
max_tokens=4096,
extra_body={
"thinking_budget": 1024
}
)
content = response.choices[0].message.content
reasoning_content = response.choices[0].message.reasoning_content
# Round 2
messages.append({"role": "assistant", "content": content})
messages.append({'role': 'user', 'content': "继续"})
response = client.chat.completions.create(
model="Pro/deepseek-ai/DeepSeek-R1",
messages=messages,
stream=False
)
5. 注意事项
- API 密钥:请确保使用正确的 API 密钥进行身份验证。
- 流式输出:流式输出适用于需要逐步接收响应的场景,而非流式输出则适用于一次性获取完整响应的场景。
6. 常见问题
- 如何获取 API 密钥? 请访问 SiliconFlow 注册并获取 API 密钥。
- 如何处理超长文本? 可以通过调整 max_tokens 参数来控制输出的长度,但请注意最大长度为 16K。
《AI提示工程必知必会》为读者提供了丰富的AI提示工程知识与实战技能。《AI提示工程必知必会》主要内容包括各类提示词的应用,如问答式、指令式、状态类、建议式、安全类和感谢类提示词,以及如何通过实战演练掌握提示词的使用技巧;使用提示词进行文本摘要、改写重述、语法纠错、机器翻译等语言处理任务,以及在数据挖掘、程序开发等领域的应用;AI在绘画创作上的应用,百度文心一言和阿里通义大模型这两大智能平台的特性与功能,以及市场调研中提示词的实战应用。通过阅读《AI提示工程必知必会》,读者可掌握如何有效利用AI提示工程提升工作效率,创新工作流程,并在职场中脱颖而出。
更多推荐
所有评论(0)