Pull to refresh

Comments 9

При рестарте рестарте контейнера вся память теряется, это ИМХО главная проблема.
Именно по теме RAG для телеграм бота я читал статью:
https://habr.com/ru/articles/988358/

Вот вкратце разница:

Критерий // NGT Memory //«Гриша»
Тип памяти // Векторная + графовая + профиль // Ключевые слова + паттерны + профиль
Хранение // In-memory (RAM одного процесса) // JSON-файлы на диске
Поиск // Косинусное сходство эмбеддингов + Хеббовский граф // Инвертированный индекс по ключевым словам
Что запоминает // Факты о пользователе (извлечение через regex + эвристики) // Успешные Q&A-паттерны + имя пользователя
Обучение // Консолидация частых фактов // Сохранение удачных ответов + счётчик использования
Зависимости // OpenAI API для эмбеддингов // Локальная модель (Qwen), без внешних API
Масштабируемость // Низкая (in-memory, single worker) // Средняя (файлы, но нет индексов для больших объёмов)
Задержка // ~2-3 мс память + ~700 мс на эмбеддинги // ~50-200 мс поиск по ключевым словам (локально)

Согласен, рестарт = потеря — больно. Это MVP, проверял гипотезу про retrieval, а не инфраструктуру.

Разница с «Гриша» простая: я за качество поиска (эмбеддинги понимают смысл, а не только точное слово), «Гриша» за скорость и автономность (локальная модель, файлы на диске).

Redis под капотом уже в планах — там абстракция SessionStore есть, осталось реализовать. 

Мне кажется вот этот вариант сохранения ИИ личности лучше, так как не требует для своей работы LLM, да и данные после перезапуска контейнера или даже смены агента не теряются.

https://github.com/artemMprokhorov/hippograph-pro

Прочитал описание, звучит очень круто, продумано до мелочей. и всего 7 звёзд.

Согласен, hippograph — крутой проект. Но это немного разные задачи:

hippograph — сохраняет личность ИИ (характер, стиль, предпочтения самого агента).
NGT — помнит факты о пользователе (вегетарианец, аллергия, город).

Представь: hippograph делает так, чтобы бот всегда был вежливым и любил анекдоты.
NGT делает так, чтобы бот не предлагал стейк вегетарианцу.

Можно использовать вместе — hippograph задаёт характер, NGT подкидывает контекст про конкретного собеседника.

Спасибо большое за статью! Очень круто, что поделились реальными тестами
Один момент, который было бы здорово уточнить: в тестах без памяти какой именно был сетап? (что-то конкретное по промптам/окну/инструкциям?)
И ещё — какую модель вы в итоге использовали? Было бы супер узнать детали, очень интересно, как это повлияло на результаты.
Жду продолжения, пишите ещё такие материалы!

Спасибо!

Без памяти — тот же промпт, но без блоков [USER PROFILE] и [MEMORY CONTEXT]. Всё остальное идентично.

Модель — gpt-4.1-nano. Выбирал баланс цена/качество: она дешевле, но достаточно умная, чтобы понимать контекст.

То же активно интересуюсь темой. Из последнего что нашел это темпоральные графы. Про ту же временную инвалидацию.

И трёх уровневую систему памяти к примеру cortex-mem. В гитхаб есть.

Систему многоуровневого доступа (L0/L1/L2), которая включает краткие абстракты, структурированные обзоры и полные версии данных для оптимизации контекста.

“мне 30 лет”

А через 5 лет мне все еще будет 30? Есть механизм определения таких плавающих данных? Если я в чате сказал - другу исполнилось вчера 30 лет, то я смогу в другой момент/месяц/год узнать когда у него ДР?

Sign up to leave a comment.

Articles