42 lines
2.7 KiB
Markdown
42 lines
2.7 KiB
Markdown
# Финальная валидация согласованности (шаг 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 (генерация эмбеддингов).
|