지식 그래프: RAG 시스템의 빠진 조각
대부분의 RAG 시스템은 단순한 경로를 따릅니다. 문서는 청크(chunks)로 나뉩니다. 청크는 임베딩(embeddings)으로 변환됩니다. 임베딩은 벡터 데이터베이스에 저장됩니다. 유사도 검색(similarity search)을 통해 텍스트를 찾습니다. LLM이 답변을 제공합니다.
이는 많은 챗봇에서 잘 작동합니다. 유사한 텍스트를 찾는 데는 효과적입니다. 하지만 관계를 이해해야 할 때는 한계가 있습니다.
벡터 데이터베이스는 유사해 보이는 것을 찾아냅니다. 하지만 요소들이 어떻게 연결되어 있는지는 이해하지 못합니다.
다음 사실들을 살펴보세요:
- React는 Project A에서 사용됩니다.
- Project A는 RAG 시스템을 사용합니다.
- RAG 시스템은 ChromaDB를 사용합니다.
사람은 연결 고리를 봅니다: React는 Project A로, Project A는 RAG로, RAG는 ChromaDB로 이어집니다. 벡터 데이터베이스는 네 개의 별개 텍스트 조각으로 인식합니다.
벡터 검색에 "React와 AI를 사용하는 프로젝트는 무엇인가요?"라고 물으면, 제대로 답변하지 못할 수 있습니다. 단순히 해당 단어가 포함된 문서를 찾을 뿐, 단어 사이의 경로를 따라가지 않기 때문입니다.
바로 이 지점에서 지식 그래프가 도움이 됩니다. 지식 그래프는 엔티티(entities)와 그들 사이의 연결 관계를 저장합니다. 개념 간의 링크를 매핑합니다.
기존의 벡터 데이터베이스를 교체할 필요는 없습니다. 두 가지를 모두 사용하면 됩니다. 이를 Graph-RAG라고 부릅니다.
벡터 스토어는 의미론적 검색(semantic retrieval)을 담당합니다. 그래프 스토어는 관계 검색(relationship retrieval)을 담당합니다. 이 둘이 결합되어 AI 에이전트에게 더 나은 컨텍스트를 제공합니다.
데이터에 다음과 같은 내용이 포함되어 있다면 그래프 레이어를 사용하세요:
- 기술 문서
- 연구 노트
- 제품 매뉴얼
- 기업 지식
사용자는 단순히 문서를 찾는 것 이상의 일을 하는 에이전트를 원합니다. 아이디어를 연결하고, 의존성(dependencies)을 설명할 수 있는 에이전트를 원합니다.
단순히 검색만 하는 시스템을 만드는 것을 멈추고, 추론(reason)하는 시스템을 만들기 시작하세요.
출처: https://dev.to/vishdevwork/knowledge-graphs-the-missing-piece-in-most-rag-systems-1j75
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi