Repolode
getzep

getzep/graphiti

Framework de Python para crear grafos de conocimiento temporal que registran cómo cambian los hechos y sirven de memoria y contexto para agentes de IA.

Estrellas
32,066
Forks
3,294
Issues abiertos
488
Último commit
hace 12 horas

¿Qué es?

Graphiti crea grafos de contexto para agentes de IA a partir de conversaciones, registros estructurados y texto no estructurado. Cada hecho se almacena como una arista entidad-relación-entidad con un período de validez, de modo que, cuando la información cambia, el hecho anterior se invalida en lugar de eliminarse, y se pueden consultar tanto los estados actuales como los históricos. Cada hecho derivado conserva un enlace al episodio original que lo produjo.

A diferencia de los pipelines de GraphRAG orientados al procesamiento por lotes, los episodios nuevos se integran de forma incremental, sin recalcular todo el grafo. La recuperación combina embeddings semánticos, búsqueda por palabras clave con BM25 y recorridos por el grafo. Los desarrolladores pueden definir tipos de entidades y aristas con modelos de Pydantic, o dejar que la estructura surja de los datos.

Graphiti funciona con Neo4j, FalkorDB, Amazon Neptune y Kuzu (obsoleto) como backends de grafos, y usa OpenAI de forma predeterminada, además de Anthropic, Gemini, Groq, Azure OpenAI y endpoints compatibles con OpenAI, como Ollama. Incluye servidores de referencia MCP y REST que no están pensados para usarse en producción sin añadir autenticación.

Funciones clave

  • 01Registra los períodos de validez de los hechos e invalida los obsoletos en lugar de eliminarlos
  • 02Mantiene la procedencia de cada hecho derivado hasta el episodio de origen
  • 03Admite actualizaciones incrementales sin recalcular todo el grafo
  • 04Recuperación híbrida con embeddings, palabras clave BM25 y recorridos por el grafo
  • 05Tipos personalizados de entidades y aristas definidos con modelos de Pydantic
  • 06Backends intercambiables, incluidos Neo4j, FalkorDB y Amazon Neptune

Casos de uso

  • Dar a un chatbot o agente memoria a largo plazo de las preferencias del usuario que cambian con el tiempo
  • Crear una base de conocimiento que combine registros estructurados y documentos y conserve el historial
  • Responder preguntas sobre un momento concreto, como qué era cierto el trimestre pasado
  • Prototipar RAG con grafos temporales usando un modelo local a través de un endpoint compatible con OpenAI

Inicio rápido

  1. 1

    Instala la biblioteca con pip

    pip install graphiti-core
  2. 2

    Configura la variable de entorno OPENAI_API_KEY (Graphiti usa OpenAI de forma predeterminada)

  3. 3

    Para empezar rápidamente, inicia con Docker una base de datos de grafos como FalkorDB

    docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest
  4. 4

    Ejecuta el ejemplo de inicio rápido desde el directorio examples/quickstart

Antes de usarlo

  • Necesita una base de datos de grafos como Neo4j, FalkorDB o Neptune, además de una clave de API de LLM, por lo que la configuración requiere bastante trabajo.
  • Solo se puede alojar en infraestructura propia; el proyecto no ofrece alojamiento gestionado.
  • Funciona mejor con LLM que admiten salida estructurada; los modelos más pequeños pueden provocar fallos en la ingesta.
  • La concurrencia predeterminada es baja para evitar límites de solicitudes, por lo que la ingesta puede ser lenta hasta que se ajuste.

Temas

Preguntas frecuentes

¿Qué es graphiti?
Framework de Python para crear grafos de conocimiento temporal que registran cómo cambian los hechos y sirven de memoria y contexto para agentes de IA. Graphiti crea grafos de contexto para agentes de IA a partir de conversaciones, registros estructurados y texto no estructurado. Cada hecho se almacena como una arista entidad-relación-entidad con un período de validez, de modo que, cuando la información cambia, el hecho anterior se invalida en lugar de eliminarse, y se pueden consultar tanto los estados actuales como los históricos. Cada hecho derivado conserva un enlace al episodio original que lo produjo.
¿graphiti es gratuito? ¿Qué licencia tiene?
graphiti es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿graphiti sigue mantenido?
Mantenimiento activo. El último commit de graphiti fue el 20 oct 2026.
¿Para qué puedo usar graphiti?
Dar a un chatbot o agente memoria a largo plazo de las preferencias del usuario que cambian con el tiempo Crear una base de conocimiento que combine registros estructurados y documentos y conserve el historial Responder preguntas sobre un momento concreto, como qué era cierto el trimestre pasado Prototipar RAG con grafos temporales usando un modelo local a través de un endpoint compatible con OpenAI
¿Cómo se instala graphiti?
Instala la biblioteca con pip: pip install graphiti-core Configura la variable de entorno OPENAI_API_KEY (Graphiti usa OpenAI de forma predeterminada) Para empezar rápidamente, inicia con Docker una base de datos de grafos como FalkorDB: docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest Ejecuta el ejemplo de inicio rápido desde el directorio examples/quickstart
¿Dónde consigo graphiti?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/getzep/graphiti

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados