-
-
Notifications
You must be signed in to change notification settings - Fork 0
RAG Memory
bobberdolle1 edited this page Jan 6, 2026
·
1 revision
RAG (Retrieval-Augmented Generation) позволяет боту помнить контекст разговоров и использовать релевантную информацию в ответах.
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Сообщение │ ──▶ │ Embedding │ ──▶ │ Сохранение │
└─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Ответ │ ◀── │ LLM │ ◀── │ Поиск │
└─────────────┘ └─────────────┘ └─────────────┘
- Сохранение: Каждое сообщение преобразуется в вектор (embedding) и сохраняется в БД
- Поиск: При новом сообщении ищутся похожие по смыслу воспоминания
- Контекст: Найденные воспоминания добавляются в промпт для LLM
- Ответ: LLM генерирует ответ с учётом контекста
Свежие воспоминания важнее старых:
score = similarity × e^(-decay × hours/24) × importance
-
similarity— косинусное сходство векторов -
decay— скорость затухания (RAG_DECAY_RATE) -
hours— возраст воспоминания в часах -
importance— важность (1.0 для обычных, выше для ключевых)
Когда накапливается много сообщений (SUMMARY_THRESHOLD), старые диалоги автоматически сжимаются в краткие саммари:
[100 сообщений] ──▶ [Саммари: "Обсуждали проект X, решили использовать Rust..."]
Это экономит место и ускоряет поиск.
/enable_rag
/disable_rag
Settings → RAG Memory → Toggle
# Скорость затухания (0.0 = не затухает, 1.0 = быстро)
RAG_DECAY_RATE=0.1
# Порог для суммаризации (количество сообщений)
SUMMARY_THRESHOLD=50- ✅ Текстовые сообщения
- ✅ Транскрипции голосовых
- ✅ Описания изображений
- ✅ Результаты веб-поиска
- ❌ Системные сообщения
- ❌ Команды
- Память хранится локально в SQLite
- Каждый чат имеет отдельную память
- Данные не передаются третьим сторонам
- Можно очистить память через Mini App
➡️ Далее: Mini-App
GitHub · Issues · Discussions