Files
tech/1_анализ_главы/README.md
2026-02-01 17:01:21 +03:00

3.2 KiB
Raw Blame History

Анализ главы по блокам

Анализ выполняется последовательно по четырём блокам. Каждый следующий шаг получает весь накопленный 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}
  • Только в шагах 24: {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 — исходный промпт «всё в одном»; оставлен для сравнения и отката.