feat(assistant): RAG по учебникам, кэш+счётчик, режим учителя
- RAG: индексатор scripts/index-textbooks.js → textbook_chunks (миграция 063); ask() подмешивает релевантные куски учебников (LIKE-скоринг). Покрывает учебники со статическим текстом; JS-рендеримые — через контекст страницы. Админка: тумблер RAG + кнопка «Переиндексировать» + число фрагментов. - Кэш ответов (assistant_cache, 7 дней, только «чистые» вопросы без контекста/ истории) + суточный счётчик (assistant_usage: ИИ/кэш/FAQ) в админке. - Режим учителя: роль в /context, системный промпт для учителей (задания, план урока, учительские инструменты), подсказки-чипы для учителей. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
-- ═══════════════════════════════════════════════════════════════
|
||||
-- 063: Ассистент — RAG по учебникам, кэш ответов, счётчик использования
|
||||
--
|
||||
-- textbook_chunks — куски текста учебников (по параграфам) для грунтовки
|
||||
-- ответов «Спроси Квантика». Наполняется индексатором scripts/index-textbooks.js.
|
||||
-- assistant_cache — кэш ответов модели по нормализованному вопросу (экономия квоты).
|
||||
-- assistant_usage — суточный счётчик: вызовы модели / попадания в кэш / FAQ-ответы.
|
||||
-- ═══════════════════════════════════════════════════════════════
|
||||
|
||||
CREATE TABLE textbook_chunks (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
slug TEXT NOT NULL,
|
||||
textbook_title TEXT NOT NULL DEFAULT '',
|
||||
section_title TEXT NOT NULL DEFAULT '',
|
||||
text TEXT NOT NULL
|
||||
);
|
||||
CREATE INDEX idx_textbook_chunks_slug ON textbook_chunks(slug);
|
||||
|
||||
CREATE TABLE assistant_cache (
|
||||
qhash TEXT PRIMARY KEY,
|
||||
answer TEXT NOT NULL,
|
||||
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
||||
);
|
||||
|
||||
CREATE TABLE assistant_usage (
|
||||
day TEXT PRIMARY KEY,
|
||||
model_calls INTEGER NOT NULL DEFAULT 0,
|
||||
cache_hits INTEGER NOT NULL DEFAULT 0,
|
||||
faq INTEGER NOT NULL DEFAULT 0
|
||||
);
|
||||
Reference in New Issue
Block a user