Mở khóa Sức mạnh của Đồ thị Tri thức: Khám phá Graph RAG để Cải thiện Truy xuất Tăng cường Sinh
Mở khóa sức mạnh của các đồ thị tri thức với Graph RAG, một hệ thống đột phá kết hợp các đồ thị tri thức và Retrieval Augmented Generation (RAG) để cải thiện việc truy xuất và tạo ra. Khám phá các chi tiết kỹ thuật, thiết lập nó cục bộ và đánh giá các ảnh hưởng về chi phí. Khám phá cách Graph RAG giải quyết các hạn chế của các phương pháp RAG truyền thống.
14 tháng 2, 2025

Mở khóa sức mạnh của các đồ thị tri thức với Graph RAG, một hệ thống đột phá kết hợp lợi ích của Retrieval Augmented Generation (RAG) với sự hiểu biết ngữ cảnh của các đồ thị tri thức. Khám phá cách tiếp cận sáng tạo này có thể tăng cường việc tạo nội dung của bạn và cải thiện độ chính xác và tính liên quan của các phản hồi của bạn, đồng thời thu được thông tin về các ảnh hưởng về chi phí khi chạy Graph RAG.
Khám phá sức mạnh của Graph RAG: Tăng cường Retrieval Augmented Generation với Đồ thị Tri thức
Hiểu về RAG truyền thống: Giới hạn và Động lực
Khám phá chi tiết kỹ thuật của Graph RAG
Thiết lập Graph RAG trên máy tính cá nhân của bạn
So sánh các ảnh hưởng về chi phí của Graph RAG và RAG truyền thống
Khám phá các Giải pháp Graph RAG khác: Một cái nhìn sâu hơn
Kết luận
Khám phá sức mạnh của Graph RAG: Tăng cường Retrieval Augmented Generation với Đồ thị Tri thức
Khám phá sức mạnh của Graph RAG: Tăng cường Retrieval Augmented Generation với Đồ thị Tri thức
Graph RAG là một hệ thống đột phá kết hợp các đồ thị tri thức với Retrieval Augmented Generation (RAG) để giải quyết các hạn chế của các phương pháp RAG truyền thống. Bằng cách khai thác các đồ thị tri thức, Graph RAG cung cấp một hiểu biết toàn diện hơn về tập tài liệu cơ sở, cho phép đưa ra các phản hồi chính xác và liên quan đến ngữ cảnh hơn.
Các khía cạnh chính của Graph RAG bao gồm:
-
Giai đoạn lập chỉ mục: Trong giai đoạn này, các tài liệu nguồn được xử lý, các thực thể được trích xuất và sử dụng để tạo ra một đồ thị tri thức. Đồ thị tri thức biểu diễn các mối quan hệ giữa các thực thể khác nhau, sau đó được sử dụng để tạo ra các tóm tắt ở các mức độ chi tiết khác nhau.
-
Giai đoạn truy vấn: Khi một truy vấn của người dùng được cung cấp, Graph RAG chọn mức cộng đồng (tóm tắt) phù hợp dựa trên truy vấn và truy xuất thông tin liên quan. Các phản hồi từ nhiều cộng đồng sau đó được kết hợp để tạo ra câu trả lời cuối cùng.
Phương pháp này giải quyết các hạn chế của RAG truyền thống, như hiểu biết ngữ cảnh hạn chế và các vấn đề về khả năng mở rộng. Bằng cách kết hợp các đồ thị tri thức, Graph RAG có thể cung cấp một hiểu biết toàn diện hơn về dữ liệu cơ sở, dẫn đến các phản hồi chính xác và liên kết hơn.
Một trong những lợi ích chính của Graph RAG là khả năng xử lý các truy vấn phức tạp yêu cầu hiểu biết sâu sắc hơn về các mối quan hệ giữa các thực thể. Điều này khiến nó đặc biệt hữu ích cho các ứng dụng liên quan đến trả lời câu hỏi, tóm tắt hoặc các nhiệm vụ dựa trên tri thức.
Tuy nhiên, cần lưu ý rằng chi phí chạy Graph RAG có thể cao hơn so với các hệ thống RAG truyền thống, vì nó liên quan đến các bước xử lý bổ sung, chẳng hạn như trích xuất thực thể và tạo đồ thị tri thức. Yếu tố chi phí này cần được xem xét cẩn thận khi quyết định triển khai Graph RAG trong các ứng dụng của bạn.
Nói chung, Graph RAG đại diện cho một bước tiến đáng kể trong lĩnh vực Retrieval Augmented Generation, và tiềm năng của nó trong việc cải thiện hiệu suất của các mô hình ngôn ngữ trong các ứng dụng khác nhau đáng được khám phá.
Hiểu về RAG truyền thống: Giới hạn và Động lực
Hiểu về RAG truyền thống: Giới hạn và Động lực
Retrieval Augmented Generation (RAG) truyền thống là một phương pháp mà mô hình ngôn ngữ truy xuất các tài liệu liên quan từ một tập lớn để tạo ra các phản hồi chính xác và liên quan đến ngữ cảnh hơn. Phương pháp này bao gồm ba bước chính:
-
Xử lý và nhúng tài liệu: Các tài liệu gốc được chia thành các phần nhỏ hơn bằng cách sử dụng một chiến lược chia nhỏ. Sau đó, các nhúng được tính toán cho mỗi phần và lưu trữ trong một vector store, trở thành cơ sở tri thức.
-
Giai đoạn truy vấn: Khi người dùng đặt một câu hỏi, các nhúng được tính toán cho truy vấn và thực hiện tìm kiếm tương tự trên vector store để truy xuất các phần hoặc tài liệu phụ liên quan nhất.
-
Tạo phản hồi: Ngữ cảnh được truy xuất được kết hợp với truy vấn gốc và được đưa vào một mô hình ngôn ngữ lớn để tạo ra phản hồi cuối cùng.
Tuy nhiên, phương pháp RAG truyền thống này có một số hạn chế:
-
Hiểu biết ngữ cảnh hạn chế: RAG đôi khi có thể bỏ qua các tinh tế trong dữ liệu do chỉ dựa vào các tài liệu được truy xuất. Nó không có tổng quan toàn diện về tài liệu, vì vậy không hiểu được toàn bộ bức tranh.
-
Các vấn đề về khả năng mở rộng: Khi tập dữ liệu ngày càng lớn, quá trình truy xuất có thể trở nên kém hiệu quả hơn.
-
Độ phức tạp trong việc tích hợp các nguồn tri thức bên ngoài: Tích hợp các nguồn tri thức bên ngoài theo một cách có ý nghĩa có thể phức tạp và rườm rà.
Để giải quyết các hạn chế này, Microsoft đã giới thiệu GraphRAG, một hệ thống kết hợp các đồ thị tri thức với Retrieval Augmented Generation. Trong phần tiếp theo, chúng ta sẽ đi sâu vào các chi tiết kỹ thuật về cách GraphRAG hoạt động.
Khám phá chi tiết kỹ thuật của Graph RAG
Khám phá chi tiết kỹ thuật của Graph RAG
Graph RAG là một phương pháp mới kết hợp các đồ thị tri thức với Retrieval Augmented Generation (RAG) để giải quyết các hạn chế của các hệ thống RAG truyền thống. Các bước chính trong quá trình Graph RAG như sau:
-
Giai đoạn lập chỉ mục:
- Các tài liệu nguồn được chia thành các tài liệu phụ nhỏ hơn.
- Trong mỗi phần, các thực thể (như người, địa điểm, công ty) được xác định và các mối quan hệ giữa các thực thể này được trích xuất.
- Thông tin này được sử dụng để tạo ra một đồ thị tri thức, trong đó các thực thể được biểu diễn dưới dạng các nút và các mối quan hệ giữa chúng được biểu diễn dưới dạng các cạnh.
- Đồ thị tri thức sau đó được sử dụng để phát hiện các cộng đồng, là những nhóm các thực thể liên quan chặt chẽ với nhau.
- Các tóm tắt được tạo ra cho mỗi cộng đồng ở các mức độ chi tiết khác nhau, từ toàn cục (cấp độ cao) đến cục bộ (chi tiết hơn).
-
Giai đoạn truy vấn:
- Khi nhận được một truy vấn của người dùng, mức cộng đồng phù hợp (toàn cục, trung gian hoặc cục bộ) được chọn dựa trên mức độ chi tiết yêu cầu.
- Các tóm tắt cho các cộng đồng liên quan được truy xuất và các phản hồi riêng lẻ này được kết hợp để tạo ra câu trả lời cuối cùng.
Phương pháp này mang lại một số lợi ích so với các hệ thống RAG truyền thống:
- Cải thiện hiểu biết ngữ cảnh: Bằng cách khai thác đồ thị tri thức và các tóm tắt cấp cộng đồng, Graph RAG có thể nắm bắt được bối cảnh tổng thể và các tinh tế của các tài liệu nguồn, thay vì chỉ dựa vào các tài liệu được truy xuất.
- Tăng cường khả năng mở rộng: Khi tập dữ liệu ngày càng lớn, các tóm tắt cấp cộng đồng có thể giúp duy trì hiệu quả trong quá trình truy xuất và tạo phản hồi, giảm thiểu các vấn đề về khả năng mở rộng của RAG truyền thống.
- Tích hợp đơn giản hơn: Phương pháp dựa trên đồ thị tri thức cung cấp một cách có cấu trúc và có ý nghĩa hơn để tích hợp các nguồn tri thức bên ngoài, làm cho quá trình này ít phức tạp và rườm rà hơn.
Tuy nhiên, phương pháp Graph RAG cũng có một nhược điểm tiềm ẩn: chi phí liên quan đến việc chạy hệ thống. Giai đoạn lập chỉ mục, bao gồm trích xuất thực thể, xác định mối quan hệ và tóm tắt cộng đồng, có thể tốn kém về mặt tính toán và gây ra chi phí đáng kể, đặc biệt khi sử dụng các mô hình ngôn ngữ lớn như GPT-4.
Trong ví dụ được cung cấp, chi phí chạy Graph RAG trên một cuốn sách duy nhất (A Christmas Carol) là khoảng 7 USD, có thể quá đắt so với khả năng tài chính của nhiều người. Yếu tố chi phí này cần được xem xét khi quyết định sử dụng Graph RAG hay hệ thống RAG truyền thống trong ứng dụng của bạn.
Nói chung, Graph RAG đại diện cho một phương pháp sáng tạo để giải quyết các hạn chế của các hệ thống RAG truyền thống, nhưng các ảnh hưởng về chi phí cần được đánh giá cẩn thận dựa trên các yêu cầu cụ thể và quy mô của dự án của bạn.
Thiết lập Graph RAG trên máy tính cá nhân của bạn
Thiết lập Graph RAG trên máy tính cá nhân của bạn
Để thiết lập Graph RAG trên máy tính cá nhân của bạn, hãy làm theo các bước sau:
-
Tạo một môi trường ảo Conda:
conda create -n graphrag python=3.9 conda activate graphrag
-
Cài đặt gói Graph RAG:
pip install graphrag
-
Tạo một thư mục cho dữ liệu kiểm tra của bạn:
mkdir -p rag_test/input
-
Tải về một tập dữ liệu mẫu, chẳng hạn như văn bản của "A Christmas Carol" của Charles Dickens:
python -m graphrag.index --root_dir rag_test/input --download_sample_data
-
Thiết lập các biến và cấu hình của không gian làm việc:
python -m graphrag.index --root_dir rag_test/input --init_config
Điều này sẽ tạo ra một tệp
settings.yml
nơi bạn có thể cấu hình khóa API, mô hình và các cài đặt khác. -
Chạy quá trình lập chỉ mục để tạo đồ thị tri thức:
python -m graphrag.index --root_dir rag_test/input
Bước này có thể mất một thời gian, vì nó bao gồm trích xuất thực thể, xác định mối quan hệ và tóm tắt cộng đồng.
-
Chạy các truy vấn mẫu:
python -m graphrag.query --root_dir rag_test --method global --prompt "What are the main themes in this story?" python -m graphrag.query --root_dir rag_test --method local --prompt "What is the relationship between Scrooge and Bob Cratchit?"
Phương pháp
global
truy xuất thông tin ở mức độ cao nhất, trong khi phương pháplocal
tập trung vào các thực thể cụ thể và mối quan hệ của chúng. -
Phân tích các ảnh hưởng về chi phí: Quá trình lập chỉ mục có thể tốn kém, đặc biệt khi sử dụng các mô hình ngôn ngữ lớn như GPT-4. Ví dụ được cung cấp trong bản ghi cho thấy xử lý một cuốn sách duy nhất có thể tốn khoảng 7 USD. Hãy xem xét các ảnh hưởng về chi phí khi áp dụng Graph RAG cho các tập dữ liệu lớn hơn.
Đó là quy trình thiết lập cơ bản để chạy Graph RAG trên máy tính cá nhân của bạn. Hãy nhớ tùy chỉnh các cấu hình và lời nhắ
Câu hỏi thường gặp
Câu hỏi thường gặp

