Это пошаговое руководство проведет вас через создание мультиплатформенного генератора контента с нуля. Помимо базовой интеграции с LLM, вы узнаете, как использовать мощные узлы Интеллос, чтобы оркестрировать продвинутые AI-приложения быстрее и с меньшими усилиями. К концу этого руководства у вас будет рабочий процесс, который принимает любой контент (текст, документы или изображения), добавляет нужный вам стиль и тон и выдает отполированные посты для социальных сетей под конкретную платформу на выбранном вами языке. Итоговый рабочий процесс показан ниже. Возвращайтесь к этой схеме по ходу сборки, чтобы не сбиться с пути и увидеть, как все узлы работают вместе.
Обзор рабочего процесса

Перед началом

1

Настройте поставщика модели

Перейдите в Настройки > Поставщик модели и убедитесь, что модели подключены. В этом руководстве используются DeepSeek V4.1 Flash (основная модель, умеет распознавать изображения) и gpt-4.1 через OpenRouter (для узлов, которым нужен строго структурированный ответ).Настройте плагин с собственным API Key от поставщика. Подробнее о добавлении и управлении поставщиками см. Поставщики моделей.
2

Настройте модель по умолчанию

  1. В правом верхнем углу страницы Поставщик модели нажмите Настройки системной модели.
  2. Установите Модель системного мышления на DeepSeek V4.1 Flash. Эта модель станет моделью по умолчанию в рабочем процессе.

Шаг 1. Создайте новый Workflow

  1. Перейдите в Студия, затем выберите Создать с нуля > Workflow.
  2. Назовите рабочий процесс Контент Генератор и нажмите Создать. Вы автоматически попадете на холст рабочего процесса и сможете приступить к сборке.
  3. Выберите узел Пользовательский ввод, чтобы начать наш рабочий процесс.

Шаг 2. Оркестрация и настройка

Все неупомянутые настройки оставляйте со значениями по умолчанию.
Давайте узлам и переменным понятные, описательные имена, чтобы их было легче распознавать и ссылаться на них.

1. Сбор данных от пользователя: узел Пользовательский ввод

Сначала нам нужно определить, какую информацию собирать от пользователей для работы нашего генератора контента: например, черновик текста, целевые платформы, желаемый тон и любые справочные материалы.Узел Пользовательский ввод — это место, где все это легко настроить. Каждое добавленное здесь поле ввода становится переменной, на которую могут ссылаться и которую могут использовать все нижестоящие узлы.
Нажмите узел Пользовательский ввод, чтобы открыть панель его настройки, затем добавьте следующие поля ввода.
  • Тип поля: Paragraph
  • Имя переменной: draft
  • Имя метки: Draft
  • Максимальная длина: 2048
  • Обязательное: Yes
  • Тип поля: File list
  • Имя переменной: user_file
  • Имя метки: Upload File (≤ 10)
  • Поддерживаемые типы файлов: Document, Image
  • Типы загружаемых файлов: Both
  • Максимальное число загрузок: 10
  • Обязательное: No
  • Тип поля: Paragraph
  • Имя переменной: voice_and_tone
  • Имя метки: Voice & Tone
  • Максимальная длина: 2048
  • Обязательное: No
  • Тип поля: Short Text
  • Имя переменной: platform
  • Имя метки: Target Platform (≤ 10)
  • Максимальная длина: 256
  • Обязательное: Yes
  • Тип поля: Select
  • Имя переменной: language
  • Имя метки: Language
  • Варианты:
    • English
    • 日本語
    • 简体中文
  • Обязательное: Yes
Пользовательский ввод

2. Определение целевых платформ: узел Экстрактор параметров

Поскольку наше поле платформы принимает произвольный текстовый ввод, пользователи могут вводить данные по-разному: x and linkedIn, post on Twitter and LinkedIn или даже Twitter + LinkedIn please.Однако нам нужен чистый и структурированный список, например ["Twitter", "LinkedIn"], с которым нижестоящие узлы смогут надежно работать.Это идеальная задача для узла Экстрактор параметров. В нашем случае он использует модель gpt-4.1, чтобы анализировать естественный язык пользователей, распознавать все эти вариации и выводить стандартизированный массив.
После узла Пользовательский ввод добавьте узел Экстрактор параметров и настройте его:
  1. В поле Модель выберите gpt-4.1, а в поле Входная переменная — User Input/platform.
  2. Добавьте параметр для извлечения:
    • Name: platform
    • Type: Array[String]
    • Description: The platform(s) for which the user wants to create tailored content.
    • Required: Yes
  3. В поле Инструкция вставьте следующее, чтобы направить LLM в извлечении параметров:
    INSTRUCTION
    Обратите внимание, что мы поручили LLM выводить определенное сообщение об ошибке для некорректных вводов — оно послужит триггером завершения нашего рабочего процесса на следующем шаге.
