Финальная валидация согласованности (шаг 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.
Запуск:
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 (генерация эмбеддингов).