要让智能体在实际应用中表现出色,掌握工作流的使用至关重要。今天,我们将深入探讨Dify平台中的各个节点的功能,了解它们的使用方法以及常见的应用场景。通过对这些节点的全面了解,将能够高效地设计和优化智能体的工作流流程。好了,言简意赅,直接进入正题。

节点概览

首先,我们创建一个工作流或者是chatflow应用都可以。里面的节点都是一样的。我们还是以工作流为主来讲解。

大模型

让我们先来详细讲解一下最常用的大模型节点。大模型承载着类似于人脑思考的复杂过程,通常被用来处理各种复杂的任务。可以说,如果你没有涉及到大模型节点的相关流程,那么基本上你也无法真正接触到像Dify这样的智能体平台。

这里的大模型节点有两种功能,一种就是常见的逻辑推理,即我们写好提示词和用户的问题,大模型就会直接推理回答。

还有一种,就是视觉功能,因为现在多模态模型遍地都是,图片理解场景用到的也不少。所以如果有图片理解问题,交给大模型节点也是可以的。如图所示:

知识检索

所谓的市面流行的知识库叫法。之所以将其称为“知识库”,主要是因为现代许多可视化平台已经为用户提供了文本和图片的向量化处理功能。简单来说,这些平台的底层架构是基于向量数据库来进行数据的存储和检索操作。

对于那些并不精通技术的普通用户来说,操作这些平台并不复杂,他们只需要具备类似记事本的基础使用能力,就可以轻松掌握如何进行知识检索。正如下图所示,这种平台通过简化界面和操作步骤,使得即使是技术小白也能高效地进行知识的查询和管理。如图所示:

问题分类

问题分类其实就是我们常说的意图识别。仍然是大模型来思考,如果我们的每个场景流程是不一样的,那么用户的问题是无法通过条件节点来控制的,就是因为你永远无法预知用户的问题到底是啥,只能给一个范围,那么问题分类节点就有用处了。如图所示:

条件分支

这里就是我们所说的条件分支,他主要用来判断固定内容走的分支逻辑。如果条件已经很明确了,就不要使用问题分类器了,毕竟每调用一次大模型都会进行扣费。如图示:

迭代节点

就是一个循环节点,如果有一些流程化需要重复执行,就需要这个迭代节点。比如我有10个链接需要大模型进行分别汇总,那么这场景就很适用。如图所示:

代码执行

代码节点目前支持两种编程语言:Python和JavaScript。为什么智能体还是需要编程语言来处理?就是因为有一些逻辑节点无法满足,比如数据加密、解密等等,有人说有人开发插件了,我们直接调用插件节点就可以了。但是总有一些个性化的定制需求,别人的插件终究不能满足。

模版转换

模版转化可以简单理解为一个文本处理节点,比如你可以写一段固定的话传给下游节点,比如搜索等。还可以用来润色一下或者为用户的问题加一个限制条件。如图所示:

变量聚合器

它的用法也很简单,只是单纯为了好看将上游节点的输出变量归纳到一起后,这样我们的工作流节点变得越来越复杂的时候,就不用再看前面的节点了。直接使用聚合器里的变量即可。如图所示:

文档提取器

用户除了和智能体正常对话,还会上传一些图片、文档以及表格文件,但是大模型是不可能直接去解析的,所以这里与文件上传功能配套的就是文档解析器。先解析成正常的文字后,大模型即可理解文档内容从而回答用户问题。如图所示:

参数提取

参数提取就是为了让大模型结构化输出一些内容。比如我要从用户的问题识别出一本书的名字和书籍作者。如果单纯使用大模型节点的花,输出变量是一段话,你无法在后续的节点正常使用。所以参数提取器就是简化这种操作。直接赋值给两个变量给下游节点使用。

HTTP请求

该节点主要就是模拟一次网页浏览器搜索。如果你需要冲特定的网页才能获取内容,那么这个节点必不可少。如图所示:

列表操作

列表操作也是很简单的。我们只需要将数组里面的内容过滤或者我只要第一个。那么直接使用列表节点即可完成,如图所示:

小结

在智能体应用中,掌握工作流节点的使用至关重要。通过Dify平台中的各类节点,用户能够高效设计和优化工作流流程。从大模型节点的复杂任务处理,到知识检索和问题分类的智能化管理,再到条件分支、代码执行和模板转换等功能的灵活运用,每个节点都有其独特的应用场景。

通过对这些节点的全面了解,用户能够提升智能体的表现,实现更精准、更高效的工作流设计。掌握这些工具,是提升智能体应用性能的关键。


我是努力的小雨,一个正经的 Java 东北服务端开发,整天琢磨着 AI 技术这块儿的奥秘。特爱跟人交流技术,喜欢把自己的心得和大家分享。还当上了腾讯云创作之星,阿里云专家博主,华为云云享专家,掘金优秀作者。各种征文、开源比赛的牌子也拿了。

想把我在技术路上走过的弯路和经验全都分享出来,给你们的学习和成长带来点启发,帮一把。

欢迎关注努力的小雨,咱一块儿进步!

