graphiti

graphiti: 무엇인지, 어떤 문제를 해결하며, 왜 인기를 얻고 있는지

해결하는 문제

Graphiti는 AI 에이전트를 위한 "temporal context graphs"를 구축하는 방법을 제공하여, 변화하는 데이터를 처리할 수 없는 정적 지식 그래프 및 평면적 RAG (Retrieval-Augmented Generation) 시스템의 문제를 해결합니다. 이를 통해 에이전트는 사실이 시간이 지남에 따라 어떻게 변하는지 추적하고, 무엇이 언제 사실이었는지에 대한 이력을 유지하며, 새로운 정보가 들어올 때 전체 그래프를 다시 계산할 필요가 없는 이점을 얻습니다.

작동 방식

Graphiti는 구조화된 데이터와 비구조화된 데이터 모두에서 엔티티, 관계, 사실의 그래프를 자율적으로 구축합니다. 출처(provenance)를 위한 원시 데이터 소스로 "episodes"를 사용합니다. 그래프의 각 사실에는 유효 기간(언제 사실이 되었고 언제 대체되었는지)이 할당되어 양방향 시간 추적(bi-temporal tracking)이 가능합니다. 이 시스템은 Pydantic 모델을 통해 정의된 규정된 온톨로지(prescribed ontologies)와 데이터에서 구조가 나타나는 학습된 온톨로지(learned ontologies)를 모두 지원합니다. 검색은 시맨틱 임베딩, 키워드 검색 (BM25), 그리고 그래프 탐색을 결합한 하이브리드 방식으로 처리됩니다.

대상 사용자

실제 세계의 빈번하게 변화하는 데이터를 기반으로 작동하며 정밀한 이력 쿼리가 필요한 상호작용형 컨텍스트 인식 AI 에이전트를 구축하는 개발자를 위해 설계되었습니다.

주요 특징

  • Temporal Fact Management: 사실의 유효 기간을 추적하여, 이전 정보를 삭제하지 않고도 무효화합니다.
  • Provenance: 모든 파생된 사실은 원래의 원시 데이터 "episodes"로 거슬러 올라갑니다.
  • Incremental Construction: 새로운 데이터는 배치 재처리 없이 실시간으로 통합됩니다.
  • Hybrid Retrieval: 저지연, 고정밀 컨텍스트를 위해 시맨틱, 키워드, 그래프 기반 검색을 결합합니다.
  • Flexible Backends: Neo4j, FalkorDB, Amazon Neptune을 포함한 여러 그래프 데이터베이스를 지원합니다.

Sources