Узел «Итерация» обрабатывает массивы, выполняя одни и те же шаги рабочего процесса для каждого элемента — последовательно или параллельно. Используйте его для задач пакетной обработки, которые иначе упёрлись бы в ограничения или были бы неэффективны как одиночные операции.
Рабочий процесс обработки в узле «Итерация»

Рабочий процесс обработки в узле «Итерация»

Как работает итерация

Узел принимает на вход массив и создаёт вложенный рабочий процесс, который выполняется по одному разу для каждого элемента массива. Во время каждой итерации текущий элемент и его индекс доступны как переменные, на которые могут ссылаться внутренние узлы. Основные компоненты:
  • Входные переменные — данные массива из вышестоящих узлов
  • Внутренний рабочий процесс — шаги обработки, выполняемые для каждого элемента
  • Выходные переменные — собранные результаты всех итераций (тоже массив)

Конфигурация

Входной массив

Подключите переменную-массив из вышестоящих узлов, таких как «Экстрактор параметров», узлы «Код», «Поиск знаний» или ответы «HTTP-запроса».

Встроенные переменные

Каждая итерация предоставляет доступ к:
  • items[object] — текущий обрабатываемый элемент массива
  • index[number] — индекс текущей итерации (начиная с 0)

Режим обработки

Последовательная обработка — элементы обрабатываются один за другим по порядкуПоддержка стриминга — результаты можно выводить постепенно с помощью узлов «Ответ»Управление ресурсами — меньшее потребление памяти, предсказуемый порядок выполненияЛучше всего подходит — когда важен порядок или когда используется потоковый вывод
Сравнение последовательной и параллельной обработки

Сравнение последовательной и параллельной обработки

Включение параллельного режима в настройках итерации

Включение параллельного режима в настройках итерации

Обработка ошибок

Настройте, как обрабатывать сбои при обработке отдельных элементов массива: Прервать — остановить обработку при возникновении любой ошибки и вернуть сообщение об ошибке Продолжить при ошибке — пропускать сбойные элементы и продолжать обработку, выводя null для сбойных элементов Удалить сбойные результаты — пропускать сбойные элементы и возвращать только успешные результаты Примеры соответствия ввода и вывода:
  • Ввод: [1, 2, 3]
  • Вывод при «Продолжить при ошибке»: [result-1, null, result-3]
  • Вывод при «Удалить сбойные результаты»: [result-1, result-3]

Пример генерации длинной статьи

Создавайте объёмный контент, обрабатывая планы глав по отдельности:
Рабочий процесс генерации длинной статьи

Рабочий процесс генерации длинной статьи

Шаги рабочего процесса:
  1. Узел «Начало» — пользователь указывает название и план истории
  2. Узел «LLM» — сгенерировать детальную разбивку по главам
  3. Экстрактор параметров — преобразовать список глав в структурированный массив
  4. Узел «Итерация» — обработать каждую главу с помощью внутреннего LLM
  5. Узел «Ответ» — выводить содержимое глав потоком по мере генерации
Настройка узла «Начало» для ввода истории

Настройка узла «Начало» для ввода истории

Извлечение параметров для структуры глав

Извлечение параметров для структуры глав

Конфигурация итерации с обработкой через LLM

Конфигурация итерации с обработкой через LLM

Эффективность извлечения параметров зависит от возможностей модели и качества инструкций. Используйте более мощные модели и приводите примеры в инструкциях, чтобы улучшить результаты.

Обработка вывода

Узлы «Итерация» выводят массивы, которые часто нужно преобразовать для конечного использования:

Преобразование массива в текст

Преобразование массива в узле «Код»

Преобразование массива в узле «Код»