mnemo: capa de memoria IA local con grafo de conocimiento persistente

Fuentes: mnemo: a local-first AI memory layer with a persistent knowledge graph
Imagen generada por IA con el prompt: Abstract digital brain with interconnected nodes forming a knowledge graph, dark blue background, glowing data nodes connected by luminous lines, minimal futuristic tech aesthetic, no text
Imagen generada con IA

mnemo es una capa de memoria local diseñada para dotar a los modelos de lenguaje de gran tamaño (LLM) de memoria persistente sin depender de servicios en la nube. Funciona como un servicio "sidecar" que observa cada conversación, extrae entidades nombradas y relaciones mediante un LLM, construye un grafo de conocimiento en SQLite e inyecta contexto relevante en futuros prompts en menos de 50 milisegundos.

La arquitectura se compone de cuatro crates en Rust: mnemo-core (lógica de extracción de entidades, operaciones de grafo, motor de recuperación y capa de base de datos), mnemo-api (servidor REST con Axum), mnemo-cli (herramienta de línea de comandos) y mnemo-bench (12 suites de benchmarks). Todo se distribuye como un único binario estático, sin dependencias en la nube.

El flujo de uso es directo: se envía texto en bruto al endpoint /ingest, ya sea un turno de conversación, un documento o una nota. mnemo lo reenvía al LLM configurado para extraer entidades (personas, herramientas, lugares, conceptos) y sus relaciones. Las entidades se deduplican por nombre y tipo, los alias se fusionan y todo se almacena en SQLite. El grafo en memoria petgraph se actualiza de forma atómica.

Para recuperar contexto, mnemo ejecuta un pipeline de seis etapas en /retrieve: búsqueda de fragmentos por texto completo, búsqueda por nombre de entidad, expansión del grafo (BFS), filtrado de relaciones, puntuación y ensamblaje de la cadena context_prompt, lista para inyectar en el prompt del sistema del LLM objetivo.

Es compatible con Ollama (uso totalmente local y gratuito), OpenAI, Anthropic y cualquier API compatible con OpenAI. La configuración se realiza mediante variables de entorno o un archivo TOML. Incluye también un SDK en Python, disponible vía pip install mnemo-sdk, con cliente síncrono y asíncrono. Los benchmarks en Apple M2 (compilación debug) muestran latencias medias de 0,12 ms para inserción de entidades, 0,28 ms para búsqueda de fragmentos y 4,2 ms para el pipeline completo de recuperación, unas 238 operaciones por segundo; la compilación --release multiplica el rendimiento por 3-5. El proyecto se publica bajo licencia MIT, con 122 pruebas en Rust, 21 en Python y 12 benchmarks.