Skip to content

RAG Memory

bobberdolle1 edited this page Jan 6, 2026 · 1 revision

🧠 RAG-память

RAG (Retrieval-Augmented Generation) позволяет боту помнить контекст разговоров и использовать релевантную информацию в ответах.

Как это работает

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  Сообщение  │ ──▶ │  Embedding  │ ──▶ │  Сохранение │
└─────────────┘     └─────────────┘     └─────────────┘
                                               │
                                               ▼
┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Ответ     │ ◀── │     LLM     │ ◀── │    Поиск    │
└─────────────┘     └─────────────┘     └─────────────┘
  1. Сохранение: Каждое сообщение преобразуется в вектор (embedding) и сохраняется в БД
  2. Поиск: При новом сообщении ищутся похожие по смыслу воспоминания
  3. Контекст: Найденные воспоминания добавляются в промпт для LLM
  4. Ответ: LLM генерирует ответ с учётом контекста

Time-Decay

Свежие воспоминания важнее старых:

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

Через Mini App

Settings → RAG Memory → Toggle

Конфигурация

# Скорость затухания (0.0 = не затухает, 1.0 = быстро)
RAG_DECAY_RATE=0.1

# Порог для суммаризации (количество сообщений)
SUMMARY_THRESHOLD=50

Что запоминается

  • ✅ Текстовые сообщения
  • ✅ Транскрипции голосовых
  • ✅ Описания изображений
  • ✅ Результаты веб-поиска
  • ❌ Системные сообщения
  • ❌ Команды

Приватность

  • Память хранится локально в SQLite
  • Каждый чат имеет отдельную память
  • Данные не передаются третьим сторонам
  • Можно очистить память через Mini App

➡️ Далее: Mini-App

🏠 Начало

📖 Использование

⚡ Возможности

🛠️ Разработка

Clone this wiki locally