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

【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的工作流编排有任何疑问或建议,欢迎在评论区留言,我们将竭诚为您解答!

相关文章:

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

文章目录 一、工作流编排概述二、FastGPT的节点类型1. 基础功能插件(1) 文本输出(2) 功能调用(3) 工具(4) 外部调用(5) 其他 2. 系统插件3. 团队插件 三、工作流中的流向结语 在当今快速发展的人工智能领域,工作流编排的能力已成为提升用户体验和应用效率的关键因素…...

VS+Qt解决提升控件后,包含头文件格式不对问题处理

一、前言 VSQt 提升控件后&#xff0c;在uic目录下会生成ui相关的初始化文件&#xff0c;对于提升的控件头文件包含的格式为#include<> 而非 #include “ ” 导致无法找到头文件。如果手动修改为 #include “ ”相当麻烦&#xff0c;甚至每次编译都要修改一遍&#xff0c…...

opencv - py_imgproc - py_filtering filtering 过滤-卷积平滑

文章目录 平滑图像目标2D 卷积&#xff08;图像过滤&#xff09;图像模糊&#xff08;图像平滑&#xff09;1. 平均2. 高斯模糊3. 中值模糊4. 双边滤波 其他资源 平滑图像 目标 学习&#xff1a; 使用各种低通滤波器模糊图像将定制滤波器应用于图像&#xff08;2D 卷积&…...

精华帖分享|缠论系列 -笔

本文来源于量化小论坛策略分享会板块精华帖&#xff0c;作者为吴奕萱&#xff0c;发布于2023年6月4日。 以下为精华帖正文&#xff1a; 01 笔 昨天讲了3根K线组合关系的完全分类&#xff0c;按照逻辑&#xff0c;其实我们会考虑是不是应该讲4根、5根K线的组合关系了。 精华帖…...

Java项目实战II基于Spring Boot的文理医院预约挂号系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在医疗资源日益紧张的背景下&#xff0…...

NumPy Ndarray学习

1.NumPy Ndarray 对象简介 NumPy 最重要的特点是其 N 维数组对象 ndarray&#xff0c;它是一系列同类型数据的集合&#xff0c;以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。 2.N…...

Browserslist 配置

Browserslist 是一个工具和规范&#xff0c;用于定义和共享支持的浏览器列表&#xff0c;以便在前端开发中管理不同工具的兼容性。这些工具可以包括 Babel、Autoprefixer、ESLint 等&#xff0c;它们都可以使用 Browserslist 提供的配置来确定应支持哪些浏览器及其版本。 主要…...

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

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

c语言-scanf函数的用法

文章目录 一、scanf是什么&#xff1f;二、通过scanf进行赋值scanf 输入一段带空格的句子&#xff0c; %[^\n] 格式字符串。 三、赋值忽略符 一、scanf是什么&#xff1f; 函数原型&#xff1a;int scanf ( const char * format, … ); scanf是一个格式输出库函数&#xff0c;…...

AI带货主播插件开发之商品推荐模块!

AI带货主播&#xff0c;作为新兴的人工智能技术应用领域&#xff0c;正逐渐改变着电商直播的格局&#xff0c;在这一领域&#xff0c;商品推荐模块是提升用户体验、增加销售额的关键一环。 本文将探讨AI带货主播插件的商品推荐模块开发&#xff0c;并分享五段关键的源代码&…...

使用Nginx作为反向代理和负载均衡器

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Nginx作为反向代理和负载均衡器 引言 Nginx 简介 安装 Nginx Ubuntu CentOS 配置 Nginx 作为反向代理 配置 Nginx 作为负载…...

【数据结构二叉树】C非递归算法实现二叉树的先序、中序、后序遍历

引言: 遍历二叉树&#xff1a;指按某条搜索路径巡访二叉树中每个结点&#xff0c;使得每个结点均被访问一次&#xff0c;而且仅被访问一次。 除了层次遍历外&#xff0c;二叉树有三个重要的遍历方法&#xff1a;先序遍历、中序遍历、后序遍历。 1、递归算法实现先序、中序、后…...

解决网盘资源搜索难题的利器——全面解析哎哟喂啊盘搜及其优秀推荐平台

海量的资源让我们的选择更加丰富,但同时也带来了资源搜索的诸多痛点。无论是寻找最新的影视资源、软件工具,还是各类学习资料,用户常常面临以下几个问题: 资源更新不及时:很多平台资源更新缓慢,用户难以第一时间获取最新内容。 搜索效率低下:关键词搜索不精准,导致需要翻阅大量…...

草料二维码:低成本高效率的访客管理解决方案

在当前的商业和政治环境中&#xff0c;企业和政府机构越来越重视安全保密措施&#xff0c;尤其是对外来人员的行踪记录和管理。访客管理已成为企业运营中不可或缺的一环&#xff0c;它不仅提升了安全性&#xff0c;还增强了效率和便捷性。然而&#xff0c;许多机构仍在使用传统…...

qt管理系统框架(好看界面、漂亮界面、好看的界面、漂亮的界面)

概述 最近一个项目用QT开发&#xff0c;然后找了美工帮设计了下界面。总算完工&#xff0c;后想一下干脆抽出一个基础框架&#xff0c;方便以后用。 功能 支持mysql、echarts。 支持加载动态权限菜单&#xff0c;轻松权限控制。 支持遮罩对话框、抽屉 支持开机启动动画界面 内…...

在VSCode中读取Markdown文件

