【AI工作流】FastGPT - 深入解析FastGPT工作流编排:从基础到高级应用的全面指南

文章目录

    • 一、工作流编排概述
    • 二、FastGPT的节点类型
      • 1. 基础功能插件
        • (1) 文本输出
        • (2) 功能调用
        • (3) 工具
        • (4) 外部调用
        • (5) 其他
      • 2. 系统插件
      • 3. 团队插件
    • 三、工作流中的流向
    • 结语

在当今快速发展的人工智能领域,工作流编排的能力已成为提升用户体验和应用效率的关键因素。FastGPT作为一款强大的知识库和工作流工具,凭借其灵活的节点设计和简化的操作流程,帮助用户快速构建高效的知识库应用。本文将深入探讨FastGPT的工作流编排,带您了解其核心功能、节点类型及流向控制,助您在实际应用中游刃有余。

更多文章

  • 获取OpenAI API:获取OpenAI API KEY的两种方式,开发者必看全方面教程!
  • 如何免费无限使用Cursor:AI编程工具的终极指南!

一、工作流编排概述

在FastGPT中,工作流编排是其核心功能之一。用户使用FastGPT的主要原因是其强大的知识库,而工作流则是提升用户体验的重要保障。通过简单的操作,用户可以快速构建知识库应用,工作流的强大功能可见一斑。

在FastGPT 4.7版本中,工作流被称为高级编排,节点拥有多个输入和输出连接点,但不同连接点之间可能存在不兼容的情况,这使得新手用户在上手时面临一定挑战。然而,在4.8版本中,节点的连接点数量得到了显著简化,许多连接点被转化为节点内的参数,使用方式也进行了优化。错误提示变得更加清晰友好,极大降低了新手用户的学习成本,值得为FastGPT的开发团队点赞👏。

工作流编排的核心在于节点和流向。在编排应用时,我们需要考虑节点的功能以及数据流向的控制,接下来将详细探讨这两个方面。
在这里插入图片描述

二、FastGPT的节点类型

在FastGPT中,打开任何已创建的应用并进入流程编排页面,点击左侧的“+”按钮,即可查看所有可用的节点类型,这些节点实际上就是插件。FastGPT官方将插件分为三类:基础功能插件、系统插件和团队插件。接下来,我们将简要介绍这三种插件类型。

1. 基础功能插件

基础功能插件分为几个小类,其中第一类是文本输出。

(1) 文本输出

在文本输出分类中,有两个主要插件:AI对话指定回复。这两个插件都具备直接输出内容的功能。在我们的知识库应用中,AI对话插件已经得到了广泛应用,任何需要进行AI对话的场景,都可以使用这一插件来实现。它为用户提供了便捷的交互体验,帮助用户快速获取所需信息。

在使用这些插件时,只需调整相应的参数即可。例如,您可以设置所使用的大模型、对Token的限制以及发散度的限制等,以便优化输出效果。

指定回复插件的主要功能是针对特定文本进行回复。例如,当用户询问某个问题而知识库中未能找到相关信息时,您可以设置插件固定回复一段文本,如“很抱歉,在知识库中查不到相关信息。”此外,该插件还可以用于调试场景。如果您发起了一个HTTP请求,返回的所有内容都可以通过指定回复插件进行输出,这样在调试过程中将极为方便。

文本输出插件示例

(2) 功能调用

功能调用分类包含四个主要插件:知识库搜索工具调用问题分类文本内容提取

  • 知识库搜索插件:在上一章中我们已经介绍过该插件,它的主要功能是对接现有的知识库,以便从中检索所需内容。这一插件使得用户能够快速找到相关信息,提高了知识库的使用效率。
  • 工具调用插件:此插件允许用户调用外部工具和服务,以扩展应用的功能和灵活性。
  • 问题分类插件:该插件能够帮助将用户提出的问题进行分类,以便更好地管理和处理。
  • 文本内容提取插件:此插件用于从文本中提取关键信息,帮助用户快速获取所需数据。

通过这些功能调用插件,用户可以实现更复杂的操作和更高效的信息处理。

