Published on

Dify 节点使用

Authors
  • avatar
    Name
    叫我小N就好啦
    GitHub
    @MinorN

Dify 节点 & 插件 详解

这里以 chatflow 为例,创建一个 chatflow 项目

开始节点

上述是开始节点的一些默认参数,当然也可以自己添加变量

大模型节点

问题分类节点

问题分类器其实也是一个大模型节点,所以说也和大模型节点一样能够配置一些变量等,那么问题分类器做些什么呢?根据输入来判断输入内容属于分类的哪种情况,比如在客服系统中,根据用户的消息来转接不同的人,比如技术、售前等,这边模拟一个客服系统

如果问题分类器分类的不满足我们的要求或者需要调整怎么办?点击节点的高级设置,自定义指令即可

条件分支节点

判断条件会根据选择的不同会有不同的条件,比如现在是用户的输入,明显是个字符串,所以会有不为空、包含等判断条件,同理,其他的类型也一样

迭代节点

迭代节点输入必须是一个数组,所以说输入必须得是 files,也就是没有数组也就没有必要迭代,那么迭代节点一般用来做什么?比如,我想写一本小说,我们可以给大模型一个主题,生成大纲、人物,但是当我们拿这些去生成小说一般都很短(大模型输出有限,理解有限),所以说没办法生成整个小说,此时我们就可以让大模型去生成每个章节(数组),然后去循环它,然后让大模型去迭代生成对应章节的内容,然后就生成了一本小说

在迭代节点内部,同样也可以看成是一个工作流,可以做同样的事情

循环节点

添加后,可以看到和迭代节点十分相似,有什么区别呢?我们循环的变量是在内部的变量(循环节点内部工作流产生的变量),同时循环节点不能并行

代码执行节点

模板转化节点

模板转换需要编写 jinja 模板,我们希望渲染成 html 就可以使用模板转换节点,这里以输入标题和描述为例

在开始节点添加必填项标题、描述,然后创建一个模板转换节点

随后提问就可以发现按照 markdown 语法来进行渲染了,同样也可以使用 html 来进行渲染

文档提取器

也就是从文档中提取内容,可以让大模型去理解文件(比如论文等)

参数提取器

可以从用户的输入中提取对应的关键词,比如想查询某地的天气,提取地点然后去查询天气

http 请求节点

这个就是一个很普通的 http 请求