CreateList 通用动态列表构建与聚合节点
节点核心功能 (What is it?)
CreateList 节点是一个实用的通用列表容器构建工具,能够将接入或填入的多个离散数据项整合为一个统一的列表(List)对象。它允许创作者在工作流画布中动态组装、归集异构或同构的数据,生成符合下游规范的列表结构。
典型适用场景 (When would I use it?)
在以下情况下使用 CreateList 节点:
- 将多个分散的独立数据项合并打包为一个单一的列表;
- 聚合来自工作流不同计算分支的输出结果;
- 构建下游需要列表格式作为输入的数据结构(例如批量 Prompt 运行、多图像批处理);
- 为需要
list输入插槽的特定算子节点准备规范化数据; - 整合不同数据类型的混合对象集合。
使用指南 (How to use it)
基础配置流程 (Basic Setup)
- 在工作流画布中添加 CreateList 节点。
- 将各个独立的元素引脚依次连接至
items输入插槽,或在节点属性面板中直接添加配置元素。 - 节点将自动把所有输入元素依序聚合成一个统一的单一列表。
- 将
output引脚连接至下游消费该列表的算子。
参数输入插槽 (Parameters)
- items:待聚合为列表的元素集合(支持连接接入任意数据类型的多个离散输入)。
输出引脚 (Outputs)
- output:打包了所有输入元素的全新列表对象工件(
list)。
典型工作流示例 (Example)
创建一个包含混合异构数据类型的统一列表:
- 在画布中添加 CreateList 节点。
- 将一个字符串文本节点、一个浮点数计算节点和一个布尔开关节点的输出分别连入
items参数插槽。 - 节点的
output将即刻输出包含这些所有元素的列表,其物理排列顺序与连接顺序完全对应。
关键技术特性 (Important Notes)
- 无限制任意类型 (Any Type):CreateList 节点具备多态容纳能力,可以自由容纳字符串、数值、布尔值、图片 Artifact、甚至嵌套的子字典或子列表;
- 连接顺序保留:元素在最终输出列表中的索引顺序严格与创作者在画布上连接或配置的先后顺序保持一致;
- 响应式动态刷新:当任何上游接入项的数据发生变化时,节点会自动响应式刷新输出列表;
- 混合录入模式:既支持通过连线从外部算子引脚注入,也支持在面板属性中直接静态声明。
常见问题与排查 (Common Issues)
- 空列表输出 (Empty List):若未接入或配置任何元素项,该节点将安全地返回一个空列表
[],不抛出空指针异常。 - 下游类型约束冲突 (Type Mismatch):虽然 CreateList 自身支持混合类型,但需注意某些专门的下游算子可能强制要求同构列表(如仅接收纯文本列表),请确保传入类型符合下游契约。