功能调用插件示例

工具调用插件是实验性质的,类似于大模型中的function call,有兴趣的可以去探索一下。

问题分类插件主要用于对用户提出的问题进行分类。根据分类结果,您可以将其与不同的节点进行对接,从而实现多个分支功能。这种机制类似于编程中的switch语句,使得用户能够根据不同的输入情况,灵活地选择相应的处理路径。

问题分类插件示例

文本内容提取插件利用AI技术,从输入的文本中提取所需的信息。例如,在预订会议室的场景中,您可以使用这个插件来自动提取会议地点、会议时间等关键参数。通过这种方式,用户无需手动输入所有信息,系统能够智能识别并提取出重要数据,从而提高了操作的便捷性和效率。

文本内容提取插件示例

(3) 工具

在工具这一分类中,有三个主要插件:判断器变量更新代码运行

  • 判断器:此功能在上一个版本中作为系统插件存在,但在当前版本中进行了较大改进。之前,判断器支持正则表达式,而现在已经去掉了这一功能,转而将if/else分支的判断条件进行了明确化,并新增了多种具体的比较符。这使得使用判断器时更加直观和便捷,用户可以更轻松地设定判断逻辑。

判断器插件示例

  • 代码运行插件:允许您执行一段JavaScript代码。在这个插件中,您可以定义自己的函数,并且函数中的变量可以从之前的节点或系统变量中提取出来。

代码运行插件示例

(4) 外部调用

外部调用插件使您能够通过应用调用其他已经编排好的应用。这种设计允许将一些复杂的功能封装成独立的应用,从而在其他应用中直接调用。这不仅隐藏了应用内部的实现逻辑,还无形中提升了应用的复用性,体现了模块化的思路。

外部调用插件示例

HTTP请求插件可能是使用频率最高的插件之一。它支持发起多种类型的请求,包括GET、POST、DELETE等。这使得在需要调用外部接口的场景中,HTTP请求插件成为不可或缺的工具。

HTTP请求插件示例

Laf函数调用插件专门用于调用通过Laf平台部署的云函数。如果您的函数是基于Laf部署的,那么使用这个插件将是必不可少的。它使得与云端服务的交互变得简单高效,便于实现更复杂的业务逻辑。

(5) 其他

知识库搜索合并插件:该插件能够将多个知识库搜索的结果进行合并,并使用RRF(Ranked Retrieval Fusion)算法对结果进行排序。排序后的结果可以输出到后续节点使用,从而为用户提供更为精确和全面的信息。这一功能极大地提升了知识库查询的灵活性和有效性,使得用户能够更方便地获取所需信息。

知识库搜索合并插件示例

2. 系统插件

系统插件包含三个主要功能:文本加工获取当前时间自定义反馈

  • 文本加工插件主要用于变量替换。您可以在前面的节点中输出一些值,并在这个插件中将它们作为变量进行文本替换,系统变量也同样适用。通常,这个插件用于格式化输出,例如生成固定格式的文本或输出符合JSON格式的文本等。通过文本加工插件,用户能够灵活地处理和展示数据,提高信息传递的清晰度和规范性。

文本加工插件示例

3. 团队插件

团队插件主要用于存放您自定义的插件。在这个分类中,您可以找到所有自己创建的各种插件。例如,如果您自定义了一个名为echo的插件,那么它将出现在这里,您可以在不同的应用中自由使用。

团队插件示例

三、工作流中的流向

在FastGPT 4.8版本的工作流编排中,流向控制得到了大幅简化。每个节点通常有四个连接点:上边和左边的连接点为前置连接点,用于接收前面节点的输入;而右边和下边的连接点则为后置连接点,可以连接到后续节点,并将数据传递给它们。

用户只需根据应用的逻辑需求,顺序连接节点即可。在创建应用时,从FastGPT预置的几类应用中,您可以直观地看到节点之间是如何连接以及数据如何传递的。

为了提高工作流的编排能力,建议多进行操作实践,尽量使用各个插件,深入了解它们的特点。这样,您在实际应用中就能迅速根据业务需求编排出相应的应用。

