当前位置: 首页 > news >正文

利用Dify编制用户问题意图识别和规范化回复

        继上一篇文章,成功完成Dify本地部署后,主要做了一些workflow和Agent的应用实现,整体感觉dify在工作流可视化编排方面非常好,即使部分功能无法实现,也可以通过代码执行模块或者自定义工具来实现(后续再具体分享),agent方面也有提示词引入、变量定义、知识库引入和工具引入等,同时支持多轮对话,总体感觉workflow和agent结合着用非常方便,供大家参考。本次要是在游泳健身方面实现了用户提出的有关游泳健身方面问题意图识别、分类,包括有关游泳健身和健身app使用方面的咨询,最终形成规范化问题反馈输出,这里设计到如何构建知识库,如何设计workflow、如何将工作流发布为工具,如何在agent中引入前面发布的工具,最终通过agent实现与用户友好的问答交互。后续结合工作开发更多的基于workflow和agent的应用。

一、知识库构建

这部分内容主要是准备两个markdown文件,用户构建两个知识库,分别为游泳健身知识库和健身app知识库,这里不细说了,直接用dify的知识库构建功能即可,知识选择embedding模型时尽量选择成熟的维度大一点的模型即可,比如bge-m3或nomic-embed-text等。

二、根据用户问题进行意图识别和反馈

1.构建workflow流程:利用dify创建workflow应用,主要实现从用户输入问题到最终回复问题的反馈,将该任务进行步骤分解,主要包括用户问题输入接收、用户意图识别、用户问题分类、分类知识检索、结合知识库检索结果的问题回复、回复结果合并,回复结果规范化输出等。详见下图。

2.将上述workflow流程发布为工具:利用dify的发布功能,将问题发布为工具,工具名称和工具调用名称最好用英文及下划线(这里的名称为swim_assistantTool),工具描述可以是中文。发布完成后,在agent的工具模块就可以查看到最新发布的工具了。
3.构建用户问题对话Agent:利用dify构建Agent应用,详见下图,记得将第2步的工具引入,如果觉得回答不合适,也可以将前面构建的两个知识库也引入。

三、应用测试效果

1.直接使用workflow,优点是直接查看问题的返回结果,缺点是只能做一次回复,多次回复需要新的对话。详见下图。

2.使用agent进行多轮对话,详见下图。

相关文章:

  • C#单例模式
  • 常考计算机操作系统面试习题(二)(中)
  • Windows——电脑无法正常上网的一种解决办法
  • 统计学重要概念:自由度
  • 《Python实战进阶》第43集:使用 asyncio 实现异步编程
  • Amdahl 定律
  • react 中 key 的使用
  • 抗积分饱和(Anti-Windup)常见的处理方法
  • SpringBoot原理篇-SpringBoot配置优先级-Bean管理-起步依赖原理-自动配置两种方案-源码跟踪-自定义starter
  • 不同的CMS系统开源许可证对二次开发有哪些具体的限制?
  • 运维面试题(七)
  • 【矩阵快速幂】 P10502 Matrix Power Series|省选-
  • 蓝桥杯 之 最短路径算法
  • Bulk Rename Utility(BRU)——大批量重命名实用程序
  • NLP高频面试题(九)——大模型常见的几种解码方案
  • 图解AUTOSAR_CP_DiagnosticLogAndTrace
  • 深入解析 Redis 实现分布式锁的最佳实践
  • 京东二面:DeepSeek为何要用FP8而不是INT8?
  • spring boot 登入权限RBAC模式
  • 性能优化:python中的状态机
  • “五一”假期首日:国铁南宁局发送旅客81.7万人次
  • 龙翔被撤销南京市人大常委会主任职务,此前已被查
  • 沈晓萍︱严金清:比斯坦因更早获得敦煌文物的无锡名士
  • 王毅谈金砖国家开展斡旋调解的经验和独特优势
  • 中国空间站多项太空实验已取得成果,未来将陆续开展千余项研究
  • 澎湃回声丨23岁小伙“被精神病8年”续:今日将被移出“重精”管理系统