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

Шаблон

Он берёт исходные данные (например, ваш список ответов), следует строгому шаблону или стандартам оформления, которые вы задаёте, и формирует идеально отформатированный блок текста, обеспечивая единообразие каждый раз.

Практика: наводим красоту в макете письма

1

Обновите узел LLM

Поскольку приветствие теперь возьмёт на себя узел Шаблон, нужно дать LLM указание сосредоточиться исключительно на вопросах и ответах. Скопируйте и вставьте промпт ниже или измените его по своему усмотрению.
2

Добавьте сообщение пользователя

Перечислите соответствующие переменные.
Редактирование узла LLM
3

Добавьте узел Шаблон

После узла LLM нажмите, чтобы добавить узел Шаблон.
Добавление узла Шаблон
4

Настройте входные переменные

Нажмите на узел Шаблон, перейдите в раздел входных переменных и добавьте два элемента:
  • customer: выберите User Input / {x} customer_name String
  • body: выберите LLM / {x} text String
    Входная переменная узла Шаблон
5

Форматирование с помощью Jinja

Что такое Jinja2?Если говорить просто, Jinja2 — это инструмент, который позволяет форматировать переменные (например, ваш список ответов) в текстовый шаблон именно так, как вам нужно. Он использует простые символы, чтобы отметить, куда подставляются переменные, и выполнять базовую логику. С его помощью мы можем превратить необработанный список данных в аккуратный стандартизированный блок текста.Здесь мы можем собрать вместе приветствие, подпись и тело письма, чтобы письмо каждый раз было профессиональным и единообразным.Скопируйте и вставьте этот макет точно в поле кода узла Шаблон:
Вот итоговый рабочий процесс.
Итоговый рабочий процесс
Нажмите Тестовый запуск. Задайте несколько вопросов в одном письме. Обратите внимание, как в итоговом результате появляется идеально написанное персональное вступление, красиво обобщённые ответы LLM в середине и стандартная профессиональная подпись внизу.

Мини-задание

  1. Как бы вы изменили код Jinja2, чтобы получить нумерованный список (1. Ответ, 2. Ответ) вместо маркированного?
    Загляните в документацию Jinja по шаблонам или спросите об этом LLM.
  2. Что ещё умеет узел Шаблон?