NGT Memory: Open-source модуль памяти для LLM | Установка, сравнение, примеры | AiManual
AiManual Logo Ai / Manual.
24 Мар 2026 Инструмент

NGT Memory: установка и использование open-source модуля персистентной памяти для LLM

Полный обзор NGT Memory — open-source модуля персистентной памяти для LLM. Установка через Docker, три механизма извлечения данных, сравнение с Mem0 и Mengram,

Проблема: LLM как золотая рыбка с амнезией

Вы когда-нибудь объясняли свою задачу GPT-5o (или даже локальной Llama 4 70B), а через три сообщения она спрашивает: "А о чем мы вообще говорим?" Это бесит. Контекстное окно — не память, а временная записная книжка, которую сжигают после каждого сеанса.

На 24.03.2026 проблема забывчивости LLM все еще актуальна, несмотря на все улучшения архитектуры. RAG — это костыль для поиска по документам, а не для запоминания разговора. Нужно что-то более элегантное.

Вот тут появляется NGT Memory. Не очередной коммерческий сервис в стиле Mem0, а открытый движок с Docker-контейнером и REST API. Разработчики заявляют три механизма извлечения памяти: по косинусному сходству, через ассоциативный граф Хебба и по контекстному окну. Звучит как академический проект, который внезапно оказался полезным.

💡
Актуальность на 24.03.2026: NGT Memory v1.3.0 — последняя стабильная версия на момент написания. Поддерживает эмбеддинги от всех популярных моделей, включая OpenAI text-embedding-3-large, Cohere Embed V4 и открытые альтернативы типа BGE-M3. Если вы используете совсем свежие модели — проверьте совместимость в документации.

Что внутри? Три мозга вместо одного

NGT Memory не просто векторная база. Это гибридная система, которая пытается имитировать разные типы человеческой памяти. И да, это работает лучше, чем кажется.

МеханизмКак работаетКогда использовать
Косинусное сходствоИщет похожие эмбеддинги. Стандартный подход, как в RAG, но для памяти диалога.Когда нужно найти факты или прямые цитаты из прошлых разговоров.
Ассоциативный граф ХеббаСтроит связи между концепциями. "Кофе" связывается с "утром", "работами", "бодростью".Для творческих задач, мозговых штурмов, когда важны неочевидные связи.
Контекстное окноИзвлекает память, которая была активна в последние N сообщений. Как кратковременная память.Для поддержания связности в длинных диалогах, чтобы LLM не теряла нить.

В теории это похоже на интерпретируемую память из MemoryLLM, но здесь все упаковано в готовый сервис. Не надо разбираться в трансформерах — просто отправляешь HTTP-запросы.

Ставим за 5 минут. Серьезно, это быстро

Разработчики сделали установку идиотски простой. Если у вас есть Docker, вы уже на полпути.

1Тянем образ и запускаем

docker pull ghcr.io/ngt-memory/ngt-memory:1.3.0
docker run -d -p 8000:8000 \
  -v ngt_memory_data:/app/data \
  ghcr.io/ngt-memory/ngt-memory:1.3.0

Порт 8000, данные в volume. Все. REST API сразу доступен. Если хотите поменять модель эмбеддингов или параметры — есть environment variables. Документация довольно скудная, но основные параметры понятны.

Внимание на ресурсы: NGT Memory сам по себе легкий, но если вы используете локальные эмбеддинг-модели (а не удаленный API), ему потребуется оперативка. Для BGE-M3 нужно около 2.5 ГБ. Учитывайте это, если крутите всё на домашнем сервере с 10 ГБ VRAM или на ноутбуке с 16 ГБ ОЗУ. Лучше выделить отдетельную машину.

2Пишем первый клиент

API RESTful. Для примера — Python с requests. Сохраняем память о пользователе.

import requests
import json

BASE_URL = "http://localhost:8000"

# Сохраняем факт
memory_data = {
    "text": "Пользователь Алексей любит кофе без сахара и работает удаленно с 2024 года.",
    "metadata": {"user_id": "alexey", "category": "preferences"}
}
response = requests.post(f"{BASE_URL}/memory", json=memory_data)
print(response.json())  # {"id": "mem_123", "status": "saved"}