更多文章

  • 获取OpenAI API:获取OpenAI API KEY的两种方式,开发者必看全方面教程!
  • 如何免费无限使用Cursor:AI编程工具的终极指南!

结语

FastGPT的工作流编排功能为用户提供了灵活、高效的知识库应用构建方式。通过深入了解节点类型和流向控制,您可以更好地利用FastGPT的强大功能,提升工作效率和用户体验。希望本文能为您在FastGPT的使用中提供实用的指导和帮助,让您在工作流编排的道路上越走越远!🌟

如果您对FastGPT的工作流编排有任何疑问或建议,欢迎在评论区留言,我们将竭诚为您解答!

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

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

相关文章

qt QAction详解

1、概述 QAction是Qt框架中的一个抽象类,用于表示用户界面中的一个动作(action)。这些动作可以绑定到菜单项、工具栏按钮或快捷键上,提供了一种灵活的方式来处理用户交互。QAction不仅包含了动作的名称、图标、提示信息等属性&am…

MRCTF2020:你传你ma呢

文件上传题先判断黑白名单过滤,先传个最简单的木马 这里上传不了php文件,猜测可能是对php文件进行了过滤,将文件改为任意后缀这里改为.abc 还是上传不成功,猜测可能对MIME也做了过滤,将Content-Type更改为image/jpeg再…

CSS中的优先级和优先权

层叠的规则:后出现的样式会覆盖前面设置的样式 p {color: red; } ​ p {color: blue; } 比如这段代码生效是颜色是blue. 若是不同选择器之间发生了样式冲突,则描述更为具体的那个选择器具有更高的优先级,比如id选择器 > 类选择器 > 标签选择器这低优先级是无法覆盖高优…

LeetCode (206单链表反转)

目录 题目描述: 代码: 第一种: 第二种: 第三种: 第四种: 第五种: 主函数: ListNode类: 题目描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3…

【WPF】MatrixTransform类

【WPF】MatrixTransform类 主要特性使用场景示例 在WPF(Windows Presentation Foundation)中,MatrixTransform 类是用于表示一个仿射变换的类,它允许开发者通过一个矩阵来定义一个二维空间中的线性变换。这种变换可以包括平移&…

C# Modbus RTU通讯回顾

涉及技术: 1.使用NMdbus4 库 2.ushort[]转int 记得之前刚学习的时候,是ushort[] → Hex字符串→byte[] → 翻转byte[] →BitConverter.ToInt32(),饶了一大圈;实际上可以直接转;这里也有小细节:使用BitCo…

vue2中的v-bind相当于原生js的什么

在 Vue 2 中&#xff0c;v-bind 是一个指令&#xff0c;用于动态地将一个或多个属性绑定到 DOM 元素上。它相当于在原生 JavaScript 中直接操作 DOM 元素属性的方法。 v-bind 的基本用法 在 Vue 中&#xff0c;v-bind 可以这样使用&#xff1a; <!-- 绑定一个属性 -->…

RHCE6

一、DNS域名解析服务器 DNS &#xff08; Domain Name System &#xff09;是互联网上的一项服务&#xff0c;它作为将域名和 IP 地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网。DNS 系统使用的是网络的查询&#xff0c;那么自然需要有监听的 port 。…

python 读取文件的内容

在Python中&#xff0c;读取文件内容是一个基础且常见的操作。以下是一些常用的方法来读取文件内容&#xff1a; 使用内建的open()函数和read()方法 # 打开文件 with open(example.txt, r) as file:# 读取文件内容content file.read() # 打印文件内容 print(content)这里使用…

uni-app 下拉刷新、 上拉触底(列表信息)、 上滑加载(短视频) 一键搞定

