Thủ thuật
Hướng dẫn triển khai RAG đa phương thức với Multi-Vector Retriever của LangChain
(giờ Việt Nam)
Tóm tắt AI
LangChain giới thiệu Multi-Vector Retriever, cho phép tối ưu hóa RAG trên dữ liệu hỗn hợp gồm bảng biểu, văn bản và hình ảnh, giúp nhà phát triển xây dựng hệ thống truy xuất thông minh hơn.
Bản dịch AI

Tóm tắt
Khả năng trả lời câu hỏi liền mạch trên nhiều loại dữ liệu đa dạng (hình ảnh, văn bản, bảng biểu) là một trong những "chén thánh" của RAG. Chúng tôi ra mắt ba cuốn cẩm nang (cookbook) mới giới thiệu về multi-vector retriever dành cho RAG trên các tài liệu chứa hỗn hợp nhiều loại nội dung. Những cuốn cẩm nang này cũng trình bày một vài ý tưởng về việc kết hợp các mô hình multimodal LLM với multi-vector retriever để mở khóa khả năng RAG trên hình ảnh.
Bối cảnh
Các LLM có thể tiếp nhận thông tin mới theo ít nhất hai cách: (1) cập nhật trọng số (ví dụ: fine-tuning) và (2) RAG (retrieval augmented generation - tạo lập có tăng cường truy xuất), phương pháp truyền ngữ cảnh liên quan vào LLM thông qua prompt. RAG đặc biệt hứa hẹn trong việc truy xuất thông tin thực tế vì nó kết hợp khả năng suy luận của LLM với nội dung từ các nguồn dữ liệu bên ngoài, điều này đặc biệt mạnh mẽ đối với dữ liệu doanh nghiệp.

Các cách cải thiện RAG
Một số kỹ thuật để cải thiện RAG đã được phát triển:
Ý tưởng
Ví dụ
Nguồn
RAG cơ bản
Truy xuất Top K trên các đoạn tài liệu đã được nhúng (embedded), trả về các đoạn tài liệu cho cửa sổ ngữ cảnh của LLM
LangChain vectorstores, các mô hình embedding
Embedding tóm tắt
Truy xuất Top K trên các bản tóm tắt tài liệu đã được nhúng, nhưng trả về toàn bộ tài liệu cho cửa sổ ngữ cảnh của LLM
LangChain Multi Vector Retriever
Chia cửa sổ (Windowing)
Truy xuất Top K trên các đoạn hoặc câu đã được nhúng, nhưng trả về cửa sổ mở rộng hoặc toàn bộ tài liệu
LangChain Parent Document Retriever
Lọc theo metadata
Truy xuất Top K với các đoạn được lọc theo metadata
Self-query retriever
Fine-tune các embedding cho RAG
Fine-tune mô hình embedding trên dữ liệu của bạn
Hướng dẫn fine-tuning của LangChain
RAG 2 giai đoạn
Giai đoạn đầu tìm kiếm từ khóa, theo sau là giai đoạn hai truy xuất Top K theo ngữ nghĩa
Cohere re-rank
Áp dụng RAG cho các loại dữ liệu đa dạng
Tuy nhiên, RAG trên các tài liệu chứa dữ liệu bán cấu trúc (các bảng có cấu trúc cùng văn bản phi cấu trúc) và đa phương thức (hình ảnh) vẫn là một thách thức. Với sự xuất hiện của nhiều mô hình đa phương thức (multimodal), giờ đây chúng ta cần xem xét các chiến lược thống nhất để kích hoạt RAG trên các phương thức và dữ liệu bán cấu trúc khác nhau.
Multi-Vector Retriever
Quay lại tháng 8, chúng tôi đã phát hành multi-vector retriever. Nó sử dụng một ý tưởng đơn giản nhưng mạnh mẽ cho RAG: tách biệt các tài liệu mà chúng ta muốn sử dụng để tổng hợp câu trả lời khỏi tài liệu tham chiếu mà chúng ta muốn sử dụng cho việc truy xuất. Ví dụ đơn giản, chúng ta có thể tạo một bản tóm tắt của một tài liệu dài dòng được tối ưu hóa cho tìm kiếm tương đồng dựa trên vector, nhưng vẫn truyền toàn bộ tài liệu vào LLM để đảm bảo không mất ngữ cảnh trong quá trình tổng hợp câu trả lời. Tại đây, chúng tôi cho thấy cách tiếp cận này hữu ích vượt xa văn bản thuần túy và có thể áp dụng chung cho cả bảng biểu hoặc hình ảnh để hỗ trợ RAG.
Tải tài liệu (Document Loading)
Tất nhiên, để kích hoạt cách tiếp cận này, trước tiên chúng ta cần khả năng phân tách một tài liệu thành các loại thành phần khác nhau. Unstructured là một công cụ ELT tuyệt vời rất phù hợp cho việc này vì nó có thể trích xuất các phần tử (bảng, hình ảnh, văn bản) từ nhiều loại tệp tin.
Ví dụ, Unstructured sẽ phân tách các tệp PDF bằng cách trước tiên loại bỏ tất cả các khối hình ảnh được nhúng. Sau đó, nó sẽ sử dụng một mô hình bố cục (YOLOX) để lấy các khung bao (cho bảng biểu) cũng như các tiêu đề, vốn là các tiểu mục tiềm năng của tài liệu (ví dụ: Giới thiệu, v.v.). Sau đó, nó sẽ thực hiện xử lý hậu kỳ để tổng hợp văn bản nằm dưới mỗi tiêu đề và thực hiện chia nhỏ thêm thành các khối văn bản để xử lý hạ nguồn dựa trên các cờ (flag) cụ thể của người dùng (ví dụ: kích thước khối tối thiểu, v.v.).
Dữ liệu bán cấu trúc
Sự kết hợp giữa phân tích tệp Unstructured và multi-vector retriever có thể hỗ trợ RAG trên dữ liệu bán cấu trúc, vốn là một thách thức đối với các chiến lược chia nhỏ (chunking) ngây thơ có thể làm vỡ các bảng. Chúng tôi tạo ra các bản tóm tắt của các phần tử bảng, điều này phù hợp hơn với việc truy xuất ngôn ngữ tự nhiên. Nếu một bản tóm tắt bảng được truy xuất thông qua sự tương đồng về ngữ nghĩa với câu hỏi của người dùng, bảng gốc sẽ được truyền đến LLM để tổng hợp câu trả lời như đã mô tả ở trên. Xem cuốn cẩm nang và sơ đồ dưới đây:

Dữ liệu đa phương thức (Multi-Modal Data)
Bài viết được AI dịch và tổng hợp tự động từ LangChain: Blog. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.