Top 5 RAG
02 · Trung cấp → Nâng cao

GraphRAG

Câu trả lời nằm trong MỐI QUAN HỆ.

Khi nào dùng

Khi câu trả lời cần NỐI nhiều mẩu thông tin rải rác qua nhiều tài liệu ("ai làm dự án X dùng công nghệ Y ở công ty Z?"), suy luận theo quan hệ/thực thể (sơ đồ tổ chức, phụ thuộc, trích dẫn, chuỗi cung ứng), hoặc cần cái nhìn tổng thể ("chủ đề chính của toàn bộ tài liệu là gì?"). ❌ Thừa nếu đáp án gói gọn trong một đoạn — chi phí dựng graph không bõ.

Ví dụ thực tế

  • Điều tra/pháp lý: lần theo quan hệ giữa người – công ty – giao dịch để phát hiện liên kết ẩn.
  • Due-diligence M&A: "công ty này gián tiếp sở hữu/liên quan tới ai?" qua nhiều lớp.
  • Phân tích codebase: lần chuỗi phụ thuộc giữa module/hàm để đánh giá tác động khi sửa.
  • Hồ sơ y tế: nối triệu chứng – chẩn đoán – thuốc qua nhiều lần khám của một bệnh nhân.

Sơ đồ

Sơ đồ minh hoạ luồng xử lý; xem mô tả từng bước ở mục Luồng hoạt động bên dưới.

Luồng hoạt động

  1. 1Query → Entity Extractor
  2. 2Knowledge Graph: nodes = thực thể (Person, Company, Project, Tech, Location), edges = quan hệ (works_at, located_in, related_to)
  3. 3Subgraph Retrieval (lấy vùng đồ thị liên quan)
  4. 4Community Summaries (tóm tắt cụm)
  5. 5LLM → Answer

Hiểu nôm na

Như bảng điều tra của thám tử: ảnh nghi phạm ghim trên tường, nối nhau bằng sợi chỉ "quen biết", "làm chung". Để trả lời "ai liên quan tới ai", thám tử ĐI THEO sợi chỉ — chứ không đọc lần lượt từng hồ sơ rời rạc. GraphRAG dựng đúng "bức tường chỉ" đó cho tài liệu của bạn.

Khái niệm A–Z

RAG vector chỉ tìm các đoạn "giống" query — nó KHÔNG biết "nối" thông tin nằm ở những đoạn khác nhau. Hỏi "Những kỹ sư từng làm chung dự án với An và hiện ở công ty đối thủ?" thì vector bó tay. GraphRAG (do Microsoft Research phổ biến) giải bằng cách: dùng LLM TRÍCH thực thể + quan hệ từ tài liệu → dựng KNOWLEDGE GRAPH (node = thực thể, edge = quan hệ). Khi truy vấn: tìm thực thể trong câu hỏi → lấy vùng đồ thị quanh nó (subgraph), đi theo các cạnh để gom thông tin liên-đới. Thêm community detection (Leiden) để gom node thành cụm + tóm tắt mỗi cụm → trả lời được câu "tổng quan toàn bộ corpus" (global query) mà vector không làm nổi.

Cách hoạt động

Indexing: dựng đồ thị (tốn nhất)

Đây là bước nặng tiền/thời gian: chạy LLM qua từng chunk để trích bộ ba (subject, relation, object) + thuộc tính, hợp nhất thực thể trùng (entity resolution), rồi lưu vào graph DB.

  • Trích entity + relation bằng LLM theo schema bạn định nghĩa (Person, Org, Tech...).
  • Entity resolution: gộp "Nguyễn An", "An", "anh An" thành 1 node — quyết định chất lượng cả hệ thống.
  • Community detection (Leiden) gom node thành cụm; LLM tóm tắt từng cụm (bottom-up) để phục vụ câu hỏi tổng quan.

Query: local vs global

GraphRAG có hai chế độ trả lời rõ rệt.

  • Local search: câu hỏi về thực thể cụ thể → tìm node → mở rộng theo cạnh 1–2 bước (multi-hop) → đưa subgraph + chunk gốc vào LLM.
  • Global search: câu hỏi tổng quan ("xu hướng chính?") → duyệt các community summary, map-reduce để tổng hợp câu trả lời toàn corpus.
  • Thường KẾT HỢP với vector (hybrid): vector tìm điểm vào, graph mở rộng quan hệ.

Nội dung chuyên sâu 5 mô hình RAG

Mở khoá phần Thực hành (code), Mẹo thực chiến, Lưu ý bảo mật, Áp dụng dự án thật, Lỗi thường gặp và Thuật ngữ — dành cho gói Senior trở lên.

Cần đăng nhập + gói Senior trở lên

Đã có tài khoản gói phù hợp? Đăng nhập để mở khoá ngay.

Kiến trúc liên quan

Luyện phỏng vấn AI/RAG thực chiến

Hàng nghìn câu hỏi phỏng vấn IT + lộ trình — học nhanh, đi làm sớm.

Bắt đầu luyện