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

【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.kler.cn/a/374098.html

相关文章:

  • Verilog实现的莫尔斯电码发生器
  • Python和MATLAB都可以用于绘制折线图,下面是分别用Python和MATLAB绘制简单折线图的示例。
  • Python自动化数据库备份:以MySQL为例
  • ros中launch文件学习(3)
  • 鸿道Intewell操作系统架构介绍之Intewell-Hyper I 虚拟化构型
  • MySQL 主从复制、切换
  • ESP8266 连接 MQTT 服务器EMQX 连接MQTTX
  • 【分布式技术】分布式序列算法Snowflake深入解读
  • (蓝桥杯C/C++)——STL(下)
  • Vue-cli之库模式以及模块化的魅力 - - 【UMD】
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-9
  • Django后台接口开发
  • 讲一讲 kafka 的 ack 的三种机制?
  • 【全新上线】波克2021天恒系统源码 - 70款娱乐游戏带视频教程支持
  • 分类算法中 XGBoost和LightGBM 的区别简介
  • ubuntu交叉编译zlib库给arm平台使用
  • 校园社团信息管理:Spring Boot技术的最佳实践
  • 自由学习记录(16)
  • 自监督强化学习:对比预测编码(CPC)算法深度解析
  • winSCP使用root账户登录群晖
  • 【AI开源项目】Botpress - 开源智能聊天机器人平台及其部署方案
  • C++STL——list
  • 论文速读:完全测试时域适应(Test-time Adaptation)目标检测(CVPR2024)
  • python 制作 发货单 (生成 html, pdf)
  • 算法效率的计算
  • C++设计模式结构型模式———适配器模式