Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Бэкенды хранения

PRX-Memory поддерживает несколько бэкендов хранения для сохранения воспоминаний и их векторных эмбеддингов. Крейт prx-memory-storage предоставляет унифицированный интерфейс, который реализуют все бэкенды.

Доступные бэкенды

БэкендЗначение конфигаПоддержка векторовХранениеЛучше всего для
JSONjsonВстроено в записиФайловоеРазработка, малые наборы данных
SQLitesqliteВстроенные векторные столбцыФайловоеПродакшен, средние наборы данных
LanceDBlancedbНативный векторный индексДиректорийноеБольшие наборы данных, быстрый ANN-поиск

Бэкенд по умолчанию

Бэкенд по умолчанию — JSON (PRX_MEMORY_BACKEND=json), не требующий никакой дополнительной настройки. Для продакшен-развёртываний рекомендуется SQLite.

JSON-бэкенд

Простейший бэкенд хранит все воспоминания в одном JSON-файле. Идеально подходит для разработки, тестирования и небольших наборов памяти (до 10 000 записей).

bash
PRX_MEMORY_BACKEND=json
PRX_MEMORY_DB=./data/memory-db.json

Преимущества:

  • Нулевая настройка — просто укажите путь к файлу.
  • Человекочитаемый — просматривайте и редактируйте любым текстовым редактором.
  • Портабельный — скопируйте файл для переноса всей базы памяти.

Ограничения:

  • Весь файл загружается в память при запуске.
  • Операции записи перезаписывают весь файл.
  • Нет индексированного поиска по векторам — полный перебор для поиска сходства.

SQLite-бэкенд

SQLite обеспечивает ACID-транзакции, индексированные запросы и встроенную поддержку векторных столбцов для эффективного поиска по сходству.

bash
PRX_MEMORY_BACKEND=sqlite
PRX_MEMORY_DB=./data/memory.db

Подробную конфигурацию см. в разделе SQLite-хранение.

LanceDB-бэкенд (опционально)

LanceDB обеспечивает нативный приближённый поиск ближайших соседей (ANN) с колоночным хранением. Включите его с флагом функции lancedb-backend:

bash
cargo build --release -p prx-memory-mcp --bin prx-memoryd --features lancedb-backend
bash
PRX_MEMORY_BACKEND=lancedb
PRX_MEMORY_DB=./data/lancedb

Требуется флаг функции

Поддержка LanceDB не включена в сборку по умолчанию. Необходимо включить флаг функции lancedb-backend во время компиляции.

Выбор бэкенда

СценарийРекомендуемый бэкенд
Локальная разработкаJSON
Продакшен с <100 тыс. записейSQLite
Продакшен с >100 тыс. записейLanceDB
Нужно человекочитаемое хранениеJSON
Нужны ACID-транзакцииSQLite
Нужен быстрый ANN-поискLanceDB

Операции с хранилищем

PRX-Memory предоставляет инструменты для обслуживания хранилища:

ИнструментОписание
memory_exportЭкспортировать все воспоминания в портабельный формат
memory_importИмпортировать воспоминания из экспорта
memory_migrateМигрировать между бэкендами хранения
memory_compactОптимизировать хранение и освободить место
memory_reembedПерегенерировать эмбеддинги всех воспоминаний с новой моделью

Следующие шаги

Released under the Apache-2.0 License.