一、下拉刷新 1. 首先找到pages.json中 给需要进行下拉刷新的页面设置可以下拉刷新 2. 然后在需要实现下拉刷新的script标签内添加 导入onPullDownRefresh import {onPullDownRefresh} from dcloudio/uni-app 下拉刷新触发的事件 onPullDownRefresh(()> {console.log(正…

Java 中 HashMap集合使用

目录 一. HashMap概述 二. HashMap特点 三. HashMap构造方法 四. HashMap的常用方法 五. 使用注意事项 六. 代码示例 一. HashMap概述 HashMap 是 Java 中的一个非常重要的类&#xff0c;它实现了 Map 接口&#xff0c;用于存储键值对&#xff08;key-value pairs&#…

【架构艺术】服务架构稳定性的基础保障

一个产品随着不断研发&#xff0c;其服务架构的复杂度会越来越高。随着产品的用户体量变大&#xff0c;为了保证产品能够长线运营&#xff0c;就需要保证整个服务架构的稳定性。因此&#xff0c;今天这篇文章&#xff0c;就从实操的角度&#xff0c;粗浅讨论一下&#xff0c;服…

QML旋转选择器组件Tumbler

1. 介绍 Tumbler是一个用于创建旋转选择器的组件。它提供了一种直观的方式来让用户从一组选项中进行选择&#xff0c;类似于转盘式数字密码锁。网上找的类似网图如下&#xff1a; 在QML里&#xff0c;这种组件一共有两个版本&#xff0c;分别在QtQuick.Extras 1.4(旧)和QtQuic…

【Python】-蚂蚁森林问答题-查看当天的答案

http://www.xuexili.com/mayizhuangyuan/jinridaan.htmlimport requests from lxml import etree import time import re url ‘https://www.app178.com/dujia/248082.html’ resp requests.get(url) resp.encoding ‘utf-8’ html etree.HTML(resp.text.encode(‘gbk’).…

20.网工入门篇--------介绍下IPV6基础知识

地址表示形式&#xff1a; 完整格式&#xff1a;IPv6 地址总长度为 128 位&#xff0c;通常分为 8 组&#xff0c;每组为 4 个十六进制数的形式&#xff0c;每组十六进制数间用冒号分隔。例如&#xff1a;2001:0db8:85a3:0000:0000:8a2e:0370:7334。压缩格式&#xff1a;为了书…

车载无人机用来做什么?车载无人机技术详解

车载无人机是将车和无人机组合到一起的产品&#xff0c;它有效地结合了无人机的灵活性和指挥车的远距离移动性&#xff0c;大大扩展了无人机的使用范围。以下是对车载无人机技术的详细解析&#xff1a; 一、车载无人机的应用 1. 应急现场指挥&#xff1a; 车载无人机可迅速抵…

【ChatGPT】让ChatGPT根据固定模板生成报告或文档

让ChatGPT根据固定模板生成报告或文档 在撰写报告或文档时&#xff0c;使用固定模板可以确保内容的统一性和结构的清晰性。利用ChatGPT生成符合特定模板的报告&#xff0c;不仅提高了工作效率&#xff0c;还能确保信息的准确传达。本文将探讨如何设计固定模板并引导ChatGPT生成…

HarmonyOS NEXT 应用开发实战(九、知乎日报项目详情页实现详细介绍)

在本篇博文中&#xff0c;我们将探讨如何使用 HarmonyOS Next 框架开发一个知乎日报的详情页&#xff0c;逐步介绍所用到的组件及代码实现。知乎日报是个小巧完整的小项目&#xff0c;这是一个循序渐进的过程&#xff0c;适合初学者和有一定开发经验的工程师参考。 1. 项目背景…

C++线程异步

std::future std::future作为异步结果的传输通道&#xff0c;可以很方便地获取线程函数的返回值。 std::future_status Ready (std::future_status::ready): 当与 std::future 对象关联的异步操作已经完成时&#xff0c;std::future 处于 ready 状态。在这个状态下&#xff0c;…

阿里云k8s-master部署CNI网络插件遇到的问题

问题 按照网络上的部署方法 cd /opt/k8s # 下载 calico-kube-controllers配置文件&#xff0c;可能会网络超时 curl https://docs.projectcalico.org/manifests/calico.yaml -O kubectl apply -f calico.yaml 试了很多次都不行&#xff0c;k8s-master都是Not ready的状态 ca…