Repolode
getzep

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. 1

    Instale a biblioteca com pip

    pip install graphiti-core
  2. 2

    Configure a variável de ambiente OPENAI_API_KEY (o Graphiti usa o OpenAI por padrão)

  3. 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. 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