본문 바로가기
AI 도구

📊GraphRAG: 마이크로소프트의 그래프기반 RAG 접근법(feat. Ollama)

by James AI Explorer 2024. 7. 7.
    728x90

    안녕하세요! 오늘은 마이크로소프트에서 개발한 최신 RAG 기술인 GraphRAG에 대해 알아보겠습니다. GraphRAG은 기존의 벡터 표현을 사용한 유사성 검색 방식과 달리, 엔티티와의 관계를 추출해 복잡한 정보 간의 연결을 이해하고, 지식 그래프를 활용한 구조적, 계층적 데이터 처리전역 및 지역 검색 기능을 통한 데이터셋 전반 및 특정 엔티티에 대한 정교한 질문 처리를 통해 기존의 RAG보다 뛰어난 질문 응답 성능을 제공합니다. 이 블로그에서는 GraphRAG의 개요 및 특징, 동작원리, 그리고 ollama를 이용한 설치 방법에 대해 알아보고 간단한 엔터티 그래프도 그려보겠습니다.

    GraphRAG: 마이크로소프트의 혁신적인 RAG 접근법

    "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

    GraphRAG 개요 및 특징

    GraphRAG(Graph+RAG)는 대규모 언어 모델(LLM)을 활용하여 복잡한 정보에 대한 질문과 응답 성능을 크게 향상시키기 위해 설계된 시스템으로, 텍스트 추출, 네트워크 분석, LLM 프롬프트 및 요약을 포함한 모든 단계를 하나의 통합된 시스템으로 처리하여, 데이터 분석 및 이해를 돕는 기술입니다. 전통적인 RAG 접근법은 주로 벡터 유사성을 사용하여 정보를 검색하지만, GraphRAG는 지식 그래프를 사용하여 텍스트의 구조적 정보를 추출하고, 이를 통해 보다 정교한 질문 응답을 수행합니다.

    • 지식 그래프 기반: GraphRAG는 입력 텍스트에서 엔티티와 관계를 추출하여 지식 그래프를 구축합니다. 이를 통해 텍스트 간의 복잡한 관계를 이해하고 활용할 수 있습니다. 엔티티(Entity)는 데이터 또는 정보에서 특정한 개체를 의미하는 것으로 사람이름, 장소, 조직, 날짜, 제품 등 명확하게 식별할 수 있는 대상을 말합니다.
    • 계층적 클러스터링: 서로 밀접하게 연결된 데이터를 그룹으로 식별하고 분할하는 Leiden 기법을 사용하여 그래프의 계층적 클러스터링을 수행합니다. 이를 통해 텍스트의 주요 주제와 하위 주제를 파악하고, 각 클러스터에 대한 요약을 생성합니다. 클러스터링은 서로 밀접하게 관련된 노드들을 그룹화하는 과정입니다.
    • 요약 생성: 각 커뮤니티와 그 노드에 대한 요약을 생성하여 데이터셋에 대한 전체적인 이해를 돕습니다. 커뮤니티는 엔티티와 관계를 기반으로 형성되는 밀접하게 연결된 개별 노드들의 그룹을 말합니다.
    • 고도화된 질의 처리: 전역 및 지역 검색 기능을 통해 전체 데이터셋에 대한 고차원적 질문부터 특정 엔티티에 대한 상세한 질문까지 다양한 질의를 처리할 수 있습니다.
    항목 기존 RAG GraphRAG
    기본 개념 텍스트의 벡터 표현을 사용하여 유사성 검색 수행 텍스트에서 엔티티와 관계를 추출, 지식 그래프 생성 및 활용
    정보 검색  벡터 유사성 검색 (Vector Similarity Search) 지식 그래프 및 계층적 클러스터링을 사용한 검색
    장점 간단하고 빠른 검색 가능 복잡한 정보 간의 관계 이해, 고차원적 질문 응답 성능 향상
    단점 복잡한 정보 연결성 부족, 대규모 데이터 성능 저하 초기 설정과 데이터 전처리 과정이 복잡할 수 있음

     

    GraphRAG 동작원리

    GraphRAG은 텍스트 데이터를 그래프로 변환하고, Leiden 기법을 사용하여 엔티티를 커뮤니티로 클러스터링 하며, 각 커뮤니티는 주제별로 요약되어 질의응답 작업에서 성능을 향상시킵니다. 기본적인 동작 과정은 다음과 같습니다: 

    • 데이터 분할: 입력 코퍼스를 TextUnit이라는 분석 단위로 분할합니다. 이는 이후 프로세스에서 분석 가능한 단위로 작용하며, 결과물에 대한 세밀한 참조를 제공합니다.
    • 엔티티 및 관계 추출: 대규모 언어 모델(LLM)을 사용하여 TextUnit에서 모든 엔티티, 관계, 주요 주장을 추출합니다. 이를 통해 텍스트의 구조적 정보를 캡처합니다. 
    • 계층적 클러스터링: Leiden 기법을 사용하여 그래프의 계층적 클러스터링을 수행합니다. 이를 통해 엔티티 간의 커뮤니티를 형성하고, 각 커뮤니티(서로 관련된 노드들의 그룹)의 요약을 생성합니다. 
    • 요약 생성: 각 커뮤니티와 그 노드에 대한 요약을 생성합니다. 이는 데이터셋에 대한 전체적인 이해를 돕고, 질의응답 시 중요한 자료로 활용됩니다.
    • 질의응답: 질의 시, 생성된 구조를 사용하여 질문에 대한 답변을 제공합니다. 질의 모드는 전역 검색과 지역 검색입니다. 전역 검색은 "이 이야기의 주요 주제는 무엇인가요?"와 같이 데이터셋 전체에 대한 고차원적 질문을 처리하는 모드로 커뮤니티 요약을 활용하여 데이터셋 전반에 걸친 질문에 대한 답변을 제공하며, 지역 검색"스쿠루지는 누구이며, 그의 주요 관계는 무엇인가요?"와 같은 특정 엔티티에 대한 상세한 질문을 처리하는 모드입니다.

    Leiden 기법

    Leiden 기법은 네트워크 또는 그래프 데이터를 클러스터링 하는 데 사용되는 커뮤니티 감지 알고리즘입니다. 이 기법은 그래프의 노드를 서로 관련이 높은 그룹으로 분할하여, 각 그룹 내의 노드들이 서로 밀접하게 연결되도록 합니다. Leiden 기법은 특히 큰 네트워크에서도 빠르고 효율적으로 작동하며, 다음과 같은 주요 특징을 가지고 있습니다:

    • 다단계 최적화: Leiden 기법은 여러 단계를 거쳐 네트워크를 최적화합니다. 초기 단계에서 노드를 작은 클러스터로 그룹화하고, 이후 단계에서 클러스터를 병합하여 더 큰 커뮤니티를 형성합니다.
    • 모듈러리티 최적화: 모듈러리티는 네트워크를 커뮤니티로 분할하는 품질을 측정하는 척도입니다. Leiden 기법은 모듈러리티를 최대화하는 방향으로 커뮤니티를 분할하여, 각 커뮤니티 내부의 연결 밀도가 높아지도록 합니다.
    • 안정성: Leiden 기법은 랜덤 초기화나 실행 순서에 민감하지 않으며, 안정적인 클러스터링 결과를 제공합니다. 이는 동일한 네트워크에 대해 반복 실행해도 유사한 결과를 얻을 수 있음을 의미합니다.
    • 빠른 성능: 큰 규모의 네트워크에서도 효율적으로 작동하여 빠른 시간 내에 결과를 도출할 수 있습니다. Leiden 기법은 그래프 기반 데이터에서 커뮤니티를 감지하는 데 매우 유용하며, GraphRAG와 같은 시스템에서 텍스트 데이터의 구조적 분석 및 요약을 위해 활용됩니다.

    Leiden 기법을 이용한 GraphRAG 엔터티 그래프

    https://microsoft.github.io/graphrag/

     

    Welcome to GraphRAG

    Welcome to GraphRAG 👉 Microsoft Research Blog Post 👉 GraphRAG Accelerator 👉 GitHub Repository 👉 GraphRAG Arxiv Figure 1: An LLM-generated knowledge graph built using GPT-4 Turbo. GraphRAG is a structured, hierarchical approach to Retrieval Augm

    microsoft.github.io

    728x90

    GraphRAG 설치방법

    GraphRAG를 설치하고 사용하는 방법은 다음과 같습니다. 이 블로그의 설치 환경은 Windows 11 Pro(23H2), WSL2, 파이썬 버전 3.11, 비주얼 스튜디오 코드(이하 VSC) 1.90.2이며, VSC를 실행하여 "WSL 연결"을 통해 Windows Subsystem for Linux(WSL) Linux 환경에 액세스 하도록 구성하였습니다. 파이썬은 3.10-3.12 버전이 요구됩니다.  

    1. Ollama 설치 및 모델 다운로드: https://ollama.com/download에서 운영체제에 맞는 파일을 다운로드 및 설치하고, Gemma 2 모델과 nomic-embed-text 모델을 다운로드합니다. 

    ollama pull gemma2
    ollama pull nomic-embed-text

    Gemma 2 모델 다운로드
    nomic-embed-text 모델 다운로드

    2. GraphRAG 설치: pip를 사용하여 GraphRAG와 ollama를 설치합니다. 버전충돌로 인한 에러가 발생하면 아래 명령어로 langchain 관련 패키지를 삭제 후 재설치합니다. 

    pip install graphrag
    pip install ollama
    *에러 발생시
    pip uninstall langchain-core langchain langchain-openai langchain-community langgraph langchain-text-splitters langchain-anthropic langchain-groq
    pip install langchain-core==0.2.10
    pip install langchain==0.2.6 langchain-openai langchain-community langgraph langchain-text-splitters==0.2.2 langchain-anthropic langchain-groq

    GraphRAG 설치

    3. 데이터 프로젝트 설정: 다음과 같이 디렉토리를 생성하고 샘플 데이터를 준비합니다. 샘플데이터는 input 폴더 안에 .txt 파일형식을 가진 GraphRAG 논문 초록입니다.

    mkdir -p ./graphragtest/input
    The use of retrieval-augmented generation (RAG) to retrieve relevant information from an external knowledge source enables large language models (LLMs) to answer questions over private and/or previously unseen document collections. However, RAG fails on global questions directed at an entire text corpus, such as “What are the main themes in the dataset?”, since this is inherently a queryfocused summarization (QFS) task, rather than an explicit retrieval task. Prior QFS methods, meanwhile, fail to scale to the quantities of text indexed by typical RAG systems. To combine the strengths of these contrasting methods, we propose a Graph RAG approach to question answering over private text corpora that scales with both the generality of user questions and the quantity of source text to be indexed. Our approach uses an LLM to build a graph-based text index in two stages: first to derive an entity knowledge graph from the source documents, then to pregenerate community summaries for all groups of closely-related entities. Given a question, each community summary is used to generate a partial response, before all partial responses are again summarized in a final response to the user. For a class of global sensemaking questions over datasets in the 1 million token range, we show that Graph RAG leads to substantial improvements over a na¨ıve RAG baseline for both the comprehensiveness and diversity of generated answers. An open-source, Python-based implementation of both global and local Graph RAG approaches is forthcoming at https://aka.ms/graphrag.
    GraphRAG 논문 초록.txt

    4. 초기화: GraphRAG 초기화를 위해 다음 명령어를 실행합니다:

    python3 -m graphrag.index --init --root ./graphragtest

    이 명령어는 .env 파일과 settings.yaml 파일을 생성합니다. 

    GraphRAG 초기화 명령어 실행

    5. .env 및 settings.yaml 수정: .env 파일과 settings.yaml 파일을 수정합니다.

    GRAPHRAG_API_KEY=ollama

    settings.yaml 파일은 ollama의 api base를 활용해서 gemma2 언어 모델과 nomic-embed-text 임베딩 모델을 사용하도록 설정합니다. 아래 파일을 다운로드하거나 화면 내용에 따라 수정하면 됩니다. 

      llm embeddings
    모델 gemma2 nomic-embed-text
    api_base http://localhost:11434/v1 http://localhost:11434/api

    settings.yaml
    0.00MB
    settings.yaml Ollama gemma2 llm 모델 설정
    settings.yaml nomic 임베딩 모델 설정

    6. openai_embeddings_llm.py 파일 수정: \\wsl.localhost\Ubuntu\home\사용자\.local\lib\python3.10\site-packages\graphrag\llm\openai\openai_embeddings_llm.py 위치에 있는 파일을 VSC로 열어서 아래와 같이 수정합니다. 

    코드는 ollama의 nomic-embed-txt 모델을 사용할 수 있도록 설정하며, 파일의 위치는 사용자마다 다를 수 있습니다.

    from typing_extensions import Unpack
    from graphrag.llm.base import BaseLLM
    from graphrag.llm.types import (
        EmbeddingInput,
        EmbeddingOutput,
        LLMInput,
    )
    from .openai_configuration import OpenAIConfiguration
    from .types import OpenAIClientTypes
    import ollama
    
    class OpenAIEmbeddingsLLM(BaseLLM[EmbeddingInput, EmbeddingOutput]):
        _client: OpenAIClientTypes
        _configuration: OpenAIConfiguration
    
        def __init__(self, client: OpenAIClientTypes, configuration: OpenAIConfiguration):
            self._client = client
            self._configuration = configuration
    
        async def _execute_llm(
            self, input: EmbeddingInput, **kwargs: Unpack[LLMInput]
        ) -> EmbeddingOutput | None:
            args = {
                "model": self._configuration.model,
                **(kwargs.get("model_parameters") or {}),
            }
            embedding_list = []
            for inp in input:
                embedding = ollama.embeddings(model="nomic-embed-text", prompt=inp)
                embedding_list.append(embedding["embedding"])
            return embedding_list

    7. 인덱싱 파이프라인: 실행 인덱싱 파이프라인을 실행합니다:

    python3 -m graphrag.index --root ./graphragtest

    이 과정은 입력 데이터의 크기와 설정에 따라 시간이 걸릴 수 있습니다. 완료되면, 인덱싱 된 데이터가 ./graphragtest/output/artifacts 디렉토리에 저장됩니다. 

    인덱싱 파이프라인 실행
    인덱싱 파이프라인 실행
    인덱싱 파이프라인 실행 완료

    8. 질의 엔진 사용: 질의 엔진을 사용하여 질문을 처리합니다. 다음과 같이 전역 검색을 수행할 수 있습니다: 

    python3 -m graphrag.query --root ./graphragtest  --method global  "What's the point of this story?"

    전역검색 실행

    원문 The use of retrieval-augmented generation (RAG) to retrieve relevant information from an external knowledge source enables large language models (LLMs) to answer questions over private and/or previously unseen document collections. However, RAG fails on global questions directed at an entire text corpus, such as “What are the main themes in the dataset?”, since this is inherently a queryfocused summarization (QFS) task, rather than an explicit retrieval task. Prior QFS methods, meanwhile, fail to scale to the quantities of text indexed by typical RAG systems. To combine the strengths of these contrasting methods, we propose a Graph RAG approach to question answering over private text corpora that scales with both the generality of user questions and the quantity of source text to be indexed. Our approach uses an LLM to build a graph-based text index in two stages: first to derive an entity knowledge graph from the source documents, then to pregenerate community summaries for all groups of closely-related entities. Given a question, each community summary is used to generate a partial response, before all partial responses are again summarized in a final response to the user. For a class of global sensemaking questions over datasets in the 1 million token range, we show that Graph RAG leads to substantial improvements over a na¨ıve RAG baseline for both the comprehensiveness and diversity of generated answers. An open-source, Python-based implementation of both global and local Graph RAG approaches is forthcoming at https://aka.ms/graphrag.
    핵심
    이 이야기는 다양한 자연어 처리(NLP) 기술을 탐구합니다. 논의된 가장 중요한 기술은 검색-증강 생성(RAG), 그래프 RAG 및 질문-집중 요약(QFS)입니다. RAG는 질문 답변을 향상시키기 위해 외부 지식 소스와 LLM(LLM)을 결합합니다. 그래프 RAG는 글로벌 질문을 효과적으로 처리하도록 설계된 RAG 내의 전문화된 접근 방식입니다. 질문-집중 요약(QFS)은 특정 질문에 초점을 맞춘 간결한 요약을 생성합니다.
      GraphRAG Global Search 기능 실행결과

    다음은 엔터티 그래프를 그려보기 위해 아래와 같이 긴 텍스트 문장으로 input 폴더의 텍스트 파일을 교체하였습니다.

    원문 On 20 May, Yusuf Mehdi, a cove who rejoices in the magnificent title of executive vice-president, consumer chief marketing officer of Microsoft, launched its Copilot+ PCs, a “new category” of Windows machines that are “designed for AI”. They are, needless to say, “the fastest, most intelligent Windows PCs ever built” and they will “enable you to do things you can’t on any other PC”. What kinds of things? Well, how about generating and refining AI images in near real-time directly on the computer? Bridging language barriers by translating audio from 40-plus languages into English? Or enabling you to “easily find and remember what you have seen in your PC”. Eh? This remarkable memory prosthesis is called Recall. It takes constant screenshots in the background while you go about your daily computer business. Microsoft’s Copilot+ machine-learning tech then scans (and “reads”) each of these screenshots in order to make a searchable database of every action performed on your computer and then stores it on the machine’s disk. So not only will you be able to search for a website you had previously visited, but you can also search for a very specific thing that you read or saw on that site. That jacket you saw on a tab a few weeks ago but you simply cannot remember who was selling it. The AI, though, knows about jackets and can find it. But of course, this ability to remember extends to other apps on your machine: those full-text passwords you used when accessing your bank or logging into a paywalled site, for example. “Recall is like bestowing a photographic memory on everyone who buys a Copilot+ PC,” Mehdi said. “Anything you’ve ever seen or done, you’ll now more or less be able to find.” What’s not to like? Lots, it turns out. The moment Recall emerged in preview mode, people were reminded of The Entire History of You from the first season of Black Mirror. It was about a hyper-modern, sci-fi society where everyone wears an implant that records everything they do, see and hear. (It doesn’t end well.) Security experts were immediately more suspicious – especially when it was realised that Recall was on by default and needed a dive into Windows’s settings to turn it off. The UK’s Information Commissioner’s Office said that it was “having discussions with Microsoft” about Recall. And Charlie Stross, the sci-fi author and tech critic, called it a privacy “shit-show for any organisation that handles medical records or has a duty of legal confidentiality; indeed, for any business that has to comply with GDPR [general data protection regulation]”. He also said: “Suddenly, every PC becomes a target for discovery during legal proceedings. Lawyers can subpoena your Recall database and search it, no longer being limited to email but being able to search for terms that came up in Teams or Slack or Signal messages, and potentially verbally via Zoom or Skype if speech-to-text is included in Recall data.” Faced with this pushback, Microsoft stuck by its guns for 17 days but eventually, on 7 June, caved in, announcing that Recall would be made opt-in instead of on by default, and also introducing extra security precautions – only producing results from Recall after user authentication, for example, and never decrypting data stored by the tool until after a search query. The only good news for Microsoft here is that it seems to have belatedly acknowledged that Recall has been a fiasco. The more interesting question, though, is what it reveals about the internal culture of the organisation. For decades, Microsoft has been a dull but dependable behemoth, secure in the knowledge that although it had initially fumbled the opportunities of the web – and, later, the smartphone – it had nevertheless retained in effect a monopoly in organisational computing. After all, almost every business and governmental organisation in the world runs on Windows software. The company belatedly got into the cloud computing business and its general counsel, Brad Smith, took on the role of the only adult in the tech fraternity house, issuing ponderous think pieces about ethics, corporate responsibility and other worthy topics. And then came AI and ChatGPT, and Microsoft chief executive Satya Nadella’s astonishing pre-emptive strike, investing $13bn in OpenAI, the maker of ChatGPT, to get a head start on the other tech companies – particularly Google – in the next big thing. What was most striking, though, was the way Nadella described what he was really up to: trying to make Google “dance” is how he put it. The contrast with the ancien régime of Bill Gates and Steve Ballmer could not have been starker: they always sought to obliterate the opposition; Nadella merely wants to tease it. The subliminal message: Microsoft has been through its midlife crisis. It’s no longer paranoid and is enjoying playing with its latest toy: AI. The message of the Recall fiasco, though, is that it isn’t a toy. And it can blow up in your face.
    엔터티
    그래프
    핵심 이 이야기는 인공지능(AI) 개발과 관련된 잠재적인 이점과 위험, 특히 이 분야에 대한 마이크로소프트의 참여에 초점을 맞춰 탐구합니다. 이 이야기는 AI 영역에서 마이크로소프트와 구글 간의 치열한 경쟁을 강조하여 역동적이고 잠재적으로 변동성이 큰 환경을 제시합니다. 이 이야기는 또한 "Recall 대실패"를 경고 이야기로 사용하여 AI의 잠재적 위험과 윤리적 영향에 대한 신중한 고려의 필요성을 강조합니다. 이 이야기는 궁극적으로 인공지능 개발의 복잡한 환경을 조명하는 것을 목표로 하며 독자들에게 잠재적인 이점과 그것이 제시하는 상당한 위험을 모두 고려하도록 촉구합니다.
      GraphRAG Global Search 기능 실행결과

    원문에 대해 인덱싱 파이프라인을 실행하면 다음과 같이 엔터티 관계표가 표시되고, Leiden 기법을 이용해서 엔터티 그래프를 그려보면 위 그래프와 같이 표시됩니다. 엔터티 그래프 생성 코드는 다음 코드를 참고하세요

    import pandas as pd
    import networkx as nx
    import leidenalg as la
    import igraph as ig
    import matplotlib.pyplot as plt
    
    # 데이터 로드
    data = pd.read_csv('CSV 파일의 실제 경로/abc.csv')  # CSV 파일의 실제 경로와 파일명으로 변경해주세요
    
    # 데이터프레임 구조 확인
    print("Columns in the dataframe:", data.columns)
    print("\nFirst few rows of the dataframe:")
    print(data.head())
    
    # NetworkX 그래프 생성
    G = nx.from_pandas_edgelist(data, 'source', 'target', ['weight'])
    
    # NetworkX 그래프를 igraph로 변환
    G_ig = ig.Graph.from_networkx(G)
    
    # 노드 이름을 igraph 객체에 추가
    G_ig.vs['name'] = list(G.nodes())
    
    # Leiden 알고리즘 적용
    partition = la.find_partition(G_ig, la.ModularityVertexPartition)
    
    # 커뮤니티 정보 추출
    community_dict = {v['name']: membership for v, membership in zip(G_ig.vs, partition.membership)}
    
    # 노드 색상 설정
    colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']
    node_colors = [colors[community_dict[node] % len(colors)] for node in G.nodes()]
    
    # 노드 크기 설정 (degree에 기반)
    node_sizes = [300 * G.degree(node) for node in G.nodes()]
    
    # 그래프 그리기
    pos = nx.spring_layout(G, k=0.5, iterations=50)
    plt.figure(figsize=(20, 16))
    nx.draw(G, pos, node_color=node_colors, with_labels=True, node_size=node_sizes, font_size=8, font_weight='bold')
    
    # 엣지 레이블 추가
    edge_labels = nx.get_edge_attributes(G, 'weight')
    nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)
    
    plt.title("Entity Graph with Leiden Community Detection", fontsize=20)
    plt.axis('off')
    plt.tight_layout()
    plt.show()
    
    # 커뮤니티 정보 출력
    print("\nCommunity Information:")
    for node, community in community_dict.items():
        print(f"Node: {node}, Community: {community}")

    엔터티 관계표

    참고로 input 폴더 내 텍스트의 내용을 바꾸면, 7단계 인덱싱, 8단계 질문을 반복하면 됩니다. Local Search 기능은 에러가 발생해서 확인하지 못하였습니다.

     

    맺음말

    GraphRAG는 마이크로소프트의 혁신적인 접근법으로, 전통적인 RAG의 한계를 넘어 더욱 정교하고 고도화된 질문 응답 성능을 제공합니다. 특히, 텍스트 데이터의 구조적 정보를 이해하고 활용할 수 있는 지식 그래프를 통해 복잡한 정보 간의 관계를 분석하고 요약하는 기능은 주목할 만합니다. Leiden 기법을 통한 계층적 클러스터링은 데이터의 주요 주제와 하위 주제를 명확하게 파악하고, 각 커뮤니티에 대한 요약을 생성하여 질의응답 시 유용한 자료로 활용할 수 있습니다.

     

    GraphRAG의 설치와 사용 방법은 다소 복잡할 수 있지만, 이를 통해 얻을 수 있는 데이터 분석 및 이해의 깊이는 그만한 가치가 있습니다. 특히, 대규모 데이터셋에 대한 전역 및 지역 검색 기능을 통해 다양한 종류의 질의를 처리할 수 있다는 점은 매우 유용합니다. GraphRAG 사용후기는 다음과 같습니다. 

    • 전통적인 RAG 방식보다 결과에 대해 더 신뢰가 간다.
    • 대규모 데이터의 경우 인덱싱 시간이 오래 걸린다.
    • 엔터티 그래프를 통해 쉽게 관계를 시각화할 수 있다. 

    앞으로 AI 및 데이터 분석 분야에서 GraphRAG와 같은 기술이 더욱 발전하고, 우리의 데이터 활용 능력을 크게 향상시킬 수 있기를 기대하면서 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다!

     

    https://fornewchallenge.tistory.com/

     

     

    2024.04.30 - [AI 도구] - LLAMA3 RAG 시스템: AI 어시스턴트로 10초만에 자동 보고서 만들기

     

    LLAMA3 RAG 시스템: AI 어시스턴트로 10초만에 자동 보고서 만들기

    안녕하세요! 오늘은 요즘 가장 인기 있는 언어 모델, LLAMA3로 AI 어시스턴트를 만들어 보겠습니다. 이 앱은 Groq과 Phidata를 이용해서 주어진 웹 사이트나 pdf를 기반으로 "원클릭" 보고서를 작성하고

    fornewchallenge.tistory.com

     

     

    728x90