Quy trình áp dụng GraphRAG là gì
Quy trình áp dụng GraphRAG là một cách tiếp cận có hệ thống để tận dụng sức mạnh của việc kết hợp Retrieval-Augmented Generation (RAG) với cấu trúc đồ thị tri thức.
Quy trình này được thiết kế để tối ưu hóa cả hiệu suất truy xuất thông tin và chất lượng sinh nội dung để giải quyết nhiều hạn chế của các phương pháp RAG truyền thống.
Quy trình áp dụng GraphRAG bao gồm hai giai đoạn chính: giai đoạn lập chỉ mục và giai đoạn truy vấn.
Trong giai đoạn lập chỉ mục, dữ liệu thô được chuyển đổi thành một đồ thị tri thức có cấu trúc thông qua năm bước quy chuẩn: phân đoạn văn bản, trích xuất thực thể và mối quan hệ, xây dựng đồ thị, phát hiện cộng đồng và tạo tóm tắt.
Đây là giai đoạn tốn kém về mặt tính toán nhưng chỉ cần thực hiện một lần cho mỗi tập dữ liệu hoặc cập nhật định kỳ khi dữ liệu thay đổi.
Giai đoạn truy vấn trong quy trình áp dụng GraphRAG cung cấp ba cơ chế tìm kiếm mạnh mẽ.
Tìm kiếm toàn cục sử dụng cơ chế Map-Reduce trên các bản tóm tắt cộng đồng, đặc biệt hiệu quả cho các câu hỏi tổng quan.
Tìm kiếm cục bộ tập trung vào khám phá thông tin chi tiết về các thực thể cụ thể thông qua việc duyệt đồ thị.
Tìm kiếm DRIFT kết hợp cả hai phương pháp trên, tạo ra cấu trúc câu trả lời phân cấp với cả thông tin tổng quan và chi tiết.
Áp dụng đúng quy trình GraphRAG không chỉ nâng cao độ chính xác và tính toàn diện của thông tin được truy xuất mà còn tối ưu hóa hiệu quả sử dụng tài nguyên.
Đây là điều đặc biệt quan trọng khi làm việc với các kho dữ liệu lớn và phức tạp trong các ứng dụng trí tuệ nhân tạo hiện đại.
Giai đoạn lập chỉ mục
Phân đoạn văn bản
Bước đầu tiên trong giai đoạn lập chỉ mục là chia tập hợp văn bản đầu vào thành các đơn vị nhỏ hơn gọi là TextUnits.
Phân đoạn không chỉ đơn thuần là chia tài liệu thành các đoạn văn hoặc câu mà còn liên quan đến việc lựa chọn cẩn thận kích thước phù hợp cho các đơn vị này.
Tại sao điều này lại quan trọng?
Kích thước của mỗi TextUnit ảnh hưởng trực tiếp đến cả chi phí xử lý và hiệu quả truy xuất.
Kích thước lớn hơn dẫn đến ít lần gọi đến các mô hình ngôn ngữ lớn (LLMs) hơn.
Do đó giảm chi phí tính toán và thời gian xử lý nhanh hơn.
Tuy nhiên, khi TextUnits quá lớn, có nguy cơ mô hình có thể “quên” hoặc bỏ qua những chi tiết quan trọng được đưa ra ở đầu phần khi nó xử lý phần còn lại.
Ngược lại, các TextUnits nhỏ hơn thường bảo toàn thông tin cục bộ tốt hơn, giúp dễ dàng truy xuất các chi tiết tinh tế trong quá trình truy vấn.
Nhưng điều này đi kèm với chi phí xử lý cao hơn vì nhiều đơn vị đồng nghĩa với nhiều thao tác riêng lẻ hơn.
Thiết kế kích thước phần tối ưu đòi hỏi cân bằng giữa các đánh đổi này dựa trên trường hợp sử dụng và bộ dữ liệu cụ thể.
Ví dụ: trong một bộ dữ liệu y khoa, các đơn vị nhỏ hơn có thể giúp nắm bắt chính xác các thuật ngữ chuyên môn và mối quan hệ giữa triệu chứng với bệnh lý.
Trong khi đó, với dữ liệu hỗ trợ khách hàng, các đơn vị lớn hơn có thể hữu ích để duy trì ngữ cảnh toàn cuộc hội thoại.
Trích xuất thực thể và mối quan hệ
Sau khi văn bản đã được phân đoạn, bước tiếp theo là trích xuất các thực thể, mối quan hệ giữa các thực thể đó, và các phát biểu cốt lõi từ mỗi TextUnit.
Việc trích xuất này được thực hiện bởi các mô hình ngôn ngữ lớn được hướng dẫn bởi các lệnh nhắc được thiết kế cẩn thận.
Chất lượng của bước này phụ thuộc rất nhiều vào mức độ tương thích của các lệnh nhắc với lĩnh vực của dữ liệu.
Chẳng hạn lệnh nhắc được sử dụng cho tài liệu pháp lý sẽ khác biệt đáng kể so với những lệnh dùng cho hồ sơ y tế hoặc bài báo tin tức.
Độ chính xác trong nhận dạng thực thể và phát hiện mối quan hệ phụ thuộc vào sự tùy chỉnh này.
Thông qua việc tinh chỉnh lệnh nhắc một cách tự động hoặc thủ công, hệ thống đảm bảo nó xác định chính xác không chỉ các thực thể có tên như người, địa điểm hoặc tổ chức mà còn nắm bắt được cách các thực thể này liên quan đến nhau.
Ví dụ: “Người A làm việc tại Công ty B” hoặc “Sự kiện X xảy ra tại Địa điểm Y.”
Trích xuất có cấu trúc chuyển đổi văn bản phi cấu trúc thành các khối xây dựng có ý nghĩa cho đồ thị tri thức.
Xây dựng đồ thị
Tính năng quan trọng khác trong giai đoạn lập chỉ mục là tập hợp tất cả các thực thể đã trích xuất và mối quan hệ của chúng thành một đồ thị tri thức toàn diện.
Ở đây, mỗi thực thể đóng vai trò là một nút, trong khi các mối quan hệ trở thành các cạnh kết nối các nút này.
Cấu trúc đồ thị này rất quan trọng vì nó biểu diễn thông tin theo cách phản ánh các kết nối và ngữ cảnh trong thế giới thực.
Không giống như văn bản tuyến tính, đồ thị hỗ trợ truy vấn phức tạp và các đường dẫn đi qua nhiều nút.
Ví dụ: người dùng có thể dễ dàng khám phá tất cả các thực thể liên quan đến một chủ đề cụ thể hoặc theo dõi chuỗi quan hệ để phát hiện các kết nối gián tiếp.
Xây dựng đồ thị từ nhiều TextUnits đòi hỏi tích hợp thông tin một cách nhất quán qua các phần.
Các thực thể trùng lặp phải được nhận diện và hợp nhất; các mối quan hệ cần được xác nhận để tránh mâu thuẫn.
Đồ thị tri thức kết quả trở thành một bản đồ phong phú về các điểm dữ liệu liên kết với nhau.
Vì vậy có thể được tìm kiếm và tóm tắt hiệu quả trong các giai đoạn sau.
Phát hiện cộng đồng
Sau khi đồ thị tri thức được xây dựng, bước tiếp theo là xác định các cụm nút.
Đây là đại diện cho các thực thể có liên kết chặt chẽ với nhau.
Điều này được thực hiện thông qua thuật toán phân cụm phân cấp, thường sử dụng phương pháp Leiden.
Thuật toán Leiden nổi tiếng với khả năng phát hiện hiệu quả các cộng đồng trong mạng lưới phức tạp và lớn.
Nó hoạt động bằng cách phân chia đồ thị thành các nhóm nút có kết nối nội bộ mạnh hơn so với kết nối với các nút bên ngoài nhóm của chúng.
Những “cộng đồng” này có thể tồn tại ở nhiều cấp độ chi tiết, tạo thành các cụm lồng nhau trong cấu trúc đồ thị.
Xác định các cộng đồng rất giá trị vì nó tiết lộ các nhóm tự nhiên trong dữ liệu tương ứng với các chủ đề hoặc chủ đề phụ có ý nghĩa.
Ví dụ: trong đồ thị tri thức về nghiên cứu khoa học, một cộng đồng có thể tập trung quanh một lĩnh vực nghiên cứu cụ thể như di truyền học, trong khi cộng đồng khác có thể tập trung vào khoa học khí hậu.
Phân cụm phân cấp này hỗ trợ các truy vấn có mục tiêu hơn và giúp hiểu cách các phần khác nhau của dữ liệu liên quan đến nhau.
Phát hiện cộng đồng giúp giảm độ phức tạp bằng cách chia nhỏ đồ thị thành các phân đoạn dễ quản lý.
Vì thế không chỉ cải thiện hiệu quả truy xuất mà còn cung cấp ngữ cảnh cho các quy trình sau như tóm tắt và tạo phản hồi truy vấn.
Tóm tắt cho mỗi cộng đồng
Sau khi các cộng đồng đã được xác định, các mô hình ngôn ngữ lớn (LLMs) được sử dụng lại để tạo ra các bản tóm tắt cho mỗi nhóm.
Những bản tóm tắt này mô tả nội dung chính, nêu bật các thực thể quan trọng và phác thảo các mối quan hệ nổi bật trong mỗi cộng đồng.
Quy trình tóm tắt thường tuân theo phương pháp từ dưới lên trên.
Bản tóm tắt được tạo trước tiên cho các cộng đồng nhỏ hơn, cấp thấp hơn.
Những mô tả ngắn gọn sau đó được sử dụng làm khối xây dựng để soạn các bản tóm tắt cho các cộng đồng cấp cao hơn, bao gồm các chủ đề rộng hơn hoặc tổng quát hơn.
Tóm tắt phân cấp rất quan trọng để cung cấp cho người dùng cái nhìn nhanh chóng và rõ ràng về nội dung của các bộ dữ liệu lớn mà không cần phải điều hướng qua từng chi tiết một cách thủ công.
Nó giúp đưa ra cái nhìn tổng thể đồng thời vẫn duy trì khả năng truy cập đến thông tin cụ thể khi cần thiết.
Hơn nữa, những bản tóm tắt này đóng vai trò như một công cụ lập chỉ mục hiệu quả trong giai đoạn truy vấn.
Khi người dùng đặt câu hỏi rộng, hệ thống có thể tận dụng các bản tóm tắt cộng đồng để nhanh chóng định vị các cụm thông tin liên quan trước khi đi sâu vào các chi tiết cụ thể.
Giai đoạn truy vấn
Tìm kiếm toàn cục
Chuẩn bị tóm tắt cộng đồng
Tìm kiếm toàn cục bắt đầu bằng việc thu thập các bản tóm tắt cộng đồng, là những mô tả ngắn gọn được tạo ra trong giai đoạn lập chỉ mục.
Những bản tóm tắt này thường đến từ một cấp độ được chọn trước của cấu trúc cộng đồng phân cấp trong đồ thị hoặc có thể được lựa chọn động dựa trên mức độ liên quan của chúng đối với truy vấn của người dùng.
Để duy trì phân phối cân bằng thông tin liên quan và ngăn chặn các chi tiết quan trọng bị thất lạc trong một cửa sổ ngữ cảnh đơn lẻ, bản tóm tắt thường được xáo trộn ngẫu nhiên và chia thành các phần nhỏ hơn với giới hạn token được xác định cẩn thận.
Phân đoạn đảm bảo mỗi phần văn bản được đưa vào mô hình ngôn ngữ lớn (LLM) vẫn dễ quản lý và tập trung.
Do đó giúp hệ thống tránh làm quá tải mô hình hoặc vượt quá khả năng xử lý ngữ cảnh của nó.
Bước chuẩn bị rất quan trọng vì nó tổ chức dữ liệu thành các phân đoạn dễ tiêu hóa phản ánh các cụm chủ đề khác nhau trong đồ thị tri thức.
Nhờ đó, nó tạo nền tảng vững chắc cho quá trình tìm kiếm hiệu quả và toàn diện có thể phóng to vào các khu vực cụ thể mà không đánh mất bối cảnh tổng thể.
Giai đoạn Map
Sau khi chuẩn bị các bản tóm tắt cộng đồng, giai đoạn Map bắt đầu.
Trong giai đoạn này, mỗi phần nội dung được tóm tắt được xử lý độc lập và song song bởi LLM.
Mục tiêu ở đây là tạo ra các câu trả lời trung gian giải quyết truy vấn ban đầu của người dùng chỉ dựa trên thông tin chứa trong từng phần.
Phương pháp này đảm bảo mọi thông tin liên quan đều có cơ hội đóng góp vào câu trả lời cuối cùng.
Đồng thời, LLM đánh giá mỗi câu trả lời trung gian về độ hữu ích hoặc mức độ liên quan đến truy vấn, thường gán điểm trên thang đã định trước.
Ví dụ: Các câu trả lời được đánh giá là không hữu ích là những câu có điểm số không sẽ bị loại bỏ để giữ cho quá trình tập trung và hiệu quả ( thang điểm từ 0-100).
Bằng cách tách biệt các phần và đánh giá chúng riêng lẻ, giai đoạn Map giảm nhiễu từ nội dung không liên quan và thúc đẩy độ chính xác.
Nó cũng hỗ trợ song song hóa, tăng tốc thời gian phản hồi khi xử lý các bộ dữ liệu lớn.
Giai đoạn Reduce
Sau khi tất cả các câu trả lời trung gian đã được tạo ra và chấm điểm, giai đoạn Reduce tập hợp chúng để xử lý cuối cùng.
Hệ thống xếp hạng các câu trả lời này theo điểm số hữu ích theo thứ tự giảm dần, đảm bảo rằng thông tin liên quan nhất được ưu tiên.
Bắt đầu từ các câu trả lời có điểm cao nhất, hệ thống tuần tự thêm chúng vào một cửa sổ ngữ cảnh mới cho đến khi đạt đến giới hạn token được phép bởi LLM.
Ngữ cảnh tổng hợp này chỉ chứa những câu trả lời trung gian phù hợp nhất từ các cộng đồng khác nhau, sau đó được cung cấp lại cho LLM.
Tại thời điểm đó, LLM tạo ra một câu trả lời toàn cục tích hợp các phần thông tin cục bộ đa dạng thành một phản hồi mạch lạc và toàn diện cho người dùng.
Cơ chế kiểu Map-Reduce này là một trong những đóng góp mạnh mẽ nhất của GraphRAG.
Nó giải quyết điểm yếu chính trong các phương pháp RAG cơ bản khi xử lý các truy vấn rộng hoặc phức tạp bằng cách hợp nhất hiệu quả các thông tin chi tiết từ toàn bộ bộ dữ liệu trong khi vẫn duy trì tập trung vào mức độ liên quan và chi tiết.
Một số biến thể, chẳng hạn như Tìm kiếm Toàn cục Động, tối ưu hóa quy trình này hơn nữa bằng cách lọc ra các cộng đồng không liên quan từ sớm.
Vì vậy giảm chi phí tính toán mà không ảnh hưởng đến chất lượng câu trả lời.
Tìm kiếm cục bộ
Xác định thực thể liên quan
Bước đầu tiên trong tìm kiếm cục bộ liên quan đến việc hiểu truy vấn của người dùng (và có thể cả lịch sử hội thoại trước đó) để xác định các thực thể liên quan trong đồ thị tri thức.
Các thực thể này đóng vai trò như “điểm neo” hoặc các nút truy cập ban đầu từ đó hệ thống có thể khám phá thêm.
Liên kết ngữ nghĩa truy vấn với các thực thể cụ thể, hệ thống đảm bảo các bước tìm kiếm tiếp theo tập trung vào các khu vực của đồ thị có khả năng chứa thông tin liên quan nhất.
Việc neo dựa vào thực thể này rất quan trọng vì nó thu hẹp đồ thị rộng lớn thành các điểm khởi đầu có ý nghĩa và dễ quản lý phản ánh ý định của người dùng.
Khám phá các nút lân cận
Sau khi các thực thể liên quan đã được xác định, tìm kiếm cục bộ tiếp tục với việc khám phá “mở rộng” xung quanh các điểm neo này.
Điều này có nghĩa là đi qua đồ thị để phát hiện các nút lân cận.
Đây là các thực thể khác được kết nối trực tiếp thông qua các mối quan hệ và các khái niệm liên quan làm phong phú thêm ngữ cảnh.
Việc mở rộng này phát hiện thông tin liên quan có thể không được đề cập rõ ràng trong truy vấn ban đầu nhưng lại cần thiết để xây dựng hiểu biết toàn diện hơn.
Ví dụ: nếu người dùng truy vấn về một nhà nghiên cứu cụ thể, tìm kiếm cục bộ có thể khám phá các tổ chức liên kết của họ, đồng tác giả, hoặc các chủ đề nghiên cứu được liên kết trong đồ thị.
Bước này tận dụng bản chất kết nối của đồ thị tri thức.
Vì vậy hỗ trợ tìm kiếm cục bộ nắm bắt các mối quan hệ ngữ nghĩa phong phú và chi tiết ngữ cảnh mà các tìm kiếm đơn giản dựa trên từ khóa thường bỏ sót.
Trích xuất thông tin đa dạng
Trong quá trình khám phá này, tìm kiếm cục bộ trích xuất nhiều loại thông tin liên quan bao gồm các thực thể được kết nối, mối quan hệ cụ thể giữa chúng.
Ngoài ra còn có thuộc tính hoặc đặc điểm bổ sung của thực thể, các bản tóm tắt cộng đồng mà chúng thuộc về và thậm chí cả các đoạn văn bản gốc (TextUnits) liên quan đến những thực thể và mối quan hệ đó.
Quy trình trích xuất đa dạng này có thể liên quan đến các kỹ thuật nâng cao như xác định các thực thể tương tự, ánh xạ TextUnits trở lại thực thể và trích xuất các mối quan hệ.
Mục tiêu là thu thập một bộ dữ liệu đa diện mô tả chi tiết xung quanh các thực thể quan tâm.
Kết hợp dữ liệu đồ thị có cấu trúc với các tham chiếu văn bản phi cấu trúc, tìm kiếm cục bộ xây dựng một ngữ cảnh phong phú hỗ trợ tạo phản hồi chính xác và có đầy đủ thông tin hơn.
Ưu tiên và lọc ngữ cảnh
Sau khi thu thập các nguồn dữ liệu ứng viên từ cả yếu tố đồ thị có cấu trúc và văn bản phi cấu trúc, hệ thống áp dụng các cơ chế xếp hạng và lọc.
Điều này đảm bảo chỉ những thông tin liên quan và quan trọng nhất được giữ lại để xây dựng ngữ cảnh cuối cùng.
Vì các mô hình ngôn ngữ có giới hạn token cho kích thước đầu vào, việc quản lý cẩn thận tổng độ dài ngữ cảnh là rất quan trọng.
Việc ưu tiên bao gồm chấm điểm thông tin dựa trên mức độ liên quan đến truy vấn và loại bỏ nội dung ít hữu ích hơn để giữ trong những ràng buộc này.
Bước lọc này cân bằng giữa tính toàn diện với hiệu quả, ngăn chặn quá tải trong khi vẫn bảo toàn các chi tiết quan trọng đóng góp có ý nghĩa vào việc trả lời truy vấn.
Cung cấp câu trả lời chi tiết
Cuối cùng, ngữ cảnh đã được tinh chỉnh và ưu tiên được đưa vào mô hình ngôn ngữ lớn (LLM).
Mô hình này tổng hợp thông tin này để tạo ra các câu trả lời chi tiết và mạch lạc phù hợp với câu hỏi của người dùng.
Việc tạo phản hồi này được hưởng lợi lớn từ ngữ cảnh phong phú tập trung vào thực thể được xây dựng trong quá trình tìm kiếm cục bộ.
Thay vì chỉ truy xuất các đoạn văn bản chứa tên thực thể, GraphRAG có thể khai thác các kết nối sâu và mối quan hệ được mã hóa trong đồ thị tri thức để cung cấp câu trả lời sâu sắc và chi tiết hơn.
Tìm kiếm DRIFT
Khởi đầu: Tạo phản hồi ban đầu rộng
Tìm kiếm DRIFT bắt đầu với giai đoạn Khởi đầu, trong đó truy vấn của người dùng được so sánh ngữ nghĩa với một số lượng định trước (K) các bản tóm tắt cộng đồng liên quan nhất.
Những bản tóm tắt cộng đồng đại diện cho các cụm thực thể và thông tin liên quan trong đồ thị tri thức.
Do đó chúng tóm lược các hiểu biết cấp cao về các phần khác nhau của bộ dữ liệu.
Sử dụng sự so sánh này làm ngữ cảnh, mô hình ngôn ngữ lớn (LLM) tạo ra một câu trả lời ban đầu có phạm vi rộng giải quyết truy vấn tổng thể.
Quan trọng hơn, nó cũng đề xuất các câu hỏi tiếp theo được thiết kế để hướng dẫn việc khám phá chi tiết hơn sau đó.
Đầu ra kép này (một phản hồi ban đầu cộng với các câu hỏi có mục tiêu) tạo nền tảng cho quá trình tìm kiếm năng động và lặp đi lặp lại.
Giai đoạn này rất quan trọng vì nó giúp Tìm kiếm DRIFT bắt đầu từ góc nhìn rộng hơn.
Ngoài ra còn kết hợp kiến thức toàn cầu từ khắp bộ dữ liệu thay vì tập trung hẹp ngay từ đầu.
Nó giúp đảm bảo các yếu tố ngữ cảnh quan trọng không bị bỏ qua sớm trong quá trình truy vấn.
Theo dõi: Tinh chỉnh với tìm kiếm cục bộ
Sau giai đoạn Khởi đầu, Tìm kiếm DRIFT chuyển sang giai đoạn Theo dõi.
Ở đây, nó sử dụng các kỹ thuật tìm kiếm cục bộ tương tự như Tìm kiếm Cục bộ truyền thống nhưng được hướng dẫn bởi các tinh chỉnh truy vấn ban đầu và các câu hỏi tiếp theo được tạo ra trong Giai đoạn Khởi đầu.
Quá trình lặp đi lặp lại liên quan đến việc tạo ra các câu trả lời trung gian và các câu hỏi tiếp theo bổ sung, cụ thể hơn ở mỗi bước.
Vì vậy, hệ thống dần dần tập trung vào thông tin phong phú, chi tiết hơn được nhúng trong đồ thị tri thức.
Phương pháp này có tính thích ứng nên hệ thống có thể duy trì một chỉ số mức độ tin cậy giúp quyết định liệu có nên tiếp tục mở rộng tìm kiếm hay kết thúc với thông tin đã thu thập được cho đến nay.
Giai đoạn này nâng cao độ sâu bằng cách tận dụng các mối quan hệ chi tiết và thông tin cấp thực thể trong đồ thị trong khi vẫn tập trung vào ý định của người dùng được thể hiện thông qua các câu hỏi phát triển linh hoạt.
Phân cấp đầu ra: Cấu trúc của câu trả lời
Không giống như các phương pháp tìm kiếm thông thường chỉ đưa ra một câu trả lời phẳng đơn lẻ, Tìm kiếm DRIFT tạo ra một cấu trúc đầu ra phân cấp.
Phân cấp này bao gồm các câu hỏi và câu trả lời liên quan được tổ chức theo mức độ liên quan và tính cụ thể của chúng.
Ở các cấp cao hơn của cấu trúc này là những hiểu biết toàn cầu, rộng lớn có nguồn gốc từ các bản tóm tắt cộng đồng.
Ở các cấp thấp hơn là những câu trả lời chi tiết, tinh chỉnh được tạo ra thông qua khám phá cục bộ và các truy vấn tiếp theo.
Định dạng phân lớp này giúp người dùng hiểu không chỉ câu trả lời cuối cùng mà còn cả ngữ cảnh đằng sau nó bao gồm cách các phần thông tin khác nhau liên quan đến nhau.
Nó phản ánh sự tích hợp cân bằng giữa kiến thức tổng quan và đi sâu vào các chi tiết cụ thể.
Có thể bạn quan tâm
Liên hệ
Địa chỉ
Tầng 3 Toà nhà VNCC 243A Đê La Thành Str Q. Đống Đa-TP. Hà Nội

