Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.
Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.
Pasos de configuración
Paso 1: prepara Python y Neo4j
Comprueba Python ≥3.10 y pip en un entorno aislado. El README del ejemplo aún dice 3.9: usa el mínimo del paquete. Instala Neo4j Desktop, crea e inicia una base local Neo4j 5.26 y conserva su usuario y contraseña. El paquete Python no instala el servicio.
pip install graphiti-core
Carga OPENAI_API_KEY, NEO4J_URI, NEO4J_USER y NEO4J_PASSWORD en el entorno privado de la terminal. La URI local del ejemplo oficial es bolt://localhost:7687. Usa una base vacía de prueba. Las llamadas al modelo y a embeddings (representaciones numéricas para buscar por significado) tienen coste.
Paso 2: obtiene el ejemplo y prepara su inicialización
Con Git disponible:
git clone https://github.com/getzep/graphiti.git
cd graphiti/examples/quickstart
El archivo es quickstart_neo4j.py. Antes de ejecutarlo, añade dentro de try:, antes de incorporar episodios:
await graphiti.build_indices_and_constraints()
El README exige inicializar índices y restricciones, pero el archivo consultado omite esa llamada. La adaptación usa el método del código oficial. El script utiliza python-dotenv, incluido entre las dependencias de graphiti-core.
Paso 3: ejecuta y contrasta un cambio temporal
Primero ejecuta el ejemplo sin cambiar sus episodios:
python quickstart_neo4j.py
Debe incorporar episodios e imprimir resultados sobre la fiscal general de California, incluidos hechos y fechas. Para evaluar cambios temporales, usa otra base de prueba vacía: conserva la estructura de los episodios pero sustituye su contenido por dos hechos sobre la misma entidad, por ejemplo «Ana trabaja en Alfa» y después «Ana ahora trabaja en Beta y ya no en Alfa». Asigna a cada episodio un campo reference_time con fechas UTC distintas usando datetime(2026, 1, 1, tzinfo=timezone.utc) y datetime(2026, 2, 1, tzinfo=timezone.utc). Cambia el argumento reference_time=datetime.now(timezone.utc) por reference_time=episode['reference_time'] y las consultas por «¿Dónde trabaja Ana?». Ejecuta el mismo archivo.
Comprobación
Comprueba Added episode y los hechos extraídos, no solo la conexión. En la prueba temporal, inspecciona valid_at e invalid_at: la relación con Alfa debería quedar invalidada y la de Beta vigente. La extracción depende del modelo: si no refleja el cambio, revisa los episodios y relaciones antes de dar la capacidad por comprobada.
Si algo falla
Comprueba servicio, URI, base de datos y credenciales antes de cambiar de backend. Los ejemplos de FalkorDB o Neptune tienen requisitos distintos. Este procedimiento se ha contrastado con documentación y código; no se ha ejecutado aquí.
Qué es
Graphiti es un framework para construir grafos de conocimiento temporales. Está orientado a agentes que incorporan nueva información y necesitan consultar entidades, relaciones y cambios en el tiempo.
Para qué te sirve
Cuando una relación cambia y necesitas distinguir el dato anterior del vigente.
Cuando quieres conectar hechos procedentes de distintas conversaciones o fuentes.
Cómo funciona
El framework incorpora episodios y extrae conocimiento hacia un backend de grafo. Las consultas recuperan relaciones y contexto; la configuración del proveedor y almacenamiento determina los requisitos del sistema.
Antes de empezar
Necesitas Python ≥3.10 y pip. La ruta predeterminada usa Neo4j 5.26 y una clave de OpenAI para inferencia y embeddings; el README documenta otros backends y proveedores por separado. La instalación del paquete no prepara por sí sola todos esos servicios. Revisa qué contenido procesa el proveedor.
Límites y alternativas
No convierte cualquier documento en una base de verdad perfecta. Frente a una búsqueda de fragmentos, añade relaciones y tiempo, pero la extracción puede equivocarse y exige comprobar procedencia y actualizaciones.