# Извлекаем память по ассоциации
query = {"text": "Что любит Алексей?", "method": "hebbian", "limit": 3}
response = requests.get(f"{BASE_URL}/memory/search", params=query)
memories = response.json()
for mem in memories:
    print(mem['text'], mem['score'])

Вот и все. Метод "hebbian" задействует ассоциативный граф. Если отправить "cosine" — получишь стандартный семантический поиск. "context" вернет последние релевантные воспоминания в рамках сессии.

А что, если...? Сравниваем с конкурентами

Mem0 — круто, но платно и закрыто. Mengram позиционируется как open-source замена Mem0 с тремя типами памяти. Так чем NGT Memory лучше или хуже?

ИнструментЦенаГибкостьСложностьФишка
NGT MemoryБесплатно (MIT)Высокая. API, три метода, свои эмбеддеры.Средняя. Нужно настраивать Docker и клиент.Граф Хебба для ассоциаций. Академический подход.
MengramБесплатно (Apache 2.0)Средняя. Готовые интеграции с популярными фреймворками.Низкая. Запустил и почти ничего не надо делать.Три готовых типа памяти из коробки. Прагматично.
Mem0Платно (от $20/мес)Низкая. Облачный сервис с ограниченным API.Очень низкая. Регистрация, ключ API, всё работает.Облачная инфраструктура, не надо ничего хостить.

Выбор прост: если вам нужен полный контроль и вы готовы повозиться — NGT Memory. Если хотите быстрое решение без головной боли — Mengram. Если деньги не проблема и нужен сервис под ключ — Mem0.

Кстати, о полном контроле: NGT Memory позволяет кастомизировать граф Хебба, менять пороги сходства, настраивать время жизни памяти. В обзоре систем долговременной памяти такой гибкости почти нет ни у кого.

Живые примеры: не только для чат-ботов

Первый сценарий — умный ассистент, который помнит ваш рабочий процесс. Вы объясняете, что используете Python, FastAPI и Docker. Через неделю спрашиваете: "Как настроить health-check?" и получаете ответ с учетом вашего стека, а не общую инструкцию.

Второй сценарий — аналитика дискуссий. NGT Memory можно поставить между пользователями и LLM в корпоративном чате. Система будет строить ассоциативный граф по обсуждениям, выявлять ключевые темы и даже находить противоречия в требованиях.

Третий — геймификация обучения. Представьте систему, похожую на Vestige с алгоритмом FSRS, но для запоминания не фактов, а контекста. LLM учится, когда напоминать вам о ваших же идеях.

💡
Технический нюанс: NGT Memory не заменяет векторные базы вроде Qdrant для RAG. Он создан для последовательностей диалога с временной меткой. Если вам нужно искать по тысячам документов — используйте его вместе со специализированным хранилищем. Это комплементарная технология.

Кому это нужно? (Спойлер: не всем)

NGT Memory — инструмент для энтузиастов и инженеров, которые строят сложные LLM-приложения. Если вы просто хотите, чтобы ChatGPT помнил ваши предпочтения, это не ваш выбор.

  • Разработчики кастомных AI-ассистентов: Которые устали от велосипедов с Redis и FAISS. Берите, настраивайте, экономьте месяц работы.
  • Исследователи: Хотите экспериментировать с ассоциативной памятью? Граф Хебба — ваша песочница. Только будьте готовы к неочевидным результатам (иногда он выдает дикие связи).
  • Команды с ограниченным бюджетом: Не хотите платить за Mem0 или не доверяете облачным API? Open-source решает.

А вот если вы запускаете LLM-IDS/IPS на DGX Spark или огромные LLM на CPU, NGT Memory может стать легковесным компонентом для хранения контекста атак или сессий.

Главный совет: перед внедрением проверьте, как работает граф Хебба на ваших данных. Иногда он генерирует гениальные инсайты, а иногда связывает "кофе" с "апокалипсисом" только потому, что оба слова встречались в одном саркастическом комментарии. Настройте пороги внимательно.

И последнее: на 24.03.2026 NGT Memory еще не достиг версии 2.0. Это значит, что API может меняться. Держите свои клиенты в версионированных контейнерах и следите за релизами. Сообщество растет, и, возможно, через полгода это будет стандарт де-факто для open-source памяти LLM. Или заглохнет. В open-source так всегда.

Подписаться на канал