# Финальная валидация согласованности (шаг 2b) Проверка связей между блоками полного анализа главы после склейки. Соответствие тексту главы не проверяется — оно уже обеспечено валидацией по блокам (каталог `2_валидация_анализа_по_блокам/`). ## Промпт | Файл | Назначение | |--------------------------|-------------------------------------------------| | validate_consistency.txt | Проверка согласованности framework, insights, application, limitations | ## Подстановки - `{book_title}` — название книги - `{chapter_title}` — название главы - `{full_analysis_json}` — полный JSON анализа (склейка блоков framework + insights + application + limitations) ## Скрипт через Ollama `run_consistency_ollama.py` — один вызов Ollama для проверки согласованности блоков. На выходе один JSON-файл. **Вход (по умолчанию):** - `../1_анализ_главы/merge.json` — полный анализ (framework, insights, application, limitations) - `../1_анализ_главы/вход_главы.json` — метаданные главы (book_title, chapter_title) **Выход:** `consistency_result.json` в каталоге скрипта (или путь через `-o`). **Формат выхода:** `verdict` (ok | needs_review | bad), `score`, `inconsistencies` — список рассогласованностей с полями type, location, summary. **Запуск:** ```bash cd 2b_финальная_валидация_согласованности python3 run_consistency_ollama.py # с указанием путей: python3 run_consistency_ollama.py --merge /path/to/merge.json --chapter /path/to/вход_главы.json -o consistency_result.json ``` ## Использование в пайплайне Вызывается после шага 2a (склейка блоков). При вердикте bad или needs_review — флаг `needs_review` по главе; опционально — «примиряющий» промпт для минимальных правок. Выход 2b (merge.json) вместе с выходом шага 4 (валидация тегов) подаётся в **шаг 5 — мерж анализа и тегов** (`5_мерж_анализа_и_тегов/`). Результат мержа — вход для шага 6 (генерация эмбеддингов).