그래프 RAG의 힘을 활용하세요: 의미 검색, 임베딩 및 기타 기능으로 비정형 데이터의 잠재력을 unleash하세요

그래프 RAG의 힘을 unleash하여 의미 검색, 정보 추출 및 고급 데이터 분석을 수행하세요. 지식 그래프를 활용하여 대규모 언어 모델을 향상시키는 이 오픈 소스 검색 증강 생성 프레임워크를 탐색하세요. 복잡한 쿼리에 대한 정확성과 관련성을 높이세요.

2025년 2월 19일

party-gif

시맨틱 검색, 임베딩, 벡터 검색의 힘을 Microsoft AI의 최고의 오픈 소스 RAG 엔진인 GraphRAG로 unleash하세요. 이 혁신적인 솔루션이 데이터 분석 및 질문 답변 기능을 어떻게 변화시켜 더 관련성 있고 신뢰할 수 있는 통찰력을 제공하는지 발견하세요.

RAG(Retrieval Augmented Generation)란 무엇입니까?

RAG(Retrieval Augmented Generation)은 기존의 대규모 언어 모델을 외부 지식을 활용하여 향상시키는 접근 방식입니다. RAG의 핵심 아이디어는 대규모 언어 모델의 힘과 지식 베이스 또는 텍스트 코퍼스와 같은 외부 소스에서 관련 정보를 검색하고 활용할 수 있는 기능을 결합하는 것입니다.

RAG 접근 방식의 주요 이점은 다음과 같습니다:

  1. 향상된 관련성: 관련 정보를 검색하고 통합함으로써 RAG는 특히 특정 지식이 필요한 질문에 대해 더 정확하고 관련성 높은 응답을 제공할 수 있습니다.

  2. 환각 감소: RAG는 검색된 정보에 기반하여 응답을 제공하므로 대규모 언어 모델이 환각되거나 사실적으로 잘못된 내용을 생성하는 경향을 줄일 수 있습니다.

  3. 다양성: 질문 답변 외에도 RAG는 정보 추출, 추천, 감정 분석, 요약 등 다양한 NLP 작업에 적용될 수 있습니다.

  4. 개인 데이터 처리: RAG는 데이터를 외부 서비스와 공유할 필요 없이 로컬에서 처리하고 저장할 수 있으므로 개인 또는 민감한 데이터 세트와 함께 작동할 수 있습니다.

GraphRAG는 기존 RAG 시스템과 어떻게 다릅니까?

GraphRAG는 기존 RAG(Retrieval Augmented Generation) 시스템에 비해 큰 진전을 이루었습니다. 다음과 같은 차이점이 있습니다:

  1. 지식 그래프 추출: 단순한 텍스트 기반 검색과 달리 GraphRAG는 텍스트 추출, 네트워크 분석, 언어 모델 프롬프팅을 결합하여 입력 데이터에서 포괄적인 지식 그래프를 구축합니다. 이를 통해 더 깊이 있고 전체적인 내용 이해가 가능합니다.

  2. 향상된 정확성과 관련성: 지식 그래프를 활용하여 GraphRAG는 특히 복잡하거나 전문화된 데이터 세트에 대해 더 정확하고 관련성 높은 응답을 제공할 수 있습니다. 그래프 기반 접근 방식은 분산된 정보 조각을 연결하고 기준 RAG 기술을 능가하는 통찰력을 종합할 수 있습니다.

  3. 전체적인 데이터 이해: GraphRAG는 더 포괄적인 접근 방식을 따르므로 대규모 데이터 컬렉션의 전반적인 이해와 요약을 향상시킵니다. 이는 대규모 언어 모델을 고급 데이터 분석 및 질문 답변 작업에 활용하는 데 있어 더 나은 선택이 됩니다.

  4. 환각 감소: GraphRAG는 대규모 언어 모델이 제공된 정보에 기반하지 않은 "환각된" 내용을 생성하는 경향을 줄이는 것으로 나타났습니다. 그래프 기반 접근 방식은 모델이 신뢰할 수 있는 정보에 더 closely 부합하도록 도와줍니다.

  5. 다양성: 질문 답변 외에도 GraphRAG는 정보 추출, 추천, 감정 분석, 요약 등 다양한 자연어 처리 작업에 적용될 수 있으며, 이 모든 것이 개인 로컬 저장 환경에서 이루어집니다.

요약하면, GraphRAG는 검색 증강 생성 분야에서 중요한 진전을 이루었으며, 데이터의 정확성, 관련성 및 전체적인 이해를 향상시켜 대규모 언어 모델을 고급 응용 프로그램에 활용하는 강력한 프레임워크를 제공합니다.

GraphRAG 시작하기

