Разметка формы документа
Форма .docx определяет структуру и оформление итогового документа. Промпт определяет, какие сведения извлекать из стенограммы. Имена полей в форме и промпте должны совпадать.
Поля и списки
Одиночное поле записывается в двойных фигурных скобках. Для списка используется цикл, который охватывает все абзацы одного элемента:
{%p for task in tasks %}
{{ loop.index }}. {{ task.description }}
Срок: {{ task.deadline }}
{%p endfor %}
Буква p в тегах цикла указывает, что тег занимает отдельный абзац. Закрывающий тег необходимо разместить после последнего абзаца элемента списка. Нумерация подставляется через {{ loop.index }}.
Поля {{ meeting.date }} и {{ participants }} заполняются из данных запроса. Остальные поля, например {{ tasks }} и {{ summary }}, заполняет модель по промпту. Если сведения могут отсутствовать в стенограмме, в промпте следует указать, как заполнять соответствующее поле.
Виды формы
-
По полям формы — в документе размечены отдельные поля и циклы. Модель заполняет только указанные места
-
Свободный текст — модель создает содержимое целиком для единственного поля
{{ content }}
В форме свободного текста поле `{{ content }}`должно встречаться ровно один раз и занимать отдельный абзац. Желаемый формат ответа можно описать в промпте. Для документа со строгой структурой следует использовать форму с отдельными полями и циклами.
Проверка формы
Если плейсхолдер визуально выглядит правильно, но не распознается при загрузке, возможно, его форматирование разделено. В этом случае плейсхолдер необходимо удалить и набрать заново как единый фрагмент.
После загрузки шаблона следует сформировать тестовый документ и проверить, что плейсхолдеры заменены, а списки не превратились в один абзац.