Motor de memoria SQL nativo de código abierto para LLM, Agentes de IA y sistemas multiagente. Implementa memoria de IA persistente y consultable con una sola línea de código.

NOASSERTIONPythonMemoriGibsonAI 8.5k Last Updated: November 24, 2025

Memori - Introducción detallada al motor de memoria de IA de código abierto

Resumen del proyecto

Memori es un motor de memoria SQL nativo de código abierto, diseñado específicamente para modelos de lenguaje grandes (LLM), agentes de IA y sistemas multiagente. Permite que cualquier LLM tenga capacidades de memoria persistente y consultable con una sola línea de código, almacenando los datos de memoria en una base de datos SQL estándar.

Características principales:

  • Integración con una sola línea de código mediante memori.enable()
  • Los datos de memoria se almacenan en bases de datos SQL estándar (SQLite, PostgreSQL, MySQL), con control y propiedad total del usuario
  • La IA puede recordar conversaciones, aprender de las interacciones y mantener el contexto a lo largo de múltiples sesiones

¿Por qué elegir Memori?

1. Integración con una sola línea de código

Compatible con OpenAI, Anthropic, LiteLLM, LangChain y cualquier framework de LLM, la integración es extremadamente sencilla.

2. Almacenamiento SQL nativo

  • Datos de memoria portátiles, consultables y auditables
  • Almacenados en una base de datos bajo tu control total
  • No se necesitan complejas bases de datos vectoriales

3. Ahorro de costes del 80-90%

No requiere costosas bases de datos vectoriales, lo que reduce significativamente los costes operativos.

4. Cero dependencia de proveedor

Puedes exportar la memoria a formato SQLite y migrarla a cualquier lugar en cualquier momento.

5. Gestión inteligente de la memoria

  • Extracción automática de entidades
  • Mapeo de relaciones
  • Priorización de contexto

Inicio rápido

Instalación

pip install memorisdk

Uso básico

from memori import Memori
from openai import OpenAI

# Inicialización
memori = Memori(conscious_ingest=True)
memori.enable()
client = OpenAI()

# Primera conversación
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "I'm building a FastAPI project"}]
)

# Conversación posterior - Memori proporciona contexto automáticamente
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Help me add authentication"}]
)
# El LLM sabrá automáticamente la información de tu proyecto FastAPI

Bases de datos compatibles

Memori es compatible con cualquier base de datos SQL estándar:

Base de datos Ejemplo de cadena de conexión
SQLite sqlite:///my_memory.db
PostgreSQL postgresql://user:pass@localhost/memori
MySQL mysql://user:pass@localhost/memori
Neon postgresql://user:pass@ep-*.neon.tech/memori
Supabase postgresql://postgres:pass@db.*.supabase.co/postgres

Frameworks de LLM compatibles

A través del sistema de callbacks nativo de LiteLLM, Memori es compatible con todos los frameworks principales:

Framework Estado Modo de uso
OpenAI ✓ Soporte nativo from openai import OpenAI
Anthropic ✓ Soporte nativo from anthropic import Anthropic
LiteLLM ✓ Soporte nativo from litellm import completion
LangChain ✓ Compatible Integración a través de LiteLLM
Azure OpenAI ✓ Compatible Configuración usando ProviderConfig.from_azure()
Más de 100 modelos ✓ Compatible Cualquier proveedor compatible con LiteLLM

Opciones de configuración

Configuración de la base de datos

from memori import Memori

memori = Memori(
    database_connect="postgresql://user:pass@localhost/memori",
    conscious_ingest=True,  # Memoria de trabajo a corto plazo
    auto_ingest=True,       # Búsqueda dinámica en cada consulta
    openai_api_key="sk-..."
)
memori.enable()

Modos de memoria

Modo Conscious - Inyección de memoria de trabajo única

memori = Memori(conscious_ingest=True)

Modo Auto - Búsqueda dinámica en cada consulta

memori = Memori(auto_ingest=True)

Modo combinado - Ambos

memori = Memori(conscious_ingest=True, auto_ingest=True)

Configuración de variables de entorno

from memori import Memori, ConfigManager

