Реализация системы генерации текста по шаблону

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Реализация системы генерации текста по шаблону
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Реализация системы генерации текста по шаблону

Генерация текста по шаблону — создание документов, где структура фиксирована, а содержание заполняется динамически из данных или через LLM. Коммерческие предложения, договоры, отчёты, уведомления — миллиарды документов в год создаются именно так.

Два подхода к шаблонизации

Детерминированные шаблоны (Jinja2, Word-шаблоны): простая подстановка переменных. Предсказуемо, аудируемо, нет галлюцинаций. Подходит для юридически значимых документов.

from jinja2 import Template

template = Template("""
Уважаемый(ая) {{ client_name }},

Ваш заказ #{{ order_id }} на сумму {{ amount | format_currency }}
готов к получению. Адрес: {{ address }}.

{% if special_note %}
Примечание: {{ special_note }}
{% endif %}
""")
text = template.render(client_name="Иван Петров", order_id="12345", ...)

LLM-based генерация по шаблону: структура задана через промпт, LLM заполняет содержание с адаптацией к контексту. Подходит для маркетинговых текстов, персонализированных писем.

def generate_from_template(data: dict, template_type: str) -> str:
    prompt = f"""Создай {template_type} на основе данных:
{json.dumps(data, ensure_ascii=False, indent=2)}

Требования:
- Деловой стиль
- Длина: 3–5 абзацев
- Обязательно упомяни: {', '.join(data.keys())}"""
    return llm.complete(prompt)

Гибридный подход

Лучшее от обоих: Jinja2 для структуры и обязательных данных, LLM для «живых» текстовых блоков:

[Заголовок: {{client_name}}, {{date}}]  ← детерминированный
[Вводный параграф: LLM генерирует приветствие под контекст клиента]
[Таблица данных: {{products_table}}]  ← детерминированный
[Заключение: LLM генерирует персонализированный призыв]
[Подпись: {{manager_name}}, {{company}}]  ← детерминированный

Контроль качества

Валидация обязательных полей: после генерации проверяется наличие всех ключевых данных (имя, сумма, дата) через regex или LLM-валидацию.

Consistency check: имя клиента должно совпадать во всём документе, суммы в словах и цифрах должны совпадать.

A/B тестирование шаблонов: разные варианты отправляются разным сегментам, конверсия сравнивается.

Для production: версионирование шаблонов в Git, отдельный review-процесс для изменений в юридических документах.