document/content/docs/introduction/guide/dashboard/intro.en.mdx
Starting from V4.0, FastGPT adopted a new approach to building AI applications. It uses Flow node orchestration (Workflows) to implement complex processes, improving flexibility and extensibility. This does raise the learning curve — users with development experience will find it easier to pick up.
In programming terms, a node is like a function or API endpoint — think of it as a step. By connecting multiple nodes together, you build a step-by-step process that produces the final AI output.
Below is the simplest AI conversation, consisting of a Workflow Start node and an AI Chat node.
Execution flow:
Functionally, nodes fall into 2 categories:
Each node has 3 core parts: inputs, outputs, and triggers.
FastGPT Workflows start from the [Workflow Start] node, triggered when the user inputs a question. There is no fixed exit point — the workflow ends when all nodes stop running. If no nodes execute in a given cycle, the workflow completes.
Let's look at how workflows execute and when each node is triggered.
As shown above, nodes can "be connected to" and "connect to other nodes." We call incoming connections "predecessor lines" and outgoing connections "successor lines." In the example, the [Knowledge Base Search] node has one predecessor line on the left and one successor line on the right. The [AI Chat] node only has a predecessor line on the left.
Lines in FastGPT Workflows have these states:
waiting: The connected node is waiting to execute.active: The connected node is ready to execute.skip: The connected node should be skipped.Node execution rules:
waiting status, the node waits.active status, the node executes.waiting or active, the node is skipped.active or skip, and predecessor lines reset to waiting for the next cycle.Walking through the example:
active.active, executes, then sets its successor line to active and predecessor line to waiting.active and executes. The workflow ends.HTTP node for merging. Use Laf to quickly create a serverless HTTP endpoint.