Fast GraphRAG 소개
Fast GraphRAG는 해석 가능하고 정밀한 에이전트 기반 검색 워크플로를 위한 프레임워크입니다. 이 프레임워크는 사용 사례, 데이터, 쿼리에 맞게 동적으로 적응하며, 지식 그래프(GraphRAG) 기술을 활용하여 빠르고 비용 효율적인 검색-증강 생성(RAG, Retrieval-Augmented Generation)을 제공합니다. 이 프레임워크는 다음과 같은 사용자 니즈를 충족시키는 것을 목표로 합니다:
- 데이터의 복잡한 구조를 시각화하고 이해하기 쉽게 변환
- LLM 기반 애플리케이션의 검색 기능을 확장
- 지속적인 데이터 업데이트 및 쿼리 최적화를 자동으로 처리
Fast GraphRAG의 주요 특징은 다음과 같습니다:
-
해석 가능하고 디버깅 가능한 지식: 지식 그래프는 데이터 간의 관계를 시각화하여 사용자가 직관적으로 탐색할 수 있도록 도와줍니다. 그래프는 지속적으로 업데이트되며 쿼리와 시각화를 통해 디버깅할 수 있습니다.
-
빠르고 효율적인 데이터 처리: Fast GraphRAG는 경량 설계로 대규모 데이터와 작업에서도 높은 성능을 유지합니다. 이 프레임워크는 일반적인 RAG 시스템보다 최대 6배의 비용 절감 효과를 제공합니다.
-
동적 데이터 및 실시간 업데이트: 사용자 도메인 및 온톨로지(ontology)에 맞춰 그래프를 자동 생성하며, 데이터 변화에 따른 실시간 업데이트를 제공합니다.
-
지능형 탐색: PageRank 알고리즘을 기반으로 데이터 간 관계를 평가하고 탐색하며, 검색 정확도를 크게 향상시킵니다.
-
완전 비동기 및 타입 지원: 비동기 작업을 완벽히 지원하며, 예측 가능한 워크플로를 위한 강력한 타입 시스템을 제공합니다.
Fast GraphRAG 사용 예시
아래 Python 코드는 Fast GraphRAG를 활용해 도메인 설정, 예제 쿼리 생성, 텍스트 데이터 삽입 및 쿼리를 수행하는 과정을 보여주는 예시 코드입니다:
from fast_graphrag import GraphRAG
DOMAIN = "스토리를 분석하고 등장인물, 장소, 관계를 파악하세요."
EXAMPLE_QUERIES = [
"크리스마스 캐럴에서 크리스마스 이브의 의미는 무엇인가?",
"빅토리아 시대 런던의 배경이 이야기의 주제에 어떻게 기여하는가?",
"스크루지의 변화 과정은 어떻게 전개되는가?"
]
ENTITY_TYPES = ["Character", "Place", "Event"]
grag = GraphRAG(
working_dir="./book_example",
domain=DOMAIN,
example_queries="\n".join(EXAMPLE_QUERIES),
entity_types=ENTITY_TYPES
)
with open("./book.txt") as f:
grag.insert(f.read())
print(grag.query("Who is Scrooge?").response)
라이선스
Fast GraphRAG는 MIT 라이선스에 따라 오픈소스로 공개되어 있습니다. 곧바로 사용 가능한 관리형 서비스(Managed Service)를 원하시는 경우, 사용량에 따라 과금되며 첫 100개 요청은 무료로 사용 가능합니다.
Fast GraphRAG GitHub 저장소
Fast GraphRAG 관리형 서비스용 문서 사이트
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~