From a01bf64445ddbf5c4b6c26169380c4b589903ac4 Mon Sep 17 00:00:00 2001 From: Antigravity Date: Wed, 7 Oct 2026 19:05:12 +0300 Subject: [PATCH] docs: update BUG-08 with 1h TTL keep-alive proposal --- TODO.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/TODO.md b/TODO.md index 94394ae..dac4c9b 100644 --- a/TODO.md +++ b/TODO.md @@ -520,7 +520,11 @@ - **Диагностика**: 1. Холодный запуск Ollama для модели Qwen 2.5 3B (после разгрузки памяти) занимает ~18.5 секунд только на загрузку весов в RAM. Генерация 450 токенов JSON на CPU суммарно требует 45-60 секунд. 2. В `app/ai.py` (строка 579) таймаут httpx к Ollama выставлен в 25 секунд (`timeout=25.0`), из-за чего запрос рвется, а во фронтенде в `api.lessons.submitDebrief` нет клиентского таймаута с аварийным выходом. - - **Варианты решения**: добавить жесткий клиентский таймаут (8-10 сек) на фронтенде с мгновенным отображением сверхбыстрого детерминированного отчета (`generate_deterministic_debrief`, работающего за 1 мс), либо переключить фоновый дебрифинг на модель `qwen2.5:1.5b`. + 3. Короткий TTL (`keep_alive: 5m`) приводит к тому, что к моменту окончания 10–15 минутного урока модель гарантированно выгружается из памяти, вызывая холодный старт прямо на финальном шаге. + - **Варианты решения**: + 1. Увеличить TTL процесса нейросети с `5m` до `1h` (`OLLAMA_KEEP_ALIVE=1h` в `docker-compose.yml`, `config.py` и `ai.py`) — во время активной учебной сессии модель всегда «горячая» в памяти и отвечает за доли секунды, а при простое > 1 часа память автоматически освобождается. + 2. Добавить жесткий клиентский таймаут (8-10 сек) на фронтенде с мгновенным отображением сверхбыстрого детерминированного отчета (`generate_deterministic_debrief`, работающего за 1 мс). + 3. Рассмотреть использование легкой модели `qwen2.5:1.5b` для ультрабыстрого ответа. - **Статус**: зафиксировано, ожидает команды на исправление. ---