# Оценка времени пайплайна на CPU (Ollama, qwen3:14b-q8_0)

Оценка основана на архитектуре (этапы 1–4 — вызовы LLM) и замере: **один блок framework на CPU ≈ 15+ минут** (до ответа или до 500).

## Время на GPU (из ARCHITECTURE_SUMMARY)

| Этап | Вызовы | Время на GPU |
|------|--------|----------------|
| 1. Анализ по блокам | 4 (framework, insights, application, limitations) | ~2–5 мин на главу |
| 2. Валидация блоков | 4 | ~30 сек на блок → ~2 мин |
| 2b. Финальная валидация | 1 | ~30–60 сек |
| 3. Извлечение тегов | 1 | ~1–2 мин |
| 4. Валидация тегов | 1 | ~20–30 сек |
| 6. Эмбеддинги (bge-m3) | 1 | ~5–15 сек |
| **Итого на главу (GPU)** | | **~6–11 мин** |

## Коэффициент замедления CPU vs GPU

- **«Тяжёлые» вызовы** (длинный контекст: глава + промпт): на GPU ~0.5–1.5 мин, на CPU по замеру **≥15 мин** → ориентир **15–25 мин** на один такой вызов на CPU.
- **«Лёгкие» вызовы** (валидация, короткий контекст): на GPU ~30 сек, на CPU грубо **3–6 мин** (в 6–10 раз дольше).

Используем для расчёта:
- тяжёлый вызов (этапы 1 и 3): **20 мин** на CPU;
- лёгкий вызов (этапы 2, 2b, 4): **4 мин** на CPU;
- эмбеддинги (bge-m3): **1 мин** на CPU.

## Время на одну главу (CPU)

| Этап | Кол-во вызовов | Тип | Время (CPU) |
|------|-----------------|-----|-------------|
| 1. Анализ по блокам | 4 | тяжёлый | 4 × 20 = **80 мин** |
| 2. Валидация блоков | 4 | лёгкий | 4 × 4 = **16 мин** |
| 2b. Финальная валидация | 1 | лёгкий | **4 мин** |
| 3. Извлечение тегов | 1 | тяжёлый | **20 мин** |
| 4. Валидация тегов | 1 | лёгкий | **4 мин** |
| 5. Мерж | — | без LLM | < 1 мин |
| 6. Эмбеддинги | 1 | bge-m3 | **1 мин** |
| 7–8. Qdrant, Postgres | — | без LLM | < 1 мин |
| **Итого на одну главу** | | | **≈ 126 мин ≈ 2 ч 6 мин** |

Укрупнённо: **~2–2.5 часа на одну главу** на CPU (с запасом на retry и вариативность).

## Время на книгу (CPU)

| Глав в книге | Оценка времени (CPU) |
|--------------|----------------------|
| 10 | ~20–25 ч |
| 20 | ~40–50 ч |
| 30 | ~60–75 ч |

Итого: **полная книга на CPU может занимать десятки часов**; один запуск на всю книгу без GPU обычно неудобен (дни работы, риск обрыва). Имеет смысл либо ставить GPU/Apple Silicon, либо гонять по одной главе и планировать долгие прогоны.
