Proxy-Pointer RAG: Cách tiếp cận mới cho câu trả lời đa phương thức không cần Multimodal Embeddings
Bài viết giới thiệu Proxy-Pointer RAG, một kiến trúc mã nguồn mở giúp các chatbot doanh nghiệp trả lời câu hỏi kèm theo hình ảnh chính xác mà không cần đến các mô hình nhúng đa phương thức tốn kém. Bằng cách coi tài liệu là một cây phân cấp của các khối ngữ nghĩa thay vì các đoạn văn bản rời rạc, phương pháp này giải quyết vấn đề căn bản về sự liên kết giữa ngữ cảnh và hình ảnh trong hệ thống RAG truyền thống.

Có một câu nói nổi tiếng rằng một bức ảnh đáng giá ngàn lời nói. Tuy nhiên, thực tế cho thấy rất ít chatbot doanh nghiệp hiện nay có thể trả về hình ảnh một cách đáng tin cậy và có căn cứ từ tài liệu nguồn.
Tại sao lại như vậy? Mặc dù việc hiển thị hình ảnh sẽ nâng cao đáng kể trải nghiệm người dùng so với chỉ văn bản thuần túy, nhưng việc thực hiện nó một cách nhất quán lại vô cùng khó khăn. Từ khách hàng tìm kiếm bất động sản đến kỹ thuật viên tra cứu thông số máy móc, người dùng luôn mong muốn nhìn thấy hình ảnh sản phẩm hoặc bảng bảo trì cụ thể thay vì chỉ nhận được các liên kết đến tài liệu PDF hay video chung chung.
Bài viết này sẽ giới thiệu Proxy-Pointer RAG, một pipeline mã nguồn mở có khả năng giải quyết vấn đề trên. Điểm mấu chốt của phương pháp này là nó nhìn nhận tài liệu dưới dạng một cây phân cấp của các khối ngữ nghĩa, thay vì một "túi từ ngữ" bị cắt nhỏ một cách mù quáng để trả lời truy vấn.
Proxy-Pointer RAG Architecture
Thách thức của RAG Đa phương thức (Multimodal RAG)
Khi nghĩ đến Multimodal RAG, chúng ta thường liên tưởng đến việc tìm kiếm cơ sở kiến thức bằng hình ảnh cùng với văn bản. Tuy nhiên, việc ngược lại—tìm văn bản và hiển thị hình ảnh liên quan—lại gặp nhiều khó khăn hơn.
Các phương pháp hiện nay thường gặp phải hai vấn đề lớn:
- Chèn chú thích hình ảnh (Image Captioning): Sử dụng mô hình OCR/Vision để chuyển ảnh thành văn bản và lập chỉ mục. Vấn đề là kỹ thuật chia nhỏ tài liệu (chunking) theo cửa sổ trượt (sliding-window) có thể cắt đứt chú thích của hình ảnh, khiến Mô hình ngôn ngữ lớn (LLM) không thấy được bối cảnh đầy đủ.
- Multimodal Embeddings: Nhúng cả hình ảnh và văn bản vào một không gian vector chung. Mặc dù cho phép tìm kiếm đa phương thức, phương pháp này tối ưu hóa cho sự tương đồng về mặt thị giác chứ không phải sự liên kết ngữ nghĩa. Các bảng biểu hoặc biểu đồ có cấu trúc giống nhau từ các tài liệu khác nhau có thể bị nhầm lẫn, dẫn đến việc hiển thị hình ảnh sai.
Vấn đề cốt lõi nằm ở sự lệch pha giữa đơn vị truy xuất (các chunk văn bản ngẫu nhiên) và đơn vị ngữ nghĩa (các phần hoàn chỉnh của tài liệu chứa hình ảnh).
Proxy-Pointer: Cấu trúc là tất cả những gì bạn cần
Proxy-Pointer giải quyết vấn đề này bằng cách thay thế chunking dựa trên văn bản bằng chunking dựa trên cấu trúc cây (tree-based). Chúng ta không chia nhỏ theo số lượng ký tự; chúng ta chia nhỏ theo Ranh giới Phần (Sectional Boundaries).
Nếu một phần chứa 3 đoạn văn và 2 hình ảnh, không có chunk nào vượt quá ranh giới đó. Nhờ đó, LLM có thể coi mỗi phần là một đơn vị ngữ nghĩa độc lập hoàn toàn và đưa ra đánh giá tự tin về các hình ảnh bên trong.
Pipeline Process
Cách thức hoạt động
Trong pipeline này, hình ảnh (biểu đồ, bảng, công thức) được trích xuất thành các tệp tin artifact và lưu trữ cùng nội dung tài liệu. Trong tài liệu Markdown đã trích xuất, mỗi hình ảnh được đại diện bằng một đường dẫn tương đối.
Sự thật thú vị là: LLM không cần nhìn thấy hình ảnh thực tế để xác định mức độ liên quan. Nó chỉ cần biết rằng một hình ảnh tồn tại trong một phần cụ thể của tài liệu. Vì Proxy-Pointer truy xuất toàn bộ phần thay vì các đoạn nhỏ, LLM có thể dựa vào ngữ cảnh đầy đủ của phần đó để quyết định hình ảnh nào nên hiển thị.
Quy trình truy xuất bao gồm 4 giai đoạn chính:
- Gợi ý rộng (Broad Recall): Sử dụng FAISS để trả về các chunk hàng đầu theo độ tương đồng vector.
- Xếp hạng lại cấu trúc (Structural Re-Ranking): Sử dụng LLM để đánh giá lại dựa trên đường dẫn cấu trúc đầy đủ (Breadcrumb) và đoạn ngữ nghĩa ngắn.
- Tổng hợp và Chọn ảnh (Synthesis & Context-Aware Image Selection): LLM tổng hợp câu trả lời văn bản và quét các đường dẫn hình ảnh trong các phần đã truy xuất để chọn ra tối đa 6 hình ảnh phù hợp nhất.
- Bộ lọc thị giác (Vision Filter - Tùy chọn): Một bước bổ sung nơi LLM thực sự nhìn thấy các hình ảnh được chọn để loại bỏ những cái không liên quan, tăng độ chính xác nhưng làm tăng độ trễ.
Kết quả và Hiệu suất
Trên bộ kiểm tra gồm 20 câu hỏi bao gồm truy xuất chính xác, lý luận đa tài liệu và lý luận cấu trúc, pipeline này đạt được 95% độ chính xác trong việc truy xuất hình ảnh.
Quan trọng hơn, không có trường hợp nào hình ảnh sai từ một tài liệu không liên quan bị rò rỉ vào kết quả. Điều này đảm bảo tính toàn vẹn và độ tin cậy của hệ thống—một yếu tố sống còn trong môi trường doanh nghiệp.
Benchmark Results
Kết luận
Multimodal RAG không chỉ là một vấn đề về thị giác (computer vision), mà bản chất là một vấn đề về sự liên kết trong truy xuất (retrieval alignment). Thách thức không nằm ở việc trích xuất hay nhúng hình ảnh, mà là việc liên kết chúng một cách tự tin với đúng ngữ cảnh.
Proxy-Pointer Multimodal RAG đã lấp đầy khoảng trống này bằng cách nâng cấp nền tảng từ các chunk phẳng sang ngữ cảnh có cấu trúc. Bằng cách truy xuất các phần hoàn chỉnh và coi đường dẫn hình ảnh là các con trỏ (pointers) đến các artifact bên trong, giải pháp này cho phép tạo ra các câu trả lời đa phương thức chính xác, có khả năng mở rộng và tiết kiệm chi phí—mà không cần dựa vào các multimodal embeddings đắt đỏ.
Đây là một bước tiến thực tế: những chatbot không chỉ biết "nói" mà còn có thể "chứng minh" bằng bằng chứng trực quan chính xác.
Mã nguồn của dự án đã được mở hoàn toàn (MIT License) và có thể được truy cập tại kho lưu trữ Proxy-Pointer trên GitHub.
Bài viết liên quan

Phần mềm
SatoshiGuesser: Trò chơi máy xèng "đoán" khóa riêng Bitcoin với xác suất gần như bằng không
30 tháng 4, 2026

Phần mềm
Zed 1.0 chính thức ra mắt: Trình soạn thảo mã nguồn bằng Rust tích hợp AI nhưng vẫn tôn trọng truyền thống
30 tháng 4, 2026

Phần mềm
Công cụ mới của startup Goodfire giúp "gỡ lỗi" và chỉnh sửa hành vi của các mô hình LLM
30 tháng 4, 2026
