今天在使用Dify调用硅基流动中模型时,流程编排中运行模型不显示思考过程,以下是详细的解决方法。可能有很多方法,这个方法只是一个示例。
1 硅基流动模型API
- 本文仅是学习使用,所以用到了硅基流动模型API;硅基流动模型广场有一些免费的模型,所以就用这个用于学习了;需要先申请账号,才能下载模型;进入到对应的网址后,输入相关信息进行注册:
deepseek-ai/DeepSeek-R1-0528-Qwen3-8B,选择在线体验:2 DIfy中下载硅基流动
- 接下来是在Dify中下载硅基流动模型;进入Dify首页选择插件进行下载即可:
3 Dify工作流(无思考过程)
进入工作室页面,新建一个空白应用(工作流):
增加开始节点:
增加一个模型节点:
再新增一个结束节点:
完整的流程如图,发现运行后没有思考过程:
模型数据处理如下:
{ "model_mode": "chat", "prompts": [ { "role": "system", "text": "你是一个数学专家,请根据我的要求开展工作", "files": [] }, { "role": "user", "text": "请问1+1等于多少?", "files": [] } ], "usage": { "prompt_tokens": 30, "prompt_unit_price": "0", "prompt_price_unit": "0.000001", "prompt_price": "0", "completion_tokens": 845, "completion_unit_price": "0", "completion_price_unit": "0.000001", "completion_price": "0", "total_tokens": 875, "total_price": "0", "currency": "RMB", "latency": 30.78103548800027 }, "finish_reason": "stop", "model_provider": "langgenius/siliconflow/siliconflow", "model_name": "Qwen/Qwen3-8B"}- 模型输出如下:
{ "text": "<think>\n\n嗯,用户问的是“1+1等于多少?”, 这个问题看起来很简单,但作为数学专家,我需要仔细思考。首 先,确定用户的需求是什么。可能他们是在测试我的知识, 或者想确认基础数学概念,或者有更深层的问题。比如, 他们可能在学习数学的基础,或者对某些数学理论有疑问, 比如在模运算或布尔代数中1+1可能有不同的结果。\n\n接下来, 我需要考虑用户可能的背景。如果是小学生,他们可能只是需要确认加法的基本规则, 答案是2。 但如果是更高级的用户,比如计算机科学或数学专业的学生, 他们可能想知道在不同数学结构下的结果。比如, 在二进制中,1+1等于10,而在布尔代数中,1+1等于1(逻辑或)。 还有在模2运算中,1+1=0,因为2 mod 2是0。另外, 集合论中,1+1可能代表两个集合的并集的基数,如果集合不相交, 结果也是2;如果相交,可能不同。\n\n也有可能用户是在问某种哲学或逻辑问题, 比如“1+1=2”是否总是成立,或者在某些情况下是否可能不成立。 比如,在非标准分析中,无穷小量的存在可能会影响结果, 但通常在基本算术中,1+1=2是公理。或者在某些抽象数学结构中, 比如在模3运算中,1+1=2,但在模2运算中是0。 需要明确用户是否在特定上下文中提问。\n\n此外,用户可能有拼写错误或其他误解, 比如是否想问“1+1等于多少?”在某种编程语言中的运算结果,或者是否在问某种特定的数学问题, 比如在范畴论中的加法,或者在群论中的运算。需要进一步询问用户是否需要特定领域的解释, 或者是否在一般算术的范围内。\n\n可能还要考虑到用户是否在寻找一个幽默或讽刺的答案, 比如在某些文化或语境中,1+1可能有不同的含义,但通常数学问题不会涉及这些。 因此,作为数学专家,我需要先回答最普遍的情况,即在标准算术中1+1=2, 然后询问是否有特定的上下文或领域需要进一步解释,以确保提供准确的信息。 同时,保持回答简洁明了,适合不同层次的用户理解。\n\n</think>\n\n在标准算术中,**1 + 1 = 2**。 这是基本的加法运算规则,适用于自然数、整数、实数等数域。\n\n不过, 如果问题涉及其他数学结构或语境,答案可能不同:\n\n1. **二进制(计算机科学)**: \n 在二进制中,`1 + 1 = 10`(即十进制的2)。 \n 原因:二进制的进位规则是满2进1, 所以1+1=10。\n\n2. **布尔代数(逻辑运算)**: \n 在布尔代数中,`1 + 1 = 1`(逻辑或)。 \n 原因:布尔加法对应逻辑“或”,1或1的结果是1。\n\n3. **模运算**: \n - 在模2运算中, `1 + 1 = 0`(因为2 ≡ 0 mod 2)。 \n - 在模3运算中,`1 + 1 = 2`(因为2 < 3)。\n\n4. **集合论**: \n 如果1代表一个单元素集合,`1 + 1`表示两个不相交集合的并集,其基数为2。 \n\n5. **非标准分析或抽象代数**: \n 在某些特殊数学体系中,结果可能不遵循常规规则, 但这类情况通常需要明确的上下文说明。\n\n**结论**: \n在常规数学中,**1 + 1 = 2**。 若涉及其他领域,请补充说明具体语境。", "usage": { "prompt_tokens": 30, "prompt_unit_price": "0", "prompt_price_unit": "0.000001", "prompt_price": "0", "completion_tokens": 845, "completion_unit_price": "0", "completion_price_unit": "0.000001", "completion_price": "0", "total_tokens": 875, "total_price": "0", "currency": "RMB", "latency": 30.78103548800027 }, "finish_reason": "stop", "files": []}- 但是没有思考过程:
4 Dify工作流(有思考过程)
- 优化后的整个工作流如下:
content;文本类型mlist:下拉选项- 新增模型,配置如下:
import redef main(text: str) -> dict: cleaned_answer = re.sub(r'<think[^>]*>.*?</think>', '', text, flags=re.DOTALL) final_answer = re.sub(r'^\n+', '', cleaned_answer) return { "result": final_answer }- 新增一个变量聚合器节点,配置如下:
