入门Dify平台:工作流节点分析

入门Dify平台:工作流节点分析

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

节点概览

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

大模型

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

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

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

知识检索

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

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

问题分类

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

条件分支

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

迭代节点

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

代码执行

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

模版转换

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

变量聚合器

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

文档提取器

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

参数提取

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

作。直接赋值给两个变量给下游节点使用。

HTTP请求

### 配置 Dify 工作流中的 HTTP 请求节点Dify 平台工作流设计中,HTTP 请求节点用于发起对外部服务的调用。此功能允许用户请求任何可访问的URL,适用于多种场景如获取外部检索结果、触发Webhook或生成图片等情境[^2]。 #### 设置目标 URL 和方法类型 当创建一个新的 HTTP 请求节点时,首要任务是指定要发送请求的目标 URL 及其对应的 HTTP 方法(GET, POST 等)。这一步骤决定了将向哪个服务器发出何种类型的请求以及预期返回的数据形式[^1]。 ```json { "url": "http://example.com/api", "method": "POST" } ``` #### 添加请求头和查询参数 为了使请求更加具体化并满足API接口的要求,在某些情况下还需要定义额外的信息,比如自定义头部字段或者附加到URL后的查询字符串参数。这些设置可以通过相应的配置项来完成: - **Headers**: 定义请求过程中携带的元数据。 - **Query Parameters**: 向URL追加键值对作为过滤条件或其他用途。 ```json { "headers": { "Authorization": "Bearer YOUR_ACCESS_TOKEN" }, "queryParameters": { "paramName": "value" } } ``` #### 构建请求体 (Body) 对于像 `POST` 或者 `PUT` 这样的方法来说,通常会涉及到提交一些结构化的数据给远程端点处理。此时可以利用 Body 字段构建 JSON 格式的负载内容,并将其传递出去供接收方解析使用。 ```json { "body": { "key": "data to send" } } ``` #### 处理响应结果 一旦成功执行了上述所有的设定之后,下一步就是考虑如何有效地管理和应用来自远端系统的反馈信息。根据实际需求的不同,可能需要对接收到的内容做进一步加工转换或是直接映射至后续流程当中去。 ```javascript // 假设我们接收到的是JSON格式的数据 const responseJson = await fetch(url).then(response => response.json()); console.log('Response:', responseJson); ``` 通过以上几个方面的介绍可以看出,在Dify平台上配置HTTP请求节点并不复杂,只需按照官方文档指引逐步操作即可实现所需的功能特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛马程序员2025

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值