GraphRAG 시작하기:

  1. 필수 구성 요소 설치:

    • 시스템에 Python이 설치되어 있는지 확인합니다.
    • 터미널 또는 명령 프롬프트에서 pip install graphrag를 실행하여 필요한 패키지를 설치합니다.
  2. 리포지토리 복제:

    • Visual Studio Code(또는 선호하는 IDE)를 열고 프로젝트용 새 폴더를 만듭니다.
    • 터미널에서 프로젝트 폴더로 이동한 후 git clone https://github.com/microsoft/graph-rag.git를 실행하여 GraphRAG 리포지토리를 복제합니다.
  3. 환경 설정:

    • 터미널에서 graph-rag 디렉토리로 이동합니다.
    • export GRAPHRAG_API_KEY=your_api_key_here를 실행하여 OpenAI API 키를 내보냅니다.
  4. 입력 폴더 생성:

    • 터미널에서 mkdir input을 실행하여 문서용 입력 폴더를 만듭니다.
  5. 문서 인덱싱:

    • 문서(예: 텍스트 파일, PDF)를 input 폴더에 배치합니다.
    • 터미널에서 python dm_rag_index.py를 실행하여 문서를 인덱싱합니다.
  6. 문서와 채팅:

    • 터미널에서 python dm_graph_rag.py --query "your_query_here" --root_dir . --method global을 실행합니다.
    • "your_query_here"를 문서에 대한 질문 또는 쿼리로 바꿉니다.

GraphRAG는 인덱싱 과정에서 생성된 지식 그래프를 사용하여 질문에 대한 관련성 있고 포괄적인 응답을 제공할 것입니다. 이는 기존 검색 증강 생성 기술을 능가합니다.

GraphRAG 인덱싱 및 구성

GraphRAG 시작하기:

  1. 필수 구성 요소 설치:

    • 시스템에 Python이 설치되어 있는지 확인합니다.
    • 명령 프롬프트에서 제공된 명령을 실행하여 Pip를 설치합니다.
  2. 리포지토리 복제:

    • Visual Studio Code를 열고 새 창을 만듭니다.
    • 토글 패널 버튼을 클릭하여 터미널을 엽니다.
    • 터미널에서 bash 환경으로 이동한 후 pip install graphrag 명령을 실행하여 필요한 패키지를 설치합니다.
  3. 환경 설정:

    • 터미널에서 cd graphrag를 입력하여 복제된 리포지토리로 이동합니다.
    • export GRAPHRAG_API_KEY=your_api_key_here를 실행하여 OpenAI API 키를 내보냅니다.
  4. 입력 폴더 생성:

    • 터미널에서 mkdir input 명령을 실행하여 파일 또는 문서를 배치할 입력 폴더를 만듭니다.
    • VS Code에서 "파일" > "폴더 열기"를 클릭하고 복제된 리포지토리를 선택하여 폴더를 엽니다.
  5. 문서 인덱싱:

    • 입력 폴더에 문서(예: 재무 보고서)를 배치합니다.
    • 터미널에서 python dm_rrag index 명령을 실행하여 현재 문서를 인덱싱합니다.
    • 이를 통해 인덱싱된 문서에 대한 커뮤니티 보고서가 생성되며, 이를 사용하여 채팅할 수 있습니다.
  6. 환경 구성:

    • env 파일에서 API 키, 모델 유형 및 기타 설정을 구성할 수 있습니다.
    • LLAMA 모델 또는 OpenAI 인터페이스 사용을 지정할 수 있습니다.
    • env 파일의 변경 사항을 저장합니다.
  7. 코드 실행:

    • 터미널에서 python dm_rrag query --root_folder . --method global --query "your_query_here"를 실행하여 인덱싱된 문서와 채팅을 시작합니다.

이러한 단계를 따르면 GraphRAG를 설정하고, 문서를 인덱싱하며, 검색 증강 생성 기능을 활용하여 자연어 처리 작업을 향상시킬 수 있습니다.

GraphRAG와 채팅하기

GraphRAG와 채팅하려면 다음 단계를 따르세요:

  1. python dm_rrag index 명령을 사용하여 문서를 인덱싱한 후 python dm_rrag query --root_folder . --method global "your query here"를 실행하여 채팅을 시작할 수 있습니다.

  2. "your query here"를 인덱싱된 문서에 대해 질문하거나 프롬프트로 바꿉니다.

  3. GraphRAG는 인덱싱 과정에서 생성된 지식 그래프를 사용하여 관련성 있고 정보가 풍부한 응답을 제공할 것입니다. 이를 통해 대규모 언어 모델과 구조화된 지식 그래프의 힘을 활용할 수 있습니다.

  4. 동일한 명령을 다른 쿼리로 실행하여 GraphRAG와 계속 채팅할 수 있습니다. 시스템은 기존 지식 그래프를 사용하여 질문에 맞춤형 응답을 제공할 것입니다.

  5. 다른 언어 모델로 전환하려면 .env 파일에서 LLM_TYPE을 지정하고 적절한 API 엔드포인트 또는 로컬 모델 경로를 제공할 수 있습니다.

  6. GraphRAG의 전체적인 검색 증강 생성 접근 방식은 특히 복잡하거나 개인 데이터 세트의 경우 기존 기준 RAG 기술을 능가할 수 있습니다. 이는 분산된 정보 조각을 연결하고 종합적인 통찰력을 제공할 수 있기 때문입니다.

자주하는 질문