To meet more diverse orchestration needs, the flow orchestration feature has been fully upgraded to workflow applications and agent orchestration applications. The flow orchestration feature is being gradually phased out. This change does not affect users who are already using the feature. You can continue to use flow orchestration, or switch to workflow applications or agent orchestration applications for a better experience. For more information, see workflow applications and agent orchestration applications.
Definition
Flow orchestration is a visual development tool for developers. It supports nodes such as Large Language Model (LLM), API, and script. The tool simplifies the process of integrating LLMs. It also provides full lifecycle management for application flows, including orchestration, testing, and deployment. This provides developers with a one-stop service for custom AI application development.
Node types
The platform supports basic nodes, model nodes, reference nodes, and function programming nodes. For a description of each node, see the following documents:
Function Compute node instructions
How to associate parameters
In flow orchestration, you must explicitly declare the input and output parameters for the flow. Intermediate steps may also require you to associate variables or intermediate results. For example, a subsequent node might use the result of a previous node as an input parameter. This section describes how to declare and reference variables.
1. Declare input parameters
The following figure shows an example of how to declare input parameters in the Start node.
For a description of the Business Pass-through and Model Detection sources, see the Start node instructions.
2. Declare output parameters
The following figure shows an example of how to declare output parameters in the End node.
The content of the End node is a text output. You can concatenate and process the content from previous nodes within this End node.
The execution result of a node is stored in a variable named svcVars. The data is stored in the following structure: svcVars.${node_id}.response.${xxx}.${yyy}. In this structure, xxx and yyy represent the specific result data structure.
For example, if you want the return result to be the output from the large language model, enter svcVars.LLM_DGc2XV.response.text in the output expression.
{
"svcVars":{
"LLM_DGc2XV":{
"params":{
"modelId":"qwen-plus-v1",
"prompt":"You are a music player. Based on the following description, recommend a song suitable for this weather: ${data}"
},
"response":{
"text":"Based on your description, a song suitable for this weather is 'Sunny Day' by Jay Chou. The song has a light and cheerful melody, and the lyrics are full of sunshine and energy, making it perfect for enjoying on a clear, warm day."
}
}
}
}
3. Associate variables across different nodes
In different nodes, you can associate input parameters with the values of existing variables using EL expressions. The associated values can come from two sources. You can use bizVars to reference the value of a declared input parameter, or you can reference variables from the intermediate execution process of a node. For example, to reference a variable in the prompt of a large language model:
${bizVars.abc} references the input parameter abc.
${svcVars.Plugin_0ebur6.response.data} references the result data from the execution of the Plugin_0ebur6 node (an API node).
When the large language model is called, the variables are replaced with their values. For more information about how to retrieve values, see Meanings and value retrieval methods of flow variables.
Canvas operations
Add a node
Drag a node from the node list on the left to the canvas.
Copy a node ID
To retrieve the execution result of a preceding node, a subsequent node needs the ID of that node to construct an expression. The copy ID feature is provided for this purpose. The node ID is also displayed in the upper-left corner of the node.

Delete a node
All nodes and connectors have a Delete button. Click the button to delete the item.

Copy a node
All nodes have a Copy button. Click the button to copy the node and its content.

Connect nodes
To connect nodes, drag a line from an output port on one node to an input port on another node.

Optimize layout with one click
The one-click layout optimization feature rearranges a cluttered canvas, as shown in the following figure. Note: Connect the nodes before you optimize the layout. Otherwise, unconnected nodes might overlap.

How to debug
Debug the flow before you publish it. Changes made by clicking Save or Test Flow are saved as draft data and do not affect the published online data.
Click Test Flow and enter the parameters as prompted.

Click OK. On the left, the executed nodes are highlighted along the execution path. On the right, the execution result of each node is displayed. Finally, you can view the returned parameters in the End node.

If an error occurs, the node that caused the error is highlighted with a red box on the left. The error message is displayed on the right to help you troubleshoot the problem.
