Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Backends de Almacenamiento

PRX-Memory soporta múltiples backends de almacenamiento para persistir memorias y sus embeddings vectoriales. El crate prx-memory-storage proporciona una interfaz unificada que todos los backends implementan.

Backends Disponibles

BackendValor de ConfiguraciónSoporte VectorialPersistenciaIdeal Para
JSONjsonEmbebido en entradasBasado en archivoDesarrollo, conjuntos de datos pequeños
SQLitesqliteColumnas vectoriales integradasBasado en archivoProducción, conjuntos de datos medianos
LanceDBlancedbÍndice vectorial nativoBasado en directorioGrandes conjuntos de datos, búsqueda ANN rápida

Backend por Defecto

El backend por defecto es JSON (PRX_MEMORY_BACKEND=json), que no requiere configuración adicional. Para despliegues en producción, se recomienda SQLite.

Backend JSON

El backend más simple almacena todas las memorias en un único archivo JSON. Es ideal para desarrollo, pruebas y conjuntos de memorias pequeños (menos de 10,000 entradas).

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

Ventajas:

  • Sin configuración -- solo especifica una ruta de archivo.
  • Legible por humanos -- inspecciona y edita con cualquier editor de texto.
  • Portátil -- copia el archivo para mover tu base de datos de memorias completa.

Limitaciones:

  • El archivo completo se carga en memoria al inicio.
  • Las operaciones de escritura reescriben el archivo completo.
  • Sin búsqueda vectorial indexada -- escaneo de fuerza bruta para similitud.

Backend SQLite

SQLite proporciona transacciones ACID, consultas indexadas y soporte de columnas vectoriales integrado para búsqueda de similitud eficiente.

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

Ver Almacenamiento SQLite para configuración detallada.

Backend LanceDB (Opcional)

LanceDB proporciona búsqueda vectorial de vecino más cercano aproximado (ANN) nativa con almacenamiento columnar. Habilítalo con el indicador de característica 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

Indicador de Característica Requerido

El soporte de LanceDB no está incluido en la compilación por defecto. Debes habilitar el indicador de característica lancedb-backend en tiempo de compilación.

Elegir un Backend

EscenarioBackend Recomendado
Desarrollo localJSON
Producción con <100k entradasSQLite
Producción con >100k entradasLanceDB
Necesita almacenamiento legible por humanosJSON
Necesita transacciones ACIDSQLite
Necesita búsqueda vectorial ANN rápidaLanceDB

Operaciones de Almacenamiento

PRX-Memory proporciona herramientas para el mantenimiento del almacenamiento:

HerramientaDescripción
memory_exportExportar todas las memorias a un formato portátil
memory_importImportar memorias desde una exportación
memory_migrateMigrar entre backends de almacenamiento
memory_compactOptimizar el almacenamiento y recuperar espacio
memory_reembedRe-embeber todas las memorias con un nuevo modelo

Siguientes Pasos

Released under the Apache-2.0 License.