Экстрактор параметров

3. Проверка результатов извлечения платформ: узел ЕСЛИ/ИНАЧЕ

Что, если пользователь введет некорректное имя платформы, например ohhhhhh или BookFace? Мы не хотим тратить время и токены на генерацию бесполезного контента.В таких случаях мы можем использовать узел ЕСЛИ/ИНАЧЕ, чтобы создать ветку, которая останавливает рабочий процесс на раннем этапе. Мы зададим условие, которое проверяет сообщение об ошибке из узла Экстрактор параметров; если это сообщение обнаружено, рабочий процесс направится напрямую в узел Вывод и завершится.
Ветка IF
  1. После узла Экстрактор параметров добавьте узел ЕСЛИ/ИНАЧЕ.
  2. На панели узла ЕСЛИ/ИНАЧЕ задайте условие IF: IF Parameter Extractor/platform содержит No platforms identified. Please enter a valid platform name.
  3. После узла ЕСЛИ/ИНАЧЕ добавьте узел Вывод в ветку IF.
  4. На панели узла Вывод задайте Parameter Extractor/platform как выходную переменную.

4. Разделение загруженных файлов по типу: узел Оператор списка

Наши пользователи могут загружать в качестве справочных материалов как изображения, так и документы, но эти два типа требуют разной обработки с DeepSeek V4.1 Flash: изображения можно интерпретировать напрямую благодаря способности к распознаванию изображений, тогда как документы сначала нужно преобразовать в текст, прежде чем модель сможет их обработать.Чтобы управлять этим, мы используем два узла Оператор списка для фильтрации и разделения загруженных файлов на отдельные ветки — одну для изображений и одну для документов.
Оператор списка
  1. После узла ЕСЛИ/ИНАЧЕ добавьте два параллельных узла Оператор списка в ветку ELSE.
  2. Переименуйте один узел в Image, а другой — в Document.
  3. Настройте узел Image:
    1. Задайте User Input/user_file как входную переменную.
    2. Включите Условие фильтра: {x}type in Image.
  4. Настройте узел Document:
    1. Задайте User Input/user_file как входную переменную.
    2. Включите Условие фильтра: {x}type in Doc.

5. Извлечение текста из документов: узел Экстрактор документов

Языковая модель не может напрямую читать загруженные документы вроде PDF или DOCX, поэтому сначала мы должны преобразовать их в обычный текст.Именно это делает узел Экстрактор документов. Он принимает файлы документов на вход и выдает чистый, пригодный для использования текст для следующих шагов.
Экстрактор документов
  1. После узла Document добавьте узел Экстрактор документов.
  2. На панели узла Экстрактор документов задайте Document/result как входную переменную.

6. Объединение всех справочных материалов: узел LLM