config = ConfigManager()
config.auto_load()  # Carga desde variables de entorno o archivo de configuración
memori = Memori()
memori.enable()

Configurar variables de entorno:

export MEMORI_DATABASE__CONNECTION_STRING="postgresql://..."
export MEMORI_AGENTS__OPENAI_API_KEY="sk-..."
export MEMORI_MEMORY__NAMESPACE="production"

Cómo funciona

Memori funciona interceptando las llamadas a los LLM, inyectando contexto antes de la llamada y registrando información después:

Antes de la llamada (Inyección de contexto)

  1. Tu aplicación llama a client.chat.completions.create(messages=[...])
  2. Memori intercepta transparentemente esa llamada
  3. El Agente de Recuperación (modo auto) o el Agente Consciente (modo conscious) recupera la memoria relevante
  4. El contexto se inyecta en los mensajes antes de enviarlos al proveedor del LLM

Después de la llamada (Registro)

  1. El proveedor del LLM devuelve la respuesta
  2. El Agente de Memoria extrae entidades, clasifica (hechos, preferencias, habilidades, reglas, contexto)
  3. La conversación se almacena en la base de datos SQL, con índices de búsqueda de texto completo
  4. La respuesta original se devuelve a tu aplicación

Procesamiento en segundo plano (cada 6 horas)

  • El Agente Consciente analiza patrones, elevando recuerdos importantes del almacenamiento a largo plazo al almacenamiento a corto plazo

Ejemplos de escenarios de aplicación

Ejemplos básicos

  • Uso básico - Configuración sencilla de memoria
  • Asistente personal - Asistente de IA con memoria
  • Recuperación de memoria - Llamada a funciones
  • Configuración avanzada - Configuración para entornos de producción

Escenarios multiusuario

  • Multiusuario simple - Aislamiento de memoria de usuario
  • Aplicación FastAPI multiusuario - API REST con Swagger

Ejemplos de integración de frameworks

Memori proporciona ejemplos de integración con varios frameworks de IA populares:

  • Agno
  • AWS Strands
  • Azure AI Foundry
  • AutoGen
  • CamelAI
  • CrewAI
  • Digital Ocean AI
  • LangChain
  • OpenAI Agent
  • Swarms

Demostraciones en línea

  • Asistente de diario personal - Aplicación Streamlit disponible en línea
  • Agente asistente de investigación - Herramienta de investigación disponible en línea

Arquitectura técnica

Memori adopta un diseño de arquitectura por capas:

  1. Capa de intercepción - Intercepta transparentemente las llamadas a la API del LLM
  2. Capa de recuperación - Recupera inteligentemente el contexto de memoria relevante
  3. Capa de almacenamiento - Almacenamiento persistente en base de datos SQL
  4. Capa de análisis - Análisis en segundo plano y optimización de la memoria

Para obtener documentación detallada sobre la arquitectura, consulta architecture.md en la documentación oficial.

Edición Enterprise (Memori v3)

Memori está abriendo un pequeño grupo de prueba privado para la versión v3. Si deseas obtener más información y acceso anticipado a la nueva arquitectura de memoria para IA empresarial, puedes unirte a su programa de pruebas.

Comunidad y soporte

Guía de contribución

¡Memori da la bienvenida a las contribuciones de la comunidad! El proyecto proporciona una guía detallada de contribución, que incluye:

  • Configuración del entorno de desarrollo
  • Estilo y estándares de código
  • Envío de Pull Requests
  • Reporte de problemas

Licencia de código abierto

Licencia Apache 2.0

Resumen

Memori es una solución de memoria de IA potente y fácil de usar, especialmente adecuada para:

  • Desarrolladores que necesitan añadir funciones de memoria a aplicaciones LLM
  • Equipos que construyen asistentes de IA multisesión
  • Proyectos que necesitan reducir los costes de las bases de datos vectoriales
  • Empresas que desean un control total sobre los datos de memoria de la IA

A través de su almacenamiento SQL nativo y su filosofía de diseño de integración con una sola línea de código, Memori reduce en gran medida la barrera y el coste de añadir funciones de memoria a las aplicaciones de IA.

Star History Chart