Tutorial GraphRAG: Retrieval Augmented Generation Berbasis Graph Knowledge

# Tutorial GraphRAG: Retrieval Augmented Generation Berbasis Graph Knowledge ## Pendahuluan Retrieval Augmented Generation (RAG) telah menjadi pendekatan standar untuk menghubungkan Large Language M...

By Ruby Abdullah · · tutorial
GraphRAGRAGKnowledge GraphNLPLLM

Tutorial GraphRAG: Retrieval Augmented Generation Berbasis Graph Knowledge

Pendahuluan

Retrieval Augmented Generation (RAG) telah menjadi pendekatan standar untuk menghubungkan Large Language Model (LLM) dengan data eksternal. Namun, RAG tradisional memiliki keterbatasan signifikan: ia hanya melakukan pencarian berbasis kesamaan vektor (similarity search) tanpa memahami hubungan antar entitas dalam dokumen. Di sinilah GraphRAG hadir sebagai solusi.

GraphRAG, yang dikembangkan oleh Microsoft Research, menggabungkan kekuatan knowledge graph dengan RAG untuk menghasilkan jawaban yang lebih komprehensif dan kontekstual. Alih-alih hanya mencari potongan teks yang mirip dengan query, GraphRAG membangun graph pengetahuan dari dokumen, mengidentifikasi entitas dan hubungan antar entitas, lalu menggunakan struktur graph tersebut untuk menjawab pertanyaan yang membutuhkan pemahaman holistik.

Dalam tutorial ini, kita akan mempelajari cara menggunakan library graphrag dari Microsoft untuk membangun sistem RAG berbasis knowledge graph dari awal hingga siap digunakan.

Mengapa GraphRAG?

RAG tradisional bekerja dengan baik untuk pertanyaan yang jawabannya terdapat dalam satu atau beberapa potongan teks. Namun, RAG tradisional kesulitan menjawab pertanyaan yang membutuhkan sintesis informasi dari banyak sumber, seperti:

  • "Apa tema utama yang dibahas dalam seluruh dokumen ini?"
  • "Bagaimana hubungan antara departemen A dan departemen B dalam organisasi?"
  • "Sebutkan semua proyek yang melibatkan teknologi X dan orang Y"

GraphRAG mengatasi keterbatasan ini dengan dua pendekatan query:

  • Local Search: Mencari entitas yang relevan dalam graph beserta konteks komunitas mereka untuk menjawab pertanyaan spesifik
  • Global Search: Menggunakan ringkasan komunitas dari seluruh graph untuk menjawab pertanyaan yang membutuhkan pemahaman menyeluruh
  • Instalasi

    Prasyarat

    • Python 3.10 atau lebih baru
    • API key dari OpenAI atau Azure OpenAI (untuk LLM dan embedding)
    • Minimal 8GB RAM (proses indexing membutuhkan memori yang cukup besar)

    Instalasi Library

    pip install graphrag
    

    Untuk versi terbaru dari repository:

    pip install git+https://github.com/microsoft/graphrag.git
    

    Verifikasi instalasi:

    import graphrag
    

    print(graphrag.version)

    Menyiapkan API Key

    GraphRAG membutuhkan LLM untuk proses ekstraksi entitas dan pembuatan ringkasan. Siapkan API key OpenAI:

    export GRAPHRAGAPIKEY="sk-your-openai-api-key"
    

    Atau untuk Azure OpenAI:

    export GRAPHRAGAPIKEY="your-azure-api-key"
    

    export GRAPHRAGAPIBASE="https://your-resource.openai.azure.com"

    export GRAPHRAGAPIVERSION="2024-06-01"

    Inisialisasi Proyek

    Membuat Struktur Proyek

    mkdir graphrag-demo
    

    cd graphrag-demo

    python -m graphrag init --root .

    Perintah ini akan menghasilkan struktur direktori:

    graphrag-demo/
    

    ├── settings.yaml # Konfigurasi utama

    ├── .env # Environment variables

    └── input/ # Folder untuk dokumen sumber

    Menyiapkan Dokumen Input

    Letakkan dokumen teks yang ingin diindeks ke dalam folder input/. GraphRAG mendukung file .txt dan .csv.

    mkdir -p input
    

    Sebagai contoh, kita akan membuat beberapa dokumen sampel tentang sebuah perusahaan teknologi fiktif:

    # createsampledata.py
    

    import os

    documents = {

    "companyoverview.txt": """

    PT Teknologi Nusantara adalah perusahaan teknologi yang didirikan pada tahun 2020

    di Jakarta. Perusahaan ini fokus pada pengembangan solusi kecerdasan buatan untuk

    sektor perbankan dan kesehatan. CEO perusahaan adalah Budi Santoso yang sebelumnya

    bekerja di Google selama 10 tahun.

    Perusahaan memiliki tiga divisi utama: Divisi AI Research yang dipimpin oleh

    Dr. Siti Rahayu, Divisi Product Development yang dipimpin oleh Ahmad Wijaya,

    dan Divisi Business Development yang dipimpin oleh Maya Kusuma.

    PT Teknologi Nusantara telah mendapatkan pendanaan Series B sebesar 50 juta USD

    dari Sequoia Capital dan East Ventures pada tahun 2023. Perusahaan saat ini

    Artikel Terkait

    RAGAS: Framework Evaluasi untuk Pipeline RAG

    RAGAS: Framework Evaluasi untuk Pipeline RAG Pendahuluan Retrieval-Augmented Generation (RAG) telah menjadi arsitektur s...

    Tutorial Haystack: Framework NLP untuk Production

    Haystack - Framework NLP untuk Produksi Daftar Isi Pendahuluan Prasyarat Memahami Arsitektur Haystack [Document Store].....

    Tutorial RAG Advanced: Hybrid Search, Reranking, dan Evaluasi

    RAG Tingkat Lanjut - Membangun Retrieval-Augmented Generation Kelas Produksi Daftar Isi Pendahuluan Prasyarat Instalasi ...

    Tutorial Lengkap LlamaIndex: Membangun Aplikasi RAG dengan LLM

    Tutorial Lengkap LlamaIndex: Membangun Aplikasi RAG dengan LLM LlamaIndex adalah framework data yang powerful untuk memb...