init
This commit is contained in:
41
1_анализ_главы/README.md
Normal file
41
1_анализ_главы/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# Анализ главы по блокам
|
||||
|
||||
Анализ выполняется последовательно по четырём блокам. Каждый следующий шаг получает **весь накопленный 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` — исходный промпт «всё в одном»; оставлен для сравнения и отката.
|
||||
Reference in New Issue
Block a user