Dify工作流中如何去除deepseek-r1思考内容

        在工作流中deepseek-r1的think标签内部的内容,很容易让工作流其他的llm产生幻觉,导致不能良好的生成目标效果。

        我们通过代码的方式让deepseek-r1既有think思考链的效果,又不传递思考链。

        工作流的逻辑为上图

去除think中的代码为

import re
def main(answer: str) -> dict:cleaned_text = re.sub(r'<think[^>]*>.*?</think>', '', answer, flags=re.DOTALL)# 移除清理后可能在开头的多余换行符final_text = re.sub(r'^\n+', '', cleaned_text)return {"result": final_text,}

这样子生成的效果就将think内容替换了

整个工作流的代码为

app:description: ''icon: 🤖icon_background: '#FFEAD5'mode: workflowname: outThinkuse_icon_as_answer_icon: false
dependencies:
- current_identifier: nulltype: marketplacevalue:marketplace_plugin_unique_identifier: langgenius/ollama:0.0.3@9ded90ac00e8510119a24be7396ba77191c9610d5e1e29f59d68fa1229822fc7
kind: app
version: 0.1.5
workflow:conversation_variables: []environment_variables: []features:file_upload:allowed_file_extensions:- .JPG- .JPEG- .PNG- .GIF- .WEBP- .SVGallowed_file_types:- imageallowed_file_upload_methods:- local_file- remote_urlenabled: falsefileUploadConfig:audio_file_size_limit: 50batch_count_limit: 5file_size_limit: 15image_file_size_limit: 10video_file_size_limit: 100workflow_file_upload_limit: 10image:enabled: falsenumber_limits: 3transfer_methods:- local_file- remote_urlnumber_limits: 3opening_statement: ''retriever_resource:enabled: truesensitive_word_avoidance:enabled: falsespeech_to_text:enabled: falsesuggested_questions: []suggested_questions_after_answer:enabled: falsetext_to_speech:enabled: falselanguage: ''voice: ''graph:edges:- data:isInIteration: falseisInLoop: falsesourceType: starttargetType: llmid: 1743671825415-source-1743671830921-targetsource: '1743671825415'sourceHandle: sourcetarget: '1743671830921'targetHandle: targettype: customzIndex: 0- data:isInIteration: falseisInLoop: falsesourceType: llmtargetType: codeid: 1743671830921-source-1743671844725-targetsource: '1743671830921'sourceHandle: sourcetarget: '1743671844725'targetHandle: targettype: customzIndex: 0- data:isInIteration: falseisInLoop: falsesourceType: codetargetType: endid: 1743671844725-source-1743671861862-targetsource: '1743671844725'sourceHandle: sourcetarget: '1743671861862'targetHandle: targettype: customzIndex: 0nodes:- data:desc: ''selected: falsetitle: 开始type: startvariables:- label: querymax_length: 48options: []required: truetype: text-inputvariable: queryheight: 90id: '1743671825415'position:x: 80y: 282positionAbsolute:x: 80y: 282selected: falsesourcePosition: righttargetPosition: lefttype: customwidth: 244- data:context:enabled: falsevariable_selector: []desc: ''model:completion_params:temperature: 0.7mode: chatname: deepseek-r1:14bprovider: langgenius/ollama/ollamaprompt_template:- id: bf6b98c6-75dd-4513-b87f-21d6087490efrole: systemtext: 回答问题{{#1743671825415.query#}}selected: falsetitle: LLMtype: llmvariables: []vision:enabled: falseheight: 90id: '1743671830921'position:x: 384y: 282positionAbsolute:x: 384y: 282selected: falsesourcePosition: righttargetPosition: lefttype: customwidth: 244- data:code: "import re\ndef main(answer: str) -> dict:\n    cleaned_text = re.sub(r'<think[^>]*>.*?</think>',\\ '', answer, flags=re.DOTALL)\n    # 移除清理后可能在开头的多余换行符\n    final_text =\\ re.sub(r'^\\n+', '', cleaned_text)\n    return {\n        \"result\":\\ final_text,\n    }"code_language: python3desc: ''outputs:result:children: nulltype: stringselected: falsetitle: 去除thinktype: codevariables:- value_selector:- '1743671830921'- textvariable: answerheight: 54id: '1743671844725'position:x: 688y: 282positionAbsolute:x: 688y: 282selected: truesourcePosition: righttargetPosition: lefttype: customwidth: 244- data:desc: ''outputs:- value_selector:- '1743671844725'- resultvariable: resultselected: falsetitle: 结束type: endheight: 90id: '1743671861862'position:x: 992y: 282positionAbsolute:x: 992y: 282selected: falsesourcePosition: righttargetPosition: lefttype: customwidth: 244viewport:x: -39y: 94zoom: 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

容器的CPU

1、限制进程的CPU 通过Cgroup来限制进程资源的使用&#xff0c;CPU Cgroup 是 Cgroups 其中的一个 Cgroups 子系统&#xff0c;它是用来限制进程的 CPU 使用的。 cpu.cfs_period_us&#xff0c;它是 CFS 算法的一个调度周期&#xff0c;一般它的值是 100000&#xff0c;以 mic…

【系统分析师-第二篇】

学习目标 通过参加考试&#xff0c;训练学习能力&#xff0c;而非单纯以拿证为目的。 1.在复习过程中&#xff0c;训练快速阅读能力、掌握三遍读书法、运用番茄工作法。 2.从底层逻辑角度理解知识点&#xff0c;避免死记硬背。 3.通过考试验证学习效果。 学习方法 第二遍快速…

【再探图论】深入理解图论经典算法

一、bellman_ford 1. 是什么松弛 在《算法四》中&#xff0c;对松弛的解释是&#xff1a;relax the edge&#xff0c;看起来比较抽象&#xff0c;不过如果我们从生活中的实例去理解&#xff0c;就简单多了&#xff1a; 试想一根绳索&#xff0c;当你握着绳索的两头使劲用力拉…

基于pycharm的YOLOv11模型训练方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、前期准备1.1 软件环境配置1.2 训练集参考 二、训练步骤2.1 打开文件夹2.2 打开文件2.3 data.yaml最终代码 三、train.py四、最终结果五、detect.py六、 拓展…

用nodejs连接mongodb数据库对标题和内容的全文本搜索,mogogdb对文档的全文本索引的设置以及用node-rs/jieba对标题和内容的分词

//首先我们要在Nodejs中安装 我们的分词库node-rs/jieba,这个分词不像jieba安装时会踩非常多的雷&#xff0c;而且一半的机率都是安装失败&#xff0c;node-rs/jieba比jieba库要快20-30%&#xff1b;安装分词库是为了更好达到搜索的效果 这个库直接npm install node-rs/jieba即…

水下声呐探测仪,应急救援中的高效水下定位技术|深圳鼎跃

近年来&#xff0c;随着水域活动增多及自然灾害频发&#xff0c;水下救援需求日益增长。传统人工打捞方法在复杂水域中效率低、风险高&#xff0c;尤其在能见度差、水流湍急或深水区域中&#xff0c;救援难度倍增。 在此背景下&#xff0c;水下声呐探测仪凭借其声波定位与视频…

AI 网关代理 LLMs 最佳实践

作者&#xff1a;付宇轩&#xff08;计缘&#xff09; DeepSeek/QWen 普惠 AI 趋势 随着 DeepSeek-R1 的横空出世&#xff0c;又一次点燃了原本已经有点冷淡的大语言模型市场和话题&#xff0c;并且快速成为了现象级&#xff0c;小到中小学生&#xff0c;大到父母辈都知道了中…

策略模式实际用处,改吧改吧直接用,两种方式

controller RestController RequestMapping("admin/test") RequiredArgsConstructor(onConstructor __(Autowired)) public class TestController {Autowiredprivate VideoFactory VideoFactory;GetMapping("getList")public R getList(){// 第一种方式T…

chromium魔改——修改 navigator.webdriver 检测

chromium源码官网 https://source.chromium.org/chromium/chromium/src 说下修改的chromium源码思路&#xff1a; 首先在修改源码过检测之前&#xff0c;我们要知道它是怎么检测的&#xff0c;找到他通过哪个JS的API来做的检测&#xff0c;只有知道了如何检测&#xff0c;我们…

Muduo网络库实现 [九] - EventLoopThread模块

目录 设计思路 类的设计 模块的实现 私有接口 公有接口 设计思路 我们说过一个EventLoop要绑定一个线程&#xff0c;未来该EventLoop所管理的所有的连接的操作都需要在这个EventLoop绑定的线程中进行&#xff0c;所以我们该如何实现将EventLoop和线程绑定呢&#xff1f;…

UE5学习笔记 FPS游戏制作38 继承标准UI

文章目录 UE的UIUMG的继承继承标准控件创建标准控件继承标准控件的用处 UE的UI 和Untiy有onGui和UGui类似&#xff0c;UE有slateUI和UMG,slateUI是早期只能用C编写的UI&#xff0c;UMG是现在使用的&#xff0c;可以拖拽编辑的UI slateUI是UMG的父类 UMG的继承 我们编写一个控…

C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法

目录 一、什么是拓展方法&#xff1f; 二、拓展方法有啥用&#xff1f;怎么写拓展方法&#xff1f; 1. ​核心用途 2. ​编写步骤 实现步骤 关键点说明 关键规则 3. ​注意事项 三、什么是运算符重载&#xff1f; 四、运算符重载有啥用&#xff1f;怎么写&#xff1f;…

银行卡归属地查询API接口如何对接?

银行卡归属地查询 API 接口是一种能让开发者通过编程方式获取银行卡归属地等相关信息的工具。借助此接口&#xff0c;开发者可将银行卡归属地查询功能集成到自己的应用程序或系统里&#xff0c;像电商平台、第三方支付公司等都能运用它来提升业务的准确性与安全性。 银行卡归属…

ORM mybits mybits-plus

ORM ORM 即对象关系映射&#xff08;Object Relational Mapping&#xff09;&#xff0c;是一种程序设计技术&#xff0c;用于实现面向对象编程语言里不同类型系统的数据之间的转换。下面从基本概念、工作原理、优势与劣势、常见的 ORM 框架等方面详细介绍 ORM。 常见的orm框架…

网络编程—网络概念

目录 1 网络分类 1.1 局域网 1.2 广域网 2 常见网络概念 2.1 交换机 2.2 路由器 2.3 集线器 2.4 IP地址 2.5 端口号 2.6 协议 3 网络协议模型 3.1 OSI七层模型 3.2 TCP/IP五层模型 3.3 每层中常见的协议和作用 3.3.1 应用层 3.3.2 传输层 3.3.3 网络层 3.3.4…

4月3日工作日志

一个朴实无华的目录 今日学习内容&#xff1a;1.关系数据库 今日学习内容&#xff1a; 1.关系数据库

git commit Message 插件解释说明

- feat - 一项新功能 - fix - 一个错误修复 - docs - 仅文档更改 - style - 不影响代码含义的更改&#xff08;空白、格式化、缺少分号等&#xff09; - refactor - 既不修复错误也不添加功能的代码更改 - perf - 提高性能的代码更改 - build - 影响构建系统或外部依赖项…

ngx_open_file

定义在 src\os\unix\ngx_files.h #define ngx_open_file(name, mode, create, access) \open((const char *) name, mode|create, access) name&#xff1a;文件名&#xff08;通常是一个字符串&#xff09;。mode&#xff1a;文件打开模式&#x…

23种设计模式-行为型模式-责任链

文章目录 简介问题解决代码核心改进点&#xff1a; 总结 简介 责任链是一种行为设计模式&#xff0c;允许你把请求沿着处理者链进行发送。收到请求后&#xff0c;每个处理者均可对请求进行处理&#xff0c;或将其传递给链上的下个处理者。 问题 假如你正在开发一个订单系统。…

注意力机制在大语言模型中的原理与实现总结

注意力机制在大语言模型中的原理与实现总结 1. 章节介绍 在大语言模型的学习中&#xff0c;理解注意力机制至关重要。本章节旨在深入剖析注意力机制的原理及其在大语言模型中的应用&#xff0c;为构建和优化大语言模型提供理论与实践基础。通过回顾神经网络基础及传统架构的局…