Primeros pasos
Experimenta las funciones principales de MemX en 5 minutos: instalar → inicializar → escribir → recuperar → ver el estado.
Requisitos previos
Python 3.9+ · pip · Lurus API KeyAPI KeyCredencial de acceso a la API, similar a una contraseña. Cada Key puede tener cuotas y permisos configurados de forma independiente.Más información → (cómo obtenerla, se usa para el refinamiento por LLM en modo hybrid). Tiempo estimado: 5 minutos.
Elige el método de integración
MemX ofrece tres formas de integración: Python SDK / REST / MCP. A continuación lo demostramos con «escribir + recuperar»; elige el método que prefieras (los parámetros son equivalentes entre los tres):
El tutorial paso a paso que sigue usa el Python SDK como ejemplo; REST / MCP funcionan de forma análoga.
Instalación
bashpip install git+https://github.com/UU114/memx.git # 完整安装:pip install "git+https://github.com/UU114/memx.git#egg=memx[all]"Requiere Python 3.9+. En la primera ejecución se descarga automáticamente el modelo de embeddings local (unos 90 MB) en
~/.memx/models/.Inicialización
pythonfrom memx import Memory m = Memory(config={"ace_enabled": True}) # 开启 ACE 引擎(核心功能)Una vez activado ACE, todas las escrituras y recuperaciones pasan por la canalización inteligente; la configuración por defecto basta para la mayoría de los escenarios.
Escribir conocimiento
Extrae y aprende conocimiento de las conversaciones automáticamente:
python# 从一段对话中学习 result = m.add( [ {"role": "user", "content": "pytest 总是超时怎么办?"}, {"role": "assistant", "content": "试试 pytest -x --timeout=30,逐个测试跑可以定位慢的用例"} ], user_id="developer_1", scope="project:my-backend" ) print(result) # { # "ace_ingest": { # "bullets_added": 1, # "bullets_merged": 0, # "bullets_skipped": 0, # "privacy_filtered": 0 # } # }También puedes inyectar conocimiento manualmente:
python# 手动添加一条经验 m.add( "部署前必须运行 go test -race ./... 检查竞态条件", user_id="developer_1", scope="project:my-backend", metadata={"knowledge_type": "method", "section": "workflow"} )Recuperar conocimiento
pythonresults = m.search( "pytest 调试技巧", user_id="developer_1", scope="project:my-backend" ) for item in results["results"]: print(f"[{item['score']:.2f}] {item['memory']}") # [0.87] pytest 超时问题:使用 -x --timeout=30 逐个运行定位慢用例La recuperación fusiona automáticamente los resultados de las cuatro capas de búsqueda (exacta + difusa + metadatos + semántica) y tiene en cuenta el decaimiento temporal y la coincidencia de ámbito.
Ver el estado de la base de conocimiento
pythonstatus = m.status(user_id="developer_1") print(status) # { # "total_memories": 42, # "by_section": {"debugging": 12, "workflow": 8, "tools": 6, ...}, # "avg_decay_weight": 0.73, # "permanent_count": 5, # "archive_candidates": 2 # }
Prueba rápida desde la CLI
memx status # 知识库统计
memx search "pytest 调试" # 搜索
memx learn "always use -v flag ..." # 手动添加
memx list --scope project:my-backend # 列出指定作用域
memx forget <memory-id> # 删除
memx sweep # 手动触发衰减计算
memx conflicts # 检测矛盾知识
memx export --format json > knowledge.json # 导出
memx import knowledge.json # 导入Modo de compatibilidad puro con mem0
Migración sin fricción desde mem0
Cuando solo necesites las funciones básicas de memoria, desactiva ACE: el comportamiento es 100 % idéntico al de mem0 (con ACE desactivado, el paso a través tiene coste cero, así que puedes migrar primero y activarlo de forma gradual después).
m = Memory() # ace_enabled 默认 False
m.add("some knowledge", user_id="user1")
results = m.search("query", user_id="user1")