MaxKB 如何将每次循环内容存储为数组

一、背景

MaxKB 的循环节点支持数组循环、指定次数循环及无限循环三种模式,是实现批量数据处理的核心组件。本文以生成小说为例,主要介绍如何将每次循环内容存储为数组。在此工作流中,第一次循环,每次循环生成一章续写内容,拼接入数组,第二次循环,将拼接完成的数组转为字符串,最终生成docx文件下载链接。

二、工作流描述

1、创建会话变量:小说数组(数组)、完整小说(空字符串)

2、指定次数循环:生成“小说数组”数据

①每次循环,使用大语言模型生成小说一章的内容
用户提示词示例:

已知信息:
{{chat.novel_array}}

要求:
- 根据已知的小说描述,续写小说一章的故事
- 只输出续写的内容,不要有类似“📋 新章节内容:”的修饰语
- 内容要合理连贯,只需续写一章,100字左右
- 每一章必须设置独立的 Markdown 标题,禁止所有章节使用相同标题或重复 “(续)” 字样

提示:
- 若已知信息数组中只有一条数据,即为小说标题,需要根据标题编写小说第一章的内容
# 第一章 XXXX
    门板xxxx

②使用自定义工具将内容拼接进数组
代码示例:

def add_story(story, content):
    story.append(content)
    return story

③将数组赋值给会话变量“小说数组”

3、数组循环:生成“完整小说”数据

①使用自定义工具将每次循环值拼接到字符串
代码示例:

def add_next_str(story, content):
    return story + "\n" + content

②将字符串赋值给会话变量“完整小说”

4、使用工具生成docx文件下载链接

三、工作流完整截图

四、效果截图