document/content/docs/introduction/guide/dashboard/intro.mdx
FastGPT 从 V4.0 版本开始采用新的交互方式来构建 AI 应用。使用了 Flow 节点编排(工作流)的方式来实现复杂工作流,提高可玩性和扩展性。但同时也提高了上手的门槛,有一定开发背景的用户使用起来会比较容易。
在程序中,节点可以理解为一个个 Function 或者接口。可以理解为它就是一个步骤。将多个节点一个个拼接起来,即可一步步的去实现最终的 AI 输出。
如下图,这是一个最简单的 AI 对话。它由用流程开始和 AI 对话节点组成。
执行流程如下:
从功能上,节点可以分为 2 类:
每个节点会包含 3 个核心部分:输入、输出和触发器。
FastGPT的工作流从【流程开始】节点开始执行,可以理解为从用户输入问题开始,没有固定的出口,是以节点运行结束作为出口,如果在一个轮调用中,所有节点都不再运行,则工作流结束。
下面我们来看下,工作流是如何运行的,以及每个节点何时被触发执行。
如上图所示节点会“被连接”也会“连接其他节点”,我们称“被连接”的那根线为前置线,“连接其他节点的线”为后置线。上图例子中【知识库搜索】模块左侧有一根前置线,右侧有一根后置线。而【AI对话】节点只有左侧一根前置线。
FastGPT工作流中的线有以下几种状态:
waiting:被连接的节点等待执行。active:被连接的节点可以执行。skip:被连接的节点不需要执行跳过。节点执行的原则:
waiting 的,如果有则等待。active 如果有则执行。waiting 也没有 active 则认为此节点需要跳过。active或skip并且更改前置线状态为waiting等待下一轮执行。让我们看一下上面例子的执行过程:
active。active开始执行,执行完毕后更改后置线状态为active 前置线状态为waiting。active开始执行,流程执行结束。HTTP节点中进行合并,使用[Laf](https://laf.run/)可以快速实现一个无服务器HTTP接口。