昇腾社区首页
中文
注册

思考解析

部分大模型输出结果包含思考过程,本特性旨在对大模型的输出内容进行结构化解析,将模型在推理过程中产生的“思考过程(think)”与最终的“输出结果(content)”进行分离,并分别存储于"reasoning_content"和"content"两个字段中。

  • reasoning_content:用于存储模型在生成回答前的推理、分析、逻辑判断等内部思维过程。
  • content:用于存储模型最终对外输出的回答或决策结果。

限制与约束

  • Atlas 800I A2 推理服务器Atlas 800I A3 超节点Atlas 300I Duo 推理卡支持此特性。
  • 当前仅Qwen3-32B、Qwen3-30B-A3B和DeepSeek-R1模型支持此特性。
  • 当前仅支持OpenAI推理接口。
    开启思考解析特性,需要配置的参数如表1所示。
    表1 思考解析特性补充参数:ModelConfig中的models参数

    配置项

    取值类型

    取值范围

    配置说明

    enable_reasoning

    bool

    • true
    • false

    是否开启模型思考解析,将输出分别解析为“reasoning_content”和“content”两个字段。

    • false:关闭
    • true:开启

    必填,默认值:false。

使用样例

以Qwen3-32B为例,在服务化配置文件config.json中的ModelConfig中进行如下配置,开启思考解析:

在“models”参数下增加如下配置项:(Qwen3-30B-A3B,"qwen3"字段应修改为"qwen3_moe";DeepSeek-R1,"qwen3"字段应修改为"deepseekv2",并将DeepSeek-R1权重文件中的"model_type"字段修改为"deepseek_v3")

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 "ModelDeployConfig" :
        {
            "maxSeqLen" : 2560,
            "maxInputTokenLen" : 2048,
            "truncation" : false,
            "ModelConfig" : [
                {
                    "modelInstanceType" : "Standard",
                    "modelName" : "Qwen3-32B",
                    "modelWeightPath" : "/data/weight/Qwen3-32B",
                    "worldSize" : 1,
                    "cpuMemSize" : 0,
                    "npuMemSize" : -1,
                    "backendType" : "atb",
                    "trustRemoteCode" : false,
                    "async_scheduler_wait_time": 120,
                    "kv_trans_timeout": 10,
                    "kv_link_timeout": 1080,
                    "models": {
                            "qwen3": {"enable_reasoning": true}
                    }
                }
            ]
        },

样例解析:

在打开思考过程解析的时候,返回的内容会将大模型推理的结果拆分成两个字段reasoning_content和content。示例如下:

{

"role": "assistant",

"content": "\n\n你好!今天过得怎么样呀?有什么我可以帮你的吗?",

"reasoning_content": "\n好的,用户发来“你好”,我需要友好回应。首先,保持自然的中文口语化,避免太正式。可以问他们今天怎么样,或者有没有什么需要帮助的。同时,注意不要用太多表情符号,保持简洁。还要确保回复简短,不要太长。现在组织一下语言,用亲切的语气回应。\n",

"tool_calls": null

}

执行推理

  1. 配置服务化参数,按照表1在服务化的config.json文件中添加相应参数。服务化的config.json文件路径的详细说明请参考:《MindIE安装指南》中的“配置MindIE > 配置MindIE Server > 单机推理”章节中的软件包文件清单。
  2. 启动服务。具体请参考《MindIE Motor开发指南》中的“快速开始 > 启动服务”章节
  3. 发送请求。参数说明见《MindIE Motor开发指南》中的“MindIE Motor组件 > MindIE MS > 调度器(Coordinator) > RESTful接口API > 用户侧接口 > OpenAI推理接口”章节