Pipeline de dados em Python que usa LLMs para extrair grafos de conhecimento estruturados de textos não estruturados e responder perguntas com RAG.
getzep/graphiti
Framework Python para criar grafos de conhecimento temporais que acompanham mudanças nos fatos ao longo do tempo, usados como memória e contexto para agentes de IA.
- Estrelas
- 32,066
- Forks
- 3,294
- Issues abertas
- 488
- Último commit
- há 9 horas
O que é?
O Graphiti cria grafos de contexto para agentes de IA a partir de conversas, registros estruturados e textos não estruturados. Cada fato é armazenado como uma aresta entidade-relacionamento-entidade com um intervalo de validade. Assim, quando uma informação muda, o fato antigo é invalidado em vez de excluído, e é possível consultar tanto o estado atual quanto os históricos. Cada fato derivado mantém um link para o episódio bruto que lhe deu origem.
Diferentemente dos pipelines GraphRAG orientados a processamento em lote, novos episódios são integrados incrementalmente, sem recalcular o grafo inteiro. A recuperação combina embeddings semânticos, busca por palavras-chave com BM25 e navegação pelo grafo. Os desenvolvedores podem definir tipos de entidades e arestas com modelos Pydantic ou deixar que a estrutura emerja dos dados.
O Graphiti funciona com Neo4j, FalkorDB, Amazon Neptune e Kuzu (obsoleto) como backends de grafo, e usa OpenAI por padrão, além de Anthropic, Gemini, Groq, Azure OpenAI e endpoints compatíveis com OpenAI, como Ollama. Inclui servidores MCP e REST de referência, que não foram projetados para uso em produção sem a adição de autenticação.
Recursos principais
- 01Acompanha os intervalos de validade dos fatos e invalida os desatualizados em vez de excluí-los
- 02Mantém a proveniência de cada fato derivado até o episódio de origem
- 03Oferece suporte a atualizações incrementais sem recalcular o grafo inteiro
- 04Recuperação híbrida com embeddings, palavras-chave BM25 e navegação pelo grafo
- 05Tipos personalizados de entidades e arestas definidos com modelos Pydantic
- 06Backends conectáveis, incluindo Neo4j, FalkorDB e Amazon Neptune
Casos de uso
- Dar a um chatbot ou agente memória de longo prazo sobre preferências do usuário que mudam com o tempo
- Criar uma base de conhecimento que combine registros estruturados e documentos sem perder o histórico
- Responder a perguntas sobre um momento específico, como o que era verdade no trimestre passado
- Prototipar RAG com grafos temporais usando um modelo local por meio de um endpoint compatível com OpenAI
Início rápido
- 1
Instale a biblioteca com pip
pip install graphiti-core - 2
Configure a variável de ambiente OPENAI_API_KEY (o Graphiti usa o OpenAI por padrão)
- 3
Para começar rapidamente, inicie com Docker um banco de dados de grafos como o FalkorDB
docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest - 4
Execute o exemplo de início rápido no diretório examples/quickstart
Antes de usar
- É necessário ter um banco de dados de grafos, como Neo4j, FalkorDB ou Neptune, além de uma chave de API de LLM, então a configuração exige bastante trabalho.
- Só pode ser hospedado por conta própria; este projeto não oferece hospedagem gerenciada.
- Funciona melhor com LLMs que oferecem suporte a saída estruturada; modelos menores podem causar falhas na ingestão.
- A concorrência padrão é baixa para evitar limites de requisições, então a ingestão pode ser lenta até que ela seja ajustada.
Tópicos
Perguntas frequentes
- O que é graphiti?
- Framework Python para criar grafos de conhecimento temporais que acompanham mudanças nos fatos ao longo do tempo, usados como memória e contexto para agentes de IA. O Graphiti cria grafos de contexto para agentes de IA a partir de conversas, registros estruturados e textos não estruturados. Cada fato é armazenado como uma aresta entidade-relacionamento-entidade com um intervalo de validade. Assim, quando uma informação muda, o fato antigo é invalidado em vez de excluído, e é possível consultar tanto o estado atual quanto os históricos. Cada fato derivado mantém um link para o episódio bruto que lhe deu origem.
- graphiti é gratuito? Qual é a licença?
- graphiti é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- graphiti ainda é mantido?
- Manutenção ativa. O último commit de graphiti foi em 20 de out. de 2026.
- Para que posso usar graphiti?
- Dar a um chatbot ou agente memória de longo prazo sobre preferências do usuário que mudam com o tempo Criar uma base de conhecimento que combine registros estruturados e documentos sem perder o histórico Responder a perguntas sobre um momento específico, como o que era verdade no trimestre passado Prototipar RAG com grafos temporais usando um modelo local por meio de um endpoint compatível com OpenAI
- Como instalar graphiti?
- Instale a biblioteca com pip: pip install graphiti-core Configure a variável de ambiente OPENAI_API_KEY (o Graphiti usa o OpenAI por padrão) Para começar rapidamente, inicie com Docker um banco de dados de grafos como o FalkorDB: docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest Execute o exemplo de início rápido no diretório examples/quickstart
- Onde consigo graphiti?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/getzep/graphiti
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Plataforma open source de memória para IA que transforma documentos, código e conversas em um grafo de conhecimento self-hosted para agentes de IA.
Sistema de memória nativo em grafo para agentes de IA, que armazena conversas, cria grafos de conhecimento e registra raciocínios com o apoio do Neo4j.
Uma ampla coleção de agentes de IA, habilidades para agentes e apps de RAG open source, criados com modelos Claude, Gemini, GPT, DeepSeek, Llama e Qwen.
Sistema de memória de IA local-first que armazena o histórico de conversas na íntegra e o recupera por busca semântica, com acesso via servidor MCP e CLI.
Sistema de memória para agentes que armazena, recupera e reflete sobre memórias para que agentes de IA aprendam com o tempo, em vez de apenas reproduzir o histórico de conversas.