LlamaIndex 및 Spanner Graph를 통해 그래프 검색 증강 생성(GraphRAG)을 사용하는 대규모 언어 모델(LLM) 애플리케이션을 빌드할 수 있습니다.
Spanner Graph는 속성 그래프 스토어 기능을 통해 LlamaIndex와 통합되므로 개발자는 다음을 사용하여 데이터 검색 워크플로를 만들 수 있습니다.
속성 그래프 스토어: 그래프 데이터베이스에 노드와 에지를 저장하여 데이터를 그래프로 나타낼 수 있습니다. 그래프 데이터베이스를 사용하여 데이터의 복잡한 관계를 쿼리할 수 있습니다.
그래프 검색기: LLM을 사용하여 사용자의 자연어 질문을 그래프 스토어의 쿼리로 변환할 수 있습니다. 이를 통해 애플리케이션은 그래프 데이터의 정형 관계를 사용하여 질문에 답변할 수 있습니다.
LlamaIndex란 무엇인가요?
LlamaIndex는 LLM 애플리케이션을 빌드하는 데이터 프레임워크로, 검색 증강 생성(RAG) 및 기타 컨텍스트 인식 시스템의 개발을 간소화하는 데 도움이 됩니다. LlamaIndex는 LLM을 데이터에 연결하는 도구를 제공하여 데이터 수집, 색인 생성, 쿼리를 지원합니다. LLM과 함께 LlamaIndex를 사용하여 정확하고 관련 있는 대답을 제공하는 애플리케이션을 빌드할 수 있습니다.
LlamaIndex 프레임워크에 대한 자세한 내용은 LlamaIndex 제품 문서를 참조하세요.
Spanner용 속성 그래프 스토어
애플리케이션에서 속성 그래프 스토어를 사용하여 다음을 수행할 수 있습니다.
문서에서 항목과 관계를 추출하여 그래프로 저장합니다.
그래프 구조에서 복잡한 순회와 분석을 실행합니다.
Graph Query Language(GQL)를 사용하여 그래프를 쿼리해 구체적인 컨텍스트를 LLM에 제공합니다.
Spanner Graph에서 속성 그래프 스토어를 사용하려면 SpannerPropertyGraphStore 클래스를 사용합니다.
속성 그래프 스토어 튜토리얼
Spanner에서 속성 그래프 스토어를 사용하는 방법을 알아보려면 Spanner용 속성 그래프 스토어 튜토리얼을 참조하세요. 이 튜토리얼에서는 다음을 수행하는 방법을 알아봅니다.
llama-index-spanner패키지 및 LlamaIndex 설치SpannerPropertyGraphStore클래스를 초기화하고 이를 사용하여 Spanner 데이터베이스에 연결LlamaIndex 지식 그래프 추출기를 사용하여 문서에서 추출한 데이터가 포함된 노드와 에지를 Spanner Graph에 추가
GQL을 사용하여 그래프를 쿼리해 정형 정보 검색
그래프 쿼리 결과 시각화
Spanner용 그래프 검색기
LlamaIndex의 그래프 검색기는 LLM을 사용하여 사용자의 자연어 질문을 그래프 스토어의 쿼리로 변환하는 구성요소입니다. 애플리케이션은 생성된 쿼리를 사용하여 그래프 데이터의 정형 관계를 사용해 질문에 답변합니다. 그래프 검색기는 다음 워크플로를 사용하여 자연어 질문에서 답변을 생성합니다.
LLM에서 자연어 질문을 GQL 쿼리로 변환하도록 프롬프트를 작성합니다.
Spanner Graph 및
SpannerPropertyGraphStore클래스를 사용하여 그래프 스토어에 대해 GQL 쿼리를 실행합니다.Spanner Graph를 사용하여 쿼리에서 반환된 정형 데이터를 LLM에 전송합니다.
LLM을 사용하여 인간이 읽을 수 있는 답변을 생성합니다.
LlamaIndex 검색기 클래스 사용
다음 LlamaIndex 그래프 검색기 클래스를 Spanner Graph와 함께 사용하여 LLM 프롬프트에 대한 인간이 읽을 수 있는 답변을 생성할 수 있습니다.
SpannerGraphTextToGQLRetriever 클래스
SpannerGraphTextToGQLRetriever 클래스는 그래프에서 데이터를 추출할 수 있도록 자연어를 GQL 쿼리로 변환합니다.
SpannerGraphCustomRetriever 클래스
SpannerGraphCustomRetriever 클래스는 하이브리드 검색 방식을 구현합니다.
SpannerGraphCustomRetriever는 다음 단계를 수행하여 구체적이고 개념적인 질문을 처리합니다.
다음 검색을 동시에 수행합니다.
자연어 질문을 그래프를 사용하여 답변을 찾는 GQL 쿼리로 변환하는 그래프 검색입니다.
개념적으로 관련된 정보를 찾기 위한 벡터 검색 또는 시맨틱 검색
그래프 검색과 벡터 검색의 결과를 결합합니다.
LLM을 사용하여 결합된 결과를 평가하고 순위를 다시 지정합니다. LLM은 원래 질문에 답변하기 위해 가장 관련성이 높고 컨텍스트를 인식하는 정보를 선택합니다.
그래프 검색기 튜토리얼
Spanner에서 그래프 검색기를 사용하여 질문에 답변하는 방법을 알아보려면 Spanner용 그래프 검색기 튜토리얼을 참조하세요. 이 가이드에서는 다음을 수행하는 방법을 보여줍니다.
비정형 텍스트 blob에서 그래프 만들기
SpannerPropertyGraphStore클래스를 사용하여 Spanner에 그래프 저장그래프 스토어와 LLM을 사용하여
SpannerGraphTextToGQLRetriever클래스와SpannerGraphCustomRetriever인스턴스 초기화Spanner에 저장된 그래프 데이터를 사용하여 자연어 질문에 대한 답변 생성
다음 단계
다른 Google Cloud 제품과 함께 Spanner를 사용하여 생성형 AI 애플리케이션을 빌드하는 방법을 알아보려면 Spanner AI 개요를 참조하세요.
Spanner의 벡터 검색을 알아보려면 Spanner Graph에서 벡터 검색 사용을 참조하세요.
Spanner를 사용하여 벡터 임베딩을 저장하는 방법을 알아보려면 Spanner 텍스트 임베딩 가져오기를 참조하세요.
Spanner를 사용한 머신러닝에 대한 자세한 내용은 Vertex AI 통합 개요를 참조하세요.