SAG: 쿼리 시점의 동적 하이퍼엣지를 통해 의미론적 검색과 관계적 추론을 결합하는 검색 아키텍처

SAG: 쿼리 시점의 동적 하이퍼엣지를 통해 의미론적 검색과 관계적 추론을 결합하는 검색 아키텍처

해결하는 문제

SAG는 기존 RAG(의미론적 유사성에 의존함)와 GraphRAG(비싼 오프라인 그래프 구축 및 복잡한 유지보수가 필요함)의 한계를 해결합니다. SAG는 두 개의 별도 시스템이나 글로벌 지식 그래프를 유지 관리할 필요 없이 의미론적 검색과 관계적 추론을 모두 처리할 수 있는 시스템을 제공합니다.

작동 방식

SAG는 "SQL-Retrieval Augmented Generation with Query-Time Dynamic Hyperedges"를 기반으로 하는 새로운 검색 아키텍처를 도입합니다.

  1. Indexing: 문서는 청크(chunk)로 파싱됩니다. 각 청크에 대해 시스템은 하나의 "event"(완전한 의미)와 여러 개의 "entities"(경량 인덱스 포인트)를 추출합니다. 이들은 벡터 임베딩과 함께 관계형 저장소에 저장됩니다.
  2. Retrieval: 글로벌 그래프를 미리 구축하는 대신, SAG는 의미론적 신호를 사용하여 시드 엔티티(seed entities)와 이벤트(events)를 찾습니다. 그런 다음 쿼리 시점에 공유된 엔티티를 통해 SQL 조인(join)을 수행하여 검색 공간을 로컬하게 확장하며, 관련 데이터에 대해서만 "동적 하이퍼엣지(dynamic hyperedges)"를 생성합니다.
  3. Evidence: 최종 출력은 추적 가능성과 인용을 보장하기 위해 항상 원래의 소스 청크로 매핑됩니다.

대상 사용자

  • Individuals: 흩어진 문서를 정리하고 인용을 사용하여 이들과 대화할 수 있는 로컬 우선(local-first) 지식 베이스를 원하는 개인 사용자.
  • AI Agents: API 또는 Model Context Protocol (MCP)를 통해 구조화되고 검색 가능하며 추적 가능한 지식 베이스가 필요한 에이전트를 구축하는 개발자.
  • Developers: 자신의 서비스에 통합할 수 있는 고성능 RAG 엔진(zleap-sag Python package)을 찾는 개발자.

주요 특징

  • SOTA Performance: 멀티홉(multi-hop) 검색 벤치마크(HotpotQA, 2WikiMultiHopQA, MuSiQue)에서 HippoRAG 2를 능가합니다.
  • Local-First: SQLite와 LanceDB로 시작하며, 초기 설정에 위해 외부 데이터베이스가 필요하지 않습니다.
  • Traceability: 모든 결과와 인용은 정확한 원래의 텍스트 청크로 추적할 수 있습니다.
  • Extensible Integration: OpenAI 호환 채팅 엔드포인트를 지원하며, Claude Code나 Codex와 같은 에이전트와의 통합을 위해 MCP를 지원합니다.
  • Flexible Storage: PostgreSQL/pgvector 및 Elasticsearch를 포함한 여러 백엔드를 지원합니다.

Sources