LlamaIndex를 사용하여 애플리케이션 빌드

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을 사용하여 사용자의 자연어 질문을 그래프 저장소의 쿼리로 변환하는 구성요소입니다. 애플리케이션은 생성된 쿼리를 사용하여 그래프 데이터의 구조화된 관계를 사용하여 질문에 답변합니다. 그래프 리트리버는 다음 워크플로를 사용하여 자연어 질문에서 답변을 생성합니다.

  1. LLM에 자연어 질문을 GQL 쿼리로 변환하도록 프롬프트합니다.

  2. Spanner Graph 및 SpannerPropertyGraphStore 클래스를 사용하여 그래프 저장소에 대해 GQL 쿼리를 실행합니다.

  3. Spanner Graph를 사용하여 쿼리에서 반환된 구조화된 데이터를 LLM에 전송합니다.

  4. LLM을 사용하여 사람이 읽을 수 있는 답변을 생성합니다.

LlamaIndex 검색기 클래스 사용

다음 LlamaIndex 그래프 리트리버 클래스를 Spanner Graph와 함께 사용하여 LLM 프롬프트에 대한 사람이 읽을 수 있는 답변을 생성할 수 있습니다.

SpannerGraphTextToGQLRetriever 클래스

SpannerGraphTextToGQLRetriever 클래스는 그래프에서 데이터를 추출하기 위해 자연어를 GQL 쿼리로 변환합니다.

SpannerGraphCustomRetriever 클래스

SpannerGraphCustomRetriever 클래스는 하이브리드 검색 접근 방식을 구현합니다. SpannerGraphCustomRetriever는 다음 단계를 사용하여 구체적이고 개념적인 질문을 처리합니다.

  1. 다음 검색을 동시에 실행합니다.

    • 자연어 질문을 그래프를 사용하여 답변을 찾는 GQL 쿼리로 변환하는 그래프 검색입니다.

    • 개념적으로 관련된 정보를 찾기 위한 벡터 검색 또는 시맨틱 검색

  2. 그래프 검색과 벡터 검색의 결과를 결합합니다.

  3. LLM을 사용하여 결합된 결과를 평가하고 순위를 다시 지정합니다. LLM은 원래 질문에 답변하기 위해 가장 관련성이 높고 컨텍스트를 인식하는 정보를 선택합니다.

그래프 리트리버 튜토리얼

Spanner에서 그래프 리트리버를 사용하여 질문에 답변하는 방법을 알아보려면 Spanner용 그래프 리트리버 튜토리얼을 참고하세요. 이 가이드에서는 다음을 수행하는 방법을 보여줍니다.

  • 비정형 텍스트 blob에서 그래프를 만듭니다.

  • SpannerPropertyGraphStore 클래스를 사용하여 Spanner에 그래프 저장

  • 그래프 스토어와 LLM을 사용하여 SpannerGraphTextToGQLRetriever 클래스와 SpannerGraphCustomRetriever 인스턴스를 초기화합니다.

  • Spanner에 저장된 그래프 데이터를 사용하여 자연어 질문에 대한 답변을 생성합니다.

다음 단계