Lãnh đạo tư tưởng
Tiến hóa RAG – Hướng dẫn về RAG Agentic
RAG (Retrieval-Augmented Generation) là gì?
RAG (Retrieval-Augmented Generation) là một kỹ thuật kết hợp sức mạnh của các mô hình ngôn ngữ lớn (LLM) với việc truy xuất dữ liệu bên ngoài để cải thiện chất lượng và sự liên quan của các phản hồi được tạo ra. Các LLM truyền thống sử dụng cơ sở kiến thức đã được đào tạo trước, trong khi các đường ống RAG sẽ truy vấn các cơ sở dữ liệu hoặc tài liệu bên ngoài trong thời gian chạy và truy xuất thông tin liên quan để sử dụng trong việc tạo ra các phản hồi chính xác và phong phú hơn. Điều này đặc biệt hữu ích trong các trường hợp câu hỏi phức tạp, cụ thể hoặc dựa trên một khung thời gian nhất định, vì các phản hồi từ mô hình được thông tin và phong phú với thông tin lĩnh vực cụ thể cập nhật.
Hiện trạng RAG
Các mô hình ngôn ngữ lớn đã cách mạng hóa hoàn toàn cách chúng ta truy cập và xử lý thông tin. Tuy nhiên, việc chỉ dựa vào kiến thức đã được nhập trước có thể hạn chế tính linh hoạt của các câu trả lời – đặc biệt là đối với các câu hỏi phức tạp. RAG giải quyết vấn đề này bằng cách cho phép LLM thu thập và phân tích dữ liệu từ các nguồn bên ngoài để tạo ra các câu trả lời chính xác và sâu sắc hơn.
Sự phát triển gần đây trong lĩnh vực truy xuất thông tin và xử lý ngôn ngữ tự nhiên, đặc biệt là LLM và RAG, mở ra những chân trời mới về hiệu quả và tinh vi. Những phát triển này có thể được đánh giá trên các đường nét rộng sau:
- Cải thiện Truy xuất Thông tin: Việc cải thiện truy xuất thông tin trong các hệ thống RAG rất quan trọng để hoạt động hiệu quả. Các công việc gần đây đã phát triển các vector, thuật toán xếp hạng lại, phương pháp tìm kiếm hỗn hợp để cải thiện tìm kiếm chính xác.
- Bộ nhớ ngữ nghĩa: Điều này trở thành một trong những cách chính để cắt giảm chi phí tính toán mà không phải hy sinh các phản hồi nhất quán. Điều này có nghĩa là các phản hồi cho các truy vấn hiện tại được lưu vào bộ nhớ cùng với ngữ cảnh ngữ nghĩa và ngữ dụng của chúng, điều này lại thúc đẩy thời gian phản hồi nhanh hơn và cung cấp thông tin nhất quán.
- Tích hợp đa phương tiện: Ngoài các hệ thống LLM và RAG dựa trên văn bản, phương pháp này còn bao gồm cả hình ảnh và các phương tiện khác của khuôn khổ. Điều này cho phép truy cập vào nhiều loại tài liệu nguồn hơn và dẫn đến các phản hồi ngày càng tinh vi và chính xác hơn.
Thử thách với Kiến trúc RAG Truyền thống
Mặc dù RAG đang phát triển để đáp ứng các nhu cầu khác nhau, vẫn còn những thách thức đứng trước Kiến trúc RAG Truyền thống:
- Tóm tắt: Tóm tắt các tài liệu lớn có thể khó khăn. Nếu tài liệu dài, cấu trúc RAG truyền thống có thể bỏ qua thông tin quan trọng vì nó chỉ lấy các phần hàng đầu.
- So sánh tài liệu: So sánh tài liệu hiệu quả vẫn là một thách thức. Khung RAG thường dẫn đến so sánh không đầy đủ vì nó chọn các phần hàng đầu từ mỗi tài liệu một cách ngẫu nhiên.
- Phân tích dữ liệu cấu trúc: Xử lý các truy vấn dữ liệu số cấu trúc, chẳng hạn như xác định khi nào một nhân viên sẽ nghỉ phép tiếp theo dựa trên nơi họ sống, là khó khăn. Việc thu thập và phân tích điểm dữ liệu chính xác không chính xác với các mô hình này.
- Xử lý các truy vấn có nhiều phần: Trả lời các câu hỏi có nhiều phần vẫn bị hạn chế. Ví dụ, tìm kiếm các mẫu nghỉ phép chung trên tất cả các khu vực trong một tổ chức lớn là khó khăn khi bị giới hạn ở các phần hàng đầu, hạn chế nghiên cứu đầy đủ.
Chuyển đổi sang RAG Agentic
RAG Agentic sử dụng các tác nhân thông minh để trả lời các câu hỏi phức tạp đòi hỏi phải lập kế hoạch cẩn thận, lý luận đa bước và tích hợp các công cụ bên ngoài. Những tác nhân này thực hiện các nhiệm vụ của một nhà nghiên cứu lành nghề, khéo léo điều hướng qua nhiều tài liệu, so sánh dữ liệu, tóm tắt kết quả và tạo ra các phản hồi toàn diện và chính xác.
Khái niệm về các tác nhân được bao gồm trong khuôn khổ RAG truyền thống để cải thiện chức năng và khả năng của hệ thống, dẫn đến sự tạo ra RAG Agentic. Những tác nhân này thực hiện các nhiệm vụ và lý luận bổ sung ngoài việc thu thập và tạo thông tin cơ bản, cũng như điều phối và kiểm soát các thành phần khác nhau của đường ống RAG.
Ba Chiến lược Agentic Chính
Các bộ định tuyến gửi truy vấn đến các mô-đun hoặc cơ sở dữ liệu phù hợp tùy thuộc vào loại của chúng. Các bộ định tuyến động quyết định sử dụng các mô hình ngôn ngữ lớn trên cơ sở ngữ cảnh của một yêu cầu, để quyết định động cơ nào nên được gửi đến để cải thiện độ chính xác và hiệu quả của đường ống.
Chuyển đổi truy vấn là các quá trình liên quan đến việc viết lại truy vấn của người dùng để phù hợp nhất với thông tin được yêu cầu hoặc ngược lại, để phù hợp nhất với những gì cơ sở dữ liệu cung cấp. Nó có thể là một trong những điều sau: viết lại, mở rộng hoặc phá vỡ các câu hỏi phức tạp thành các câu hỏi con đơn giản hơn có thể được xử lý dễ dàng hơn.
Nó cũng yêu cầu một động cơ truy vấn con để đáp ứng thách thức trả lời một truy vấn phức tạp bằng cách sử dụng nhiều nguồn dữ liệu.
Trước hết, câu hỏi phức tạp được chia thành các câu hỏi đơn giản hơn cho từng nguồn dữ liệu. Sau đó, tất cả các câu trả lời trung gian được thu thập và một kết quả cuối cùng được tổng hợp.
Các Lớp Agentic cho Đường ống RAG
- Định tuyến: Câu hỏi được định tuyến đến quá trình xử lý dựa trên kiến thức phù hợp. Ví dụ: Khi người dùng muốn nhận được các khuyến nghị cho các danh mục sách nhất định, truy vấn có thể được định tuyến đến một cơ sở kiến thức chứa kiến thức về các danh mục đó.
- Lập kế hoạch truy vấn: Điều này liên quan đến việc chia nhỏ truy vấn thành các truy vấn con và sau đó gửi chúng đến các đường ống riêng lẻ. Tác nhân tạo ra các truy vấn con cho tất cả các mục, chẳng hạn như năm, và gửi chúng đến các cơ sở kiến thức tương ứng.
- Sử dụng công cụ: Một mô hình ngôn ngữ nói với một API hoặc công cụ bên ngoài, biết những gì nó sẽ bao gồm, trên nền tảng nào giao tiếp sẽ diễn ra và khi nào nó sẽ cần phải làm như vậy. Ví dụ: Cho một yêu cầu của người dùng về dự báo thời tiết cho một ngày nhất định, LLM giao tiếp với API thời tiết, xác định vị trí và ngày, sau đó phân tích trả lời từ API để cung cấp thông tin chính xác.
- ReAct là một quá trình lặp đi lặp lại của suy nghĩ và hành động kết hợp với lập kế hoạch, sử dụng công cụ và quan sát.
Ví dụ, để thiết kế một kế hoạch du lịch từ đầu đến cuối, hệ thống sẽ xem xét nhu cầu của người dùng và thu thập chi tiết về tuyến đường, điểm du lịch, nhà hàng và chỗ ở bằng cách gọi API. Sau đó, hệ thống sẽ kiểm tra kết quả với sự chính xác và liên quan, tạo ra một kế hoạch du lịch chi tiết liên quan đến lời nhắc của người dùng và lịch trình. - Lập kế hoạch truy vấn động: Thay vì thực hiện tuần tự, tác nhân thực hiện nhiều hành động hoặc truy vấn con cùng lúc và sau đó tổng hợp các kết quả.
Ví dụ, nếu muốn so sánh kết quả tài chính của hai công ty và xác định sự khác biệt trong một số chỉ số, thì tác nhân sẽ xử lý dữ liệu cho cả hai công ty song song trước khi tổng hợp các phát hiện; LLMCompiler là một khuôn khổ như vậy dẫn đến sự điều phối hiệu quả của các cuộc gọi song song các hàm.
RAG Agentic và LLMaIndex
LLMaIndex đại diện cho một thực hiện rất hiệu quả của các đường ống RAG. Thư viện này đơn giản hóa việc tích hợp dữ liệu tổ chức có cấu trúc vào các mô hình trí tuệ nhân tạo bằng cách cung cấp sự tiện lợi cho các công cụ trong việc xử lý và truy xuất dữ liệu, cũng như các giao diện với các nguồn dữ liệu khác nhau. Các thành phần chính của LlamaIndex được mô tả dưới đây.
LlamaParse phân tích các tài liệu.
Llama Cloud cho dịch vụ doanh nghiệp với các đường ống RAG được triển khai với số lượng lao động thủ công tối thiểu.
Sử dụng nhiều LLM và lưu trữ vector, LlamaIndex cung cấp một cách tích hợp để xây dựng các ứng dụng trong Python và TypeScript với RAG. Các đặc điểm của nó làm cho nó trở thành một khung xương rất được mong muốn bởi các công ty sẵn sàng tận dụng AI cho việc ra quyết định dựa trên dữ liệu được cải thiện.
Các Thành phần Chính của Triển khai RAG Agentic với LLMaIndex
Hãy cùng đi sâu vào một số thành phần của RAG Agentic và cách chúng được thực hiện trong LlamaIndex.
1. Sử dụng Công cụ và Định tuyến
Tác nhân định tuyến chọn LLM hoặc công cụ nào là tốt nhất để sử dụng cho một câu hỏi nhất định, dựa trên loại lời nhắc. Điều này dẫn đến các quyết định nhạy cảm với ngữ cảnh như liệu người dùng muốn một cái nhìn tổng quan hay một bản tóm tắt chi tiết. Các ví dụ về những cách tiếp cận như vậy là Bộ định tuyến Query Engine trong LlamaIndex, động态 chọn các công cụ sẽ tối đa hóa phản hồi cho các truy vấn.
2. Lưu giữ ngữ cảnh dài hạn
Trong khi công việc quan trọng nhất của bộ nhớ là lưu giữ ngữ cảnh trong nhiều lần tương tác, trái lại, các tác nhân được trang bị bộ nhớ trong biến thể Agentic của RAG luôn nhận thức được các tương tác dẫn đến các phản hồi nhất quán và đầy đủ ngữ cảnh.
LlamaIndex cũng bao gồm một công cụ trò chuyện có bộ nhớ cho các cuộc trò chuyện ngữ cảnh và các truy vấn một lần. Để tránh tràn bộ nhớ của cửa sổ ngữ cảnh LLM, bộ nhớ này phải được kiểm soát chặt chẽ trong quá trình thảo luận dài và giảm xuống dạng tóm tắt.
3. Động cơ truy vấn con cho Lập kế hoạch
Đôi khi, cần phải chia nhỏ một truy vấn phức tạp thành các công việc hoặc truy vấn con có thể quản lý được. Động cơ truy vấn con là một trong những chức năng cốt lõi mà LlamaIndex được sử dụng như một tác nhân, theo đó một truy vấn lớn được chia thành các truy vấn nhỏ hơn, thực hiện tuần tự và sau đó kết hợp để tạo thành một câu trả lời mạch lạc. Khả năng của các tác nhân để điều tra nhiều khía cạnh của một truy vấn theo từng bước đại diện cho khái niệm lập kế hoạch đa bước so với tuyến tính.
4. Sự phản ánh và Sửa lỗi
Các tác nhân phản ánh tạo ra đầu ra nhưng sau đó kiểm tra chất lượng của đầu ra đó để thực hiện các sửa đổi nếu cần. Kỹ năng này rất quan trọng để đảm bảo độ chính xác và những gì được tạo ra là những gì được người dùng dự định. Nhờ vào quy trình tự phản ánh của LlamaIndex, một tác nhân sẽ xem lại hiệu suất của mình bằng cách thử lại hoặc điều chỉnh các hoạt động không đáp ứng một số mức chất lượng nhất định. Nhưng vì nó tự sửa lỗi, RAG Agentic khá đáng tin cậy cho các ứng dụng doanh nghiệp trong đó sự tin cậy là quan trọng.
5. Lý luận phức tạp Agentic:
Khám phá dựa trên cây áp dụng khi các tác nhân phải điều tra một số tuyến đường có thể để đạt được điều gì đó. Ngược lại với việc ra quyết định tuần tự, lý luận dựa trên cây cho phép một tác nhân xem xét nhiều chiến lược cùng một lúc và chọn chiến lược hứa hẹn nhất dựa trên các tiêu chí đánh giá được cập nhật trong thời gian thực.
LlamaCloud và LlamaParse
Với một loạt các dịch vụ được quản lý được thiết kế cho việc tăng cường ngữ cảnh doanh nghiệp trong các ứng dụng LLM và RAG, LlamaCloud là một bước nhảy vĩ đại trong môi trường LlamaIndex. Giải pháp này cho phép các kỹ sư AI tập trung vào việc phát triển logic kinh doanh chính bằng cách giảm quá trình phức tạp của việc xử lý dữ liệu.
Một công cụ phân tích khác có sẵn là LlamaParse, tích hợp thuận tiện với các đường ống nạp và truy xuất trong LlamaIndex. Đây là một trong những yếu tố quan trọng nhất xử lý các tài liệu phức tạp, bán cấu trúc với các đối tượng nhúng như bảng và hình. Một khối xây dựng quan trọng khác là API nạp và truy xuất được quản lý, cung cấp nhiều cách để dễ dàng nạp, xử lý và lưu trữ dữ liệu từ một tập hợp lớn các nguồn, chẳng hạn như kho dữ liệu trung tâm LlamaHub hoặc đầu ra LlamaParse. Ngoài ra, nó hỗ trợ nhiều tích hợp lưu trữ dữ liệu.
Kết luận
RAG Agentic đại diện cho một sự thay đổi trong cách xử lý thông tin bằng cách giới thiệu nhiều thông minh hơn vào các tác nhân. Trong nhiều tình huống, RAG Agentic có thể được kết hợp với các quy trình hoặc API khác nhau để cung cấp một kết quả chính xác và tinh chỉnh hơn. Ví dụ, trong trường hợp tóm tắt tài liệu, RAG Agentic sẽ đánh giá mục đích của người dùng trước khi tạo một bản tóm tắt hoặc so sánh các chi tiết. Khi cung cấp hỗ trợ khách hàng, RAG Agentic có thể trả lời chính xác và cá nhân hóa các truy vấn khách hàng ngày càng phức tạp, không chỉ dựa trên mô hình đào tạo mà còn dựa trên bộ nhớ và nguồn bên ngoài. RAG Agentic nhấn mạnh sự thay đổi từ các mô hình tạo ra sang các hệ thống tinh chỉnh hơn, tận dụng các loại nguồn khác để đạt được kết quả mạnh mẽ và chính xác. Tuy nhiên, khi chúng thông minh và tạo ra như hiện tại, những mô hình và RAG Agentic này đang trên một cuộc hành trình đến hiệu quả cao hơn khi ngày càng nhiều dữ liệu được thêm vào các đường ống.