入门Dify平台:工作流节点分析的更多相关文章

  1. winform快速开发平台 -> 工作流组件(仿GooFlow)

    对于web方向的工作流,一直在用gooflow对于目前我的winform开发平台却没有较好的工作流组件.  针对目前的项目经验告诉我们.一个工作流控件是很必要的. 当然在winform方面的工作流第三 ...

  2. 也谈一下Activiti工作流节点的自由跳转

    最近在搞openwebflow的工作流节点自由跳转功能,在网上看了一些资料,感觉不是很好,总结原因如下: 直接手动调用SqlSession的操作,感觉会漏掉一些重要的初始化操作(如:启动新节点之后加载 ...

  3. 第二次作业-关于Steam游戏平台的简单分析

    1.1 Steam平台的简单介绍 你选择的产品是? 如题,这次的作业我选择了Steam作为分析的对象. 为什么选择该产品作为分析? 我选择数字游戏贩售平台STEAM作为分析对象的原因有以下几点: 1. ...

  4. Cordova入门系列(二)分析第一个helloworld项目 转发 https://www.cnblogs.com/lishuxue/p/6015420.html

    Cordova入门系列(二)分析第一个helloworld项目   版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了如何创建一个cordova android项目,这章我们介绍一下创建的 ...

  5. Exadata 18.1新特性--云平台存储节点升级

    1.传统方式的存储节点升级流程: (1).将存储节点升级包下载到数据库服务器,通常是DB01上. (2).解压缩存储节点升级包. (3).用升级包中的patchmgr工具滚动或非滚动地升级每个存储节点 ...

  6. 大快搜索DKhadoop集群管理平台添加节点的步骤说明

    Hadoop作为搭建大数据处理平台的重要“基石”,关于它的分析和讲解的文章已经有很多了.Hadoop本身是一分布式的系统,因此在安装的时候,需要多每一个节点进行组建的安装.并且由于是开源软件,其安装过 ...

  7. OneAlert 入门(三)——事件分析

    OneAlert 是国内首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有 IT 事件,提升 IT 可靠性.有了 OneAlert,你可以更快更合理地为事件划分 ...

  8. OneAlert 入门(二)——事件分析

    OneAlert 是国内首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有 IT 事件,提升 IT 可靠性.有了 OneAlert,你可以更快更合理地为事件划分 ...

  9. 高通 android平台LCD驱动分析

    目前手机芯片厂家提供的源码里包含整个LCD驱动框架,一般厂家会定义一个xxx_fb.c的源文件,注册一个平台设备和平台驱动,在驱动的probe函数中来调用register_framebuffer(), ...

  10. cocos2d-x入门学习笔记——Hello world分析

    Hello world分析 1. “resource”文件夹 用于存放图片.音频和配置等资源文件.为了方便管理,可以创建在其中创建子文件夹.Cocos2d-x为我们屏蔽了不同平台对于文件路径的定义. ...

随机推荐

  1. Qml 中实现水印工具

    [写在前面] 在 Qt 的 Quick 模块中,QQuickPaintedItem 是一个非常有用的类,它允许我们在 Qml 中自定义绘制逻辑. 我们可以通过这种方式实现水印工具,包括在文本.图片或整 ...

  2. 前端vue项目本地运行内网访问的方法

    有时候在公司里,领导想在内网访问到你本地的项目,所以就有了前端项目内网访问 (1)首先在package文件里面的host改成0.0.0.0,像这个样子 (2)其次在config下的index.js里的 ...

  3. Appium_iOS_Safari测试脚本(2)

    经过多次调试,在Safari上的测试脚本终于可以运行了,不过部分元素还是无法识别,还需要继续调试: #!/usr/bin/env/python # -*-coding:utf-8-*- import ...

  4. MySQL事务ACID-隔离级别-锁介绍

    ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则 ...

  5. Golang-函数5

    http://c.biancheng.net/golang/func/ Go语言函数(Go语言func) 函数构成了代码执行的逻辑结构,在Go语言中,函数的基本组成为:关键字 func.函数名.参数列 ...

  6. 你所不知道的 C/C++ 宏知识——基于《C/C++ 宏编程的艺术》

    前言 刚学 C++ 的时候,就知道它糅合了四种编程模式:基于预处理器的宏.基于 C 语言的面向过程.基于类的面向对象.以及基于模板的泛型编程.其中,宏和模板元编程因为是在编译期出结果,能有效提升程序运 ...

  7. 深⼊mysqlONDUPLICATEKEYUPDATE语法的分析

    深⼊mysqlONDUPLICATEKEYUPDATE语法的分析mysql "ON DUPLICATE KEY UPDATE" 语法如果在INSERT语句末尾指定了ON DUPLI ...

  8. dart 中在实例化 new 关键字可以省略不写

    dart 中在实例化 new 关键字可以省略不写 class Person { String name; int age; String sex; Person(this.name, this.age ...

  9. 认识soui4js(第2篇):代码编辑及调试

    开始 假定您使用向导在d:\jsdemo目录创建一个工程,您也已经安装好了vscode, 那么您应该可以看到下面的界面效果: 工程生成后,主要包含一个soui资源包及一个main.js 要运行这个程序 ...

  10. Q:su命令无法切换用户问题,密码正确可登录

    一.文件权限问题 查看文件权限: ll -a /bin/su /usr/bin/passwd 正确的结果为: 错误的结果为: suid和普通x执行权限 s:当普通用户使用su的时候,采用的是owner ...