Когда пользователи одновременно предоставляют несколько типов справочных материалов — черновик текста, документы и изображения, — нам нужно свести их в единое, связное резюме.Узел LLM выполнит эту задачу, проанализировав все разрозненные фрагменты, чтобы создать целостный контекст, который направит последующую генерацию контента.
Объединение информации
  1. После узла Экстрактор документов добавьте узел LLM.
  2. Подключите узел Image к этому узлу LLM тоже.
  3. Нажмите узел LLM, чтобы настроить его:
    1. Переименуйте его в Integrate Info.
    2. Включите Распознавание изображений и задайте Image/result как переменную распознавания изображений.
    3. В поле системной инструкции вставьте следующее:
    4. Нажмите Добавить сообщение, чтобы добавить сообщение пользователя, затем вставьте следующее. Введите { или /, чтобы заменить Doc Extractor/text и User Input/draft соответствующими переменными из списка.
      USER
      Сообщение пользователя

7. Создание индивидуального контента для каждой платформы: узел Итерация

Теперь, когда объединенные справочные материалы и целевые платформы готовы, сгенерируем адаптированный пост для каждой платформы с помощью узла Итерация.Узел пройдет в цикле по списку платформ и запустит подпроцесс для каждой: сначала проанализирует рекомендации по стилю и лучшие практики конкретной платформы, затем сгенерирует оптимизированный контент на основе всей доступной информации.
Узел Итерация
  1. После узла Integrate Info добавьте узел Итерация.
  2. Внутри узла Итерация добавьте узел LLM и настройте его:
    1. Переименуйте его в Identify Style.
    2. В поле системной инструкции вставьте следующее:
    3. Нажмите Добавить сообщение, чтобы добавить сообщение пользователя, затем вставьте следующее. Введите { или /, чтобы заменить Current Iteration/item соответствующей переменной из списка.
      USER
  3. После узла Identify Style добавьте еще один узел LLM и настройте его:
    1. Переименуйте его в Create Content и выберите модель gpt-4.1 — она поддерживает структурированный вывод, который понадобится ниже.
    2. В поле системной инструкции вставьте следующее:
    3. Нажмите Добавить сообщение, чтобы добавить сообщение пользователя, затем вставьте следующее. Введите { или /, чтобы заменить все вводы соответствующей переменной из списка.
      USER
    4. Включите структурированный вывод.
      Это позволяет нам извлекать конкретные фрагменты информации из ответа LLM более надежным образом, что критически важно для следующего шага, где мы форматируем итоговый вывод.
      Структурированный вывод
      1. Рядом с Выходные переменные включите переключатель Структурированный. Ниже появится переменная structured_output. Нажмите Настроить.
      2. В всплывающем редакторе схемы нажмите Импорт из JSON в правом верхнем углу и вставьте следующее:
        Импорт из JSON
  4. Нажмите узел Итерация, чтобы настроить его:
    1. Задайте Parameter Extractor/platform как входную переменную.
    2. Задайте Create Content/structured_output как выходную переменную.
    3. Включите Параллельный режим и установите максимальный параллелизм на 10.
      Именно поэтому ранее, в узле Пользовательский ввод, мы добавили (≤10) в имя метки поля целевой платформы.
    Настройка узла Итерация

8. Форматирование итогового вывода: узел Шаблон

Узел Итерация генерирует пост для каждой платформы, но его вывод — это сырой массив данных (например, [{"platform_name": "Twitter", "post_content": "..."}]), который не очень читабелен. Нам нужно представить результаты в более понятном формате.Здесь вступает в дело узел Шаблон — он позволяет отформатировать эти сырые данные в хорошо организованный текст с помощью шаблонизации Jinja2, обеспечивая удобный и легко читаемый итоговый вывод.
Узел Шаблон
  1. После узла Итерация добавьте узел Шаблон.
  2. На панели узла Шаблон задайте Iteration/output как входную переменную и назовите ее output.
  3. Вставьте следующий код Jinja2:
    • {% for item in output %} / {% endfor %}: проходит в цикле по каждой паре «платформа — контент» во входном массиве.
    • {{ item.platform_name }}: отображает имя платформы как заголовок H1 с эмодзи телефона.
    • {{ item.post_content }}: отображает сгенерированный контент для этой платформы.
    • Пустая строка между {{ item.post_content }} и {% endfor %} добавляет отступ между платформами в итоговом выводе.
LLM тоже умеют форматировать вывод, но их результаты могут быть непоследовательными и непредсказуемыми. Для форматирования по правилам, которое не требует рассуждений, узел Шаблон справляется с задачей более стабильно и надежно при нулевой стоимости в токенах.LLM невероятно мощны, но умение выбрать правильный инструмент в нужный момент — ключ к созданию более надежных и экономичных AI-приложений.

9. Возврат результатов пользователям: узел Вывод

  1. После узла Шаблон добавьте узел Вывод.
  2. На панели узла Вывод задайте Template/output как выходную переменную.

Шаг 3. Тестирование

Ваш рабочий процесс готов! Давайте протестируем его.
  1. Убедитесь, что ваш чек-лист чист.
    Проверка чек-листа
  2. Сверьте свой рабочий процесс с эталонной схемой, приведенной в начале, чтобы убедиться, что все узлы и связи совпадают.
  3. Нажмите Тестовый запуск в правом верхнем углу, заполните поля ввода, затем нажмите Начать запуск. Если не знаете, что вводить, попробуйте эти примеры значений:
    • Draft: We just launched a new AI writing assistant that helps teams create content 10x faster.
    • Upload File: оставьте пустым
    • Voice & Tone: Friendly and enthusiastic, but professional
    • Target Platform: Twitter and LinkedIn
    • Language: English
Успешный запуск выдает отформатированный вывод с отдельным постом для каждой платформы, например:
Результат теста
Ваши результаты могут отличаться в зависимости от используемой модели. Более мощные модели, как правило, дают вывод более высокого качества.
Чтобы проверить, как узел реагирует на разные вводы из предыдущих узлов, не нужно повторно запускать весь рабочий процесс. Просто нажмите Посмотреть кэшированные переменные внизу холста, найдите переменную, которую хотите изменить, и отредактируйте ее значение.
Если вы столкнетесь с ошибками, проверьте журналы Последний запуск соответствующего узла, чтобы определить точную причину проблемы.

Шаг 4. Публикация и распространение

Как только рабочий процесс начнет работать как ожидается и вы будете довольны результатами, нажмите Опубликовать > Опубликовать обновление, чтобы сделать его рабочим и доступным для распространения.
Если позже вы внесете какие-либо изменения, всегда не забывайте публиковать снова, чтобы обновления вступили в силу.