在VSCode安装Markdown All in One或Markdown Preview Enhanced即可 插件Markdown All in One GitHub&#xff1a;https://github.com/yzhang-gh/vscode-markdown v3.6.2下载链接&#xff1a;https://marketplace.visualstudio.com/_apis/public/gallery/publishers/yzhang/vs…...

Linux rabbitmq客户端 SimpleAmqpClient 源码编译

SimpleAmqpClient的编译成库&#xff0c;加入到工程中 1、下载SimpleAmqpClient 源码&#xff1a; git克隆的路径为&#xff1a;https://github.com/alanxz/SimpleAmqpClient.git 下载压缩包路径&#xff1a;https://codeload.github.com/alanxz/SimpleAmqpClient/zip/maste…...

一台手机可以登录运营多少个TikTok账号?

很多TikTok内容创作者和商家通过运营多个账号来实现品牌曝光和产品销售&#xff0c;这种矩阵运营方式需要一定的技巧和设备成本&#xff0c;那么对于很多新手来说&#xff0c;一台手机可以登录和运营多少个TikTok账号呢&#xff1f; 一、运营TikTok账号的数量限制 TikTok的官…...

Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现

开发语言&#xff1a;Python框架&#xff1a;flaskPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 系统首页 房屋信息详情 个人中心 管理员登录界面 管理员功能界面 用户管理界面 房屋信…...

k8s Service四层负载:服务端口暴露

在 Kubernetes 中&#xff0c;通过 Service 可以实现四层&#xff08;L4&#xff09;负载均衡&#xff0c;将流量分发至后端的 Pod。四层负载主要用于传输层&#xff08;TCP/UDP&#xff09;&#xff0c;而不像七层负载均衡&#xff08;HTTP/HTTPS&#xff09;那样进行应用层的…...

QT 关于mousePressEvent无法过滤

QT 关于mousePressEvent无法过滤 bool Filter::eventFilter(QObject *watched, QEvent *event) {// 判断是不是点击事件if((event->type() QEvent::MouseButtonPress) || (event->type() QEvent::MouseButtonDblClick)){//打印一个全局变量static int globalVar 0;gl…...

【VScode】深度对比:Cursor与VScode(CodeMoss)工具,谁才是你的GPT编程最佳助手?

文章目录 一、Cursor的强大功能1.1 Cursor的主要特点1.2 Cursor的使用技巧 二、CodeMoss的功能2.1 CodeMoss的主要特点2.2 CodeMoss的使用技巧 三、Cursor与CodeMoss的对比分析3.1 功能对比3.2 性能对比 四、总结与展望 在科技迅猛发展的今天&#xff0c;AI编程工具如雨后春笋般…...

大数据计算里的-Runtime Filter

文章目录 Runtime Filter示例 Runtime Filter 从纸面意义来看&#xff0c;就是程序在运行时&#xff0c;根据实际的数据去进行一些过滤操作。这和静态的规则优化不同&#xff0c;静态优化不考虑实现的数据的分布。 示例 select a.* ,b.* a join b on a.idb.id假设一下数据…...

【工具变量】大数据管理机构改革DID(2007-2023年)

数据简介&#xff1a;数字ZF是指以新一代信息技术为支撑&#xff0c;重塑政务信息化管理架构、业务架构、技术架构的现代化治理模式。随着数字政府的建设&#xff0c;特别是借助大数据等新一代数字技术&#xff0c;极大地提升了政府的治理能力&#xff0c;从而起到辅助监管机构…...

Linux -- 初识信号

目录 什么是信号&#xff1f; 如何使用信号&#xff1f; 代码&#xff1a; testSig.cc makefile&#xff1a; 验证&#xff1a; 2号信号&#xff1a; 9号信号&#xff1a; 建立对信号的认识&#xff1a; 信号的处理 自定义信号的处理方式&#xff1a; signal 函数…...

Ubuntu系统如何实现键盘按键映射到其他按键(以 Ctrl+c 映射到 F3,Ctrl+v 映射到 F4 为例)

文章目录 写在前面1. 功能描述2. 实现步骤2.1 安装AutoKey2.2 软件设置2.2.1 软件设置 2.3 测试是否安装成功 参考链接 写在前面 自己的测试环境&#xff1a; Ubuntu20.04 1. 功能描述 Ubuntu系统使用Ctrlc 、Ctrlv 进行复制粘贴操作的时候&#xff0c;时间长了就会出现小拇指…...

el-select、el-autocomplete的选项内容过长显示完整内容

问题&#xff1a; el-select、el-autocomplete的选项内容过长需要看清完整内容 解决方案&#xff1a; 使用el-popover悬停显示完整内容 代码&#xff1a; <el-form-item label"备注" prop"remark"><el-autocomplete v-model"form.remar…...

Go-单元测试

单元测试 测试用例的命名必须是以xxx_test.go的格式 测试用例函数必须以TestXxx开头&#xff0c;一般来说是Test被测试函数名&#xff0c;且必须为大驼峰命名 TestAdd(t *tesing.T)的形参类型必须是*tesing.T 运行测试用例指令 cmd>go test 运行正确&#xff0c;无日志&a…...

【Linux】IPC 进程间通信(一):管道(匿名管道命名管道)

✨ 无人扶我青云志&#xff0c;我自踏雪至山巅 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;Linux—登神长阶 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#…...

Kotlin类与对象

类的定义与对象创建 类的创建是比较简单的&#xff0c;主要是看一下注意点&#xff1a; 1.如果主构造函数没有任何注释或可见性修饰符&#xff0c;则可以省略constructor关键字&#xff0c;如果类中没有其他内容要写&#xff0c;可以直接省略花括号&#xff0c;最后就变成下面…...