그래프 기반 RAG, GraphRAG Toolkit으로 더 정확하게!
Amazon Neptune이 그래프 기반 RAG(Retrieval-Augmented Generation) 워크플로 구축을 위한 GraphRAG Toolkit을 출시함
툴킷은 비정형 데이터에서 자동 벡터 임베딩 그래프 구축 및 구조적 정보 검색을 위한 질의응답 프레임워크 제공
기존 벡터 기반 RAG와 비교하여 공급망 리스크(Supply Chain Risk)를 포함한 입체적인 답변 생성 가능
CloudFormation 템플릿을 통해 Neptune Database, OpenSearch Serverless, SageMaker 노트북 등 빠른 시작 환경 제공
GraphRAG Toolkit의 핵심: 그래프 기반 검색
GraphRAG Toolkit은 기존 RAG(Retrieval-Augmented Generation) 시스템의 단순 유사성 검색(Similarity-based Search)의 한계를 극복하기 위해 설계되었다.
그래프 모델링(Graph Modeling): 텍스트 간의 다양한 관계(Relationship)를 그래프 형태로 표현하여, 의미적 유사성 외에도 시간적 인접성, 인과 관계 등 다양한 연결고리를 활용
구조적 정보 검색(Structured Information Retrieval): 질문과 직접적으로 관련 없는 정보도 구조적 연결(Structural Connection)을 통해 검색하여, 보다 정확하고 완전한 답변 생성
결론: 공급망 리스크와 같은 복잡한 상황을 분석하고, 더욱 현실적인 답변(Realistic Answer)을 제공하는 것이 핵심이다.
GraphRAG Toolkit 아키텍처: 인덱싱과 쿼리
GraphRAG Toolkit은 인덱싱(Indexing)과 쿼리(Querying) 두 단계로 구성된 RAG 애플리케이션 구축을 지원한다.
인덱싱: 비정형 텍스트 데이터를 그래프 스토어(Graph Store)와 벡터 스토어(Vector Store)에 저장하는 과정
LexicalGraphIndex: 텍스트 추출(Extract) 및 그래프/벡터 스토어 구축(Build)을 위한 핵심 클래스
쿼리: 그래프 및 벡터 저장소에서 관련 정보를 검색하고, LLM(Large Language Model)을 통해 최종 답변을 생성하는 과정
LexicalGraphQueryEngine: 그래프 탐색(Graph Traversal)과 벡터 검색(Vector Search)을 결합한 다양한 쿼리 전략 제공
결과적으로, GraphRAG Toolkit은 end-to-end RAG 파이프라인(End-to-end RAG Pipeline)을 손쉽게 구축할 수 있도록 돕는다.
GraphRAG Toolkit 설치 및 배포: CloudFormation 활용
GraphRAG Toolkit은 AWS CloudFormation 템플릿을 통해 간편하게 배포할 수 있다.
CloudFormation 템플릿: Neptune Database, OpenSearch Serverless, Amazon SageMaker 노트북 등 필요한 리소스를 자동 생성
사전 요구사항: Amazon Bedrock에서 사용할 FM(Foundation Model)에 대한 액세스 권한 활성화
파라미터 설정: ApplicationId, IamPolicyArn 등 주요 파라미터 설정 가능
노트북 실행: 01 — Combined-Extract-and-Build 노트북을 통해 툴킷 설치 및 예제 실행 가능
리소스 정리: 배포된 리소스는 비용 발생하므로, 사용 후 CloudFormation 스택 삭제 권장
이러한 과정을 통해, 사용자는 GraphRAG Toolkit을 빠르게 체험(Quick Experience)하고, 자체 애플리케이션에 통합할 수 있다.
GraphRAG Toolkit의 활용: 자체 애플리케이션 통합
GraphRAG Toolkit은 CloudFormation 템플릿 외에도, 기존 환경에 통합하여 사용할 수 있다.
필요 조건: 사전 프로비저닝된 그래프·벡터 저장소 리소스 및 적절한 FM(Foundation Model) 액세스 권한
pip 설치: 툴킷과 종속성은 pip를 통해 설치 가능하며, 최신 버전은 GitHub 릴리스에서 제공
코드 변형: 제공되는 예제를 참고하여 자체 Python 애플리케이션에 맞게 코드 변형 가능
진입점 구성: if __name__ == '__main__' 블록 안에 실행 로직을 넣어 구성
결론: GraphRAG Toolkit은 유연한 통합(Flexible Integration)을 지원하며, 자체 RAG 애플리케이션 개발을 가속화한다.