Repolode
getzep

getzep/graphiti

AI 에이전트의 메모리와 컨텍스트로 활용할 수 있도록, 시간에 따라 변하는 사실을 추적하는 temporal knowledge graph를 구축하는 Python 프레임워크입니다.

스타
32,066
포크
3,294
열린 이슈
488
마지막 커밋
8시간 전

어떤 프로젝트인가요?

Graphiti는 대화, 정형 레코드, 비정형 텍스트를 바탕으로 AI 에이전트의 컨텍스트 그래프를 구축합니다. 각 사실은 유효 기간이 지정된 entity-relationship-entity 엣지로 저장되므로, 정보가 바뀌면 기존 사실을 삭제하지 않고 무효화하며 현재 상태와 과거 상태를 모두 조회할 수 있습니다. 파생된 모든 사실에는 이를 생성한 원본 에피소드로 연결되는 링크가 유지됩니다.

일괄 처리 방식의 GraphRAG 파이프라인과 달리, 새 에피소드를 통합할 때 전체 그래프를 다시 계산하지 않습니다. 검색에는 semantic embedding, BM25 키워드 검색, 그래프 순회가 함께 사용됩니다. 개발자는 Pydantic 모델로 entity와 edge 유형을 정의하거나 데이터에서 구조가 자연스럽게 드러나도록 할 수 있습니다.

Graphiti는 그래프 백엔드로 Neo4j, FalkorDB, Amazon Neptune, Kuzu(사용 중단 예정)를 지원합니다. 기본적으로 OpenAI를 사용하며 Anthropic, Gemini, Groq, Azure OpenAI 및 Ollama 같은 OpenAI 호환 엔드포인트도 지원합니다. 참조용 MCP 및 REST 서버가 포함되어 있지만, 인증을 추가하지 않으면 프로덕션 환경에서 사용하도록 설계된 것은 아닙니다.

핵심 기능

  • 01사실의 유효 기간을 추적하고 오래된 사실을 삭제하는 대신 무효화합니다
  • 02파생된 각 사실에서 원본 에피소드까지 출처를 추적할 수 있습니다
  • 03전체 그래프를 다시 계산하지 않고 점진적으로 업데이트할 수 있습니다
  • 04embedding, BM25 키워드, 그래프 순회를 결합한 하이브리드 검색을 제공합니다
  • 05Pydantic 모델로 사용자 지정 entity 및 edge 유형을 정의할 수 있습니다
  • 06Neo4j, FalkorDB, Amazon Neptune 등을 포함한 플러그형 백엔드를 지원합니다

활용 사례

  • 시간이 지나며 바뀌는 사용자 선호도를 챗봇이나 에이전트의 장기 기억으로 제공하기
  • 이력을 유지하면서 정형 레코드와 문서를 통합하는 지식 베이스 구축하기
  • 지난 분기에 무엇이 사실이었는지처럼 특정 시점에 대한 질문에 답하기
  • OpenAI 호환 엔드포인트를 통해 로컬 모델로 temporal graph RAG 프로토타이핑하기

빠른 시작

  1. 1

    pip로 라이브러리를 설치합니다

    pip install graphiti-core
  2. 2

    OPENAI_API_KEY 환경 변수를 설정합니다(Graphiti는 기본적으로 OpenAI를 사용합니다)

  3. 3

    빠른 시작을 위해 Docker로 FalkorDB 같은 그래프 데이터베이스를 실행합니다

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

    examples/quickstart 디렉터리에서 빠른 시작 예제를 실행합니다

사용 전 알아둘 점

  • Neo4j, FalkorDB, Neptune 같은 그래프 데이터베이스와 LLM API 키가 필요하므로 설정에 상당한 노력이 듭니다.
  • 셀프 호스팅만 지원하며, 이 프로젝트에서 관리형 호스팅을 제공하지 않습니다.
  • 구조화된 출력을 지원하는 LLM에서 가장 잘 작동합니다. 소형 모델은 데이터 수집에 실패할 수 있습니다.
  • 요청 제한을 피하기 위해 기본 동시 실행 수가 낮게 설정되어 있어, 조정하기 전까지 데이터 수집이 느릴 수 있습니다.

토픽

자주 묻는 질문

graphiti은(는) 무엇인가요?
AI 에이전트의 메모리와 컨텍스트로 활용할 수 있도록, 시간에 따라 변하는 사실을 추적하는 temporal knowledge graph를 구축하는 Python 프레임워크입니다. Graphiti는 대화, 정형 레코드, 비정형 텍스트를 바탕으로 AI 에이전트의 컨텍스트 그래프를 구축합니다. 각 사실은 유효 기간이 지정된 entity-relationship-entity 엣지로 저장되므로, 정보가 바뀌면 기존 사실을 삭제하지 않고 무효화하며 현재 상태와 과거 상태를 모두 조회할 수 있습니다. 파생된 모든 사실에는 이를 생성한 원본 에피소드로 연결되는 링크가 유지됩니다.
graphiti은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
graphiti은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
graphiti은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. graphiti의 마지막 커밋은 2026년 10월 20일입니다.
graphiti은(는) 어디에 사용할 수 있나요?
시간이 지나며 바뀌는 사용자 선호도를 챗봇이나 에이전트의 장기 기억으로 제공하기 이력을 유지하면서 정형 레코드와 문서를 통합하는 지식 베이스 구축하기 지난 분기에 무엇이 사실이었는지처럼 특정 시점에 대한 질문에 답하기 OpenAI 호환 엔드포인트를 통해 로컬 모델로 temporal graph RAG 프로토타이핑하기
graphiti는 어떻게 설치하나요?
pip로 라이브러리를 설치합니다: pip install graphiti-core OPENAI_API_KEY 환경 변수를 설정합니다(Graphiti는 기본적으로 OpenAI를 사용합니다) 빠른 시작을 위해 Docker로 FalkorDB 같은 그래프 데이터베이스를 실행합니다: docker run -p 6379:6379 -p 3000:3000 -it --rm falkordb/falkordb:latest examples/quickstart 디렉터리에서 빠른 시작 예제를 실행합니다
graphiti은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/getzep/graphiti

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트