Анализ главы по блокам
Анализ выполняется последовательно по четырём блокам. Каждый следующий шаг получает весь накопленный JSON (уже извлечённые блоки) для согласованности. После каждого блока — валидация (см. 2_валидация_анализа_по_блокам/), затем склейка.
Входные данные (JSON)
Вход этапа 1 — один JSON-файл на главу. Поля используются в подстановках промптов и передаются по пайплайну до шага 7 (payload в Qdrant).
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
book_id |
string (UUID) | да | ID книги |
chapter_id |
string (UUID) | да | ID главы (на шаге 7 — id точки в Qdrant) |
chapter_number |
integer | да | Номер главы |
chapter_title |
string | да | Название главы → {chapter_title} |
book_title |
string | да | Название книги → {book_title} |
chapter_text |
string | да | Текст главы → {chapter_text} |
author |
string | нет | Автор книги (для payload на шаге 7) |
Файлы: вход_главы.spec.json — описание формата (JSON Schema); вход_главы.example.json — пример. Имя входного файла на главу — на усмотрение пайплайна (например input.json или {book_id}_{chapter_id}.json).
Порядок генерации
| Шаг | Промпт | Вход | Выход |
|---|---|---|---|
| 1 | extract_framework.txt | текст главы | framework |
| 2 | extract_insights.txt | текст главы + framework | insights |
| 3 | extract_application.txt | текст главы + framework + insights | application |
| 4 | extract_limitations.txt | текст главы + framework + insights + application | limitations |
Подстановки в промптах
- Во всех:
{book_title},{chapter_title},{chapter_text} - Только в шагах 2–4:
{previous_blocks_json}— весь накопленный JSON (все уже завалидированные предыдущие блоки). Пример: для extract_insights подставляем толькоframework; для extract_application — объект с ключамиframeworkиinsights; для extract_limitations — объект сframework,insights,application.
Склейка
Четыре ответа (по одному JSON-объекту с ключом framework / insights / application / limitations) объединяются в один анализ: слияние ключей верхнего уровня без вызова LLM.
Монолитный промпт
chapter_analysis_qwen3_prompt.txt — исходный промпт «всё в одном»; оставлен для сравнения и отката.