Multimodal RAG
RAG đa phương thức truy xuất hình ảnh, frame video, âm thanh và bản quét trang cùng với văn bản, sau đó yêu cầu model thị giác-ngôn ngữ trả lời dựa trên những gì đã tìm thấy.
RAG đa phương thức là tạo sinh tăng cường truy xuất (RAG) trên kho tri thức chứa hình ảnh, video, âm thanh và tài liệu được quét hoặc kết xuất, ngoài văn bản. Câu hỏi sẽ truy xuất các mục liên quan nhất từ bất kỳ phương thức nào, rồi model thị giác-ngôn ngữ (VLM) tạo câu trả lời dựa trên các mục đó. Nhờ vậy, sơ đồ đấu dây, ảnh sản phẩm hoặc biểu đồ trong PDF có thể được truy xuất và đọc trực tiếp, thay vì chỉ thông qua phần mô tả văn bản do ai đó viết trước.
Cách lập chỉ mục dữ liệu phi văn bản#
Cách tiếp cận đơn giản nhất là chuyển mọi thứ thành văn bản. Mô tả ảnh, bản chép lời từ nhận dạng ký tự quang học (OCR), chuyển giọng nói thành văn bản và nhãn từ phát hiện đối tượng mô tả từng mục bằng từ ngữ mà chỉ mục văn bản thông thường có thể tìm kiếm. Cách này tái sử dụng nguyên trạng pipeline RAG văn bản nhưng làm mất những thông tin không có trong phần mô tả.
Cách tiếp cận thứ hai nhúng hình ảnh và văn bản vào cùng một không gian. Các model được huấn luyện bằng học tương phản, như CLIP của OpenAI và SigLIP của Google, ánh xạ ảnh và câu mô tả ảnh đó thành các embedding nằm gần nhau, để câu hỏi văn bản có thể truy xuất trực tiếp hình ảnh từ cơ sở dữ liệu vector. Với tài liệu, ColPali (2024) nhúng ảnh chụp từng trang thành lưới các vector patch và chấm điểm mức độ khớp với token trong câu hỏi bằng tương tác muộn kiểu ColBERT, qua đó bỏ qua bước OCR và phân tích bố cục đối với PDF chứa nhiều bảng và biểu đồ.
Sau đó, bước tạo sinh đưa các mục đã truy xuất, thường là hỗn hợp hình ảnh và đoạn văn bản, vào VLM cùng với câu hỏi. Việc neo câu trả lời vào các hình ảnh đã truy xuất giúp giảm ảo giác về những chi tiết trực quan mà model chưa từng thấy trong quá trình huấn luyện, chẳng hạn như bố cục bảng điều khiển của một công ty cụ thể.
Truy xuất trong không gian embedding dùng chung#
Ví dụ này dùng checkpoint CLIP ViT-B/32 để chọn ảnh trả lời từng câu hỏi từ kho tri thức gồm hai ảnh:
import requests
from PIL import Image
from transformers import CLIPModel, CLIPProcessor
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
# Image knowledge base: CLIP embeds images and text into one shared vector space
urls = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
images = [Image.open(requests.get(url, stream=True, timeout=10).raw) for url in urls]
questions = ["What color is the man's tie?", "How many people are standing next to the bus?"]
# Retrieve: score each question against every image and keep the best match for the VLM
inputs = processor(text=questions, images=images, return_tensors="pt", padding=True)
scores = model(**inputs).logits_per_text
for question, row in zip(questions, scores):
print(f"{question} -> {urls[row.argmax()].split('/')[-1]}")Câu hỏi về cà vạt truy xuất zidane.jpg, còn câu hỏi về xe buýt truy xuất bus.jpg, vì CLIP đặt embedding văn bản của mỗi câu hỏi gần nhất với ảnh liên quan. Giao diện LLM của Ultralytics xử lý bước tạo sinh tiếp theo: llm(question, image=...) gửi câu hỏi và ảnh đã truy xuất đến bất kỳ model thị giác-ngôn ngữ tương thích với OpenAI nào trong một lần gọi và trả về phản hồi của nhà cung cấp.
RAG đa phương thức so với các thuật ngữ liên quan#
- Hỏi đáp trực quan (VQA): Trả lời câu hỏi về ảnh do người dùng cung cấp. RAG đa phương thức trước tiên tìm trong hàng nghìn ảnh, trang hoặc đoạn clip để chọn nội dung cần xem.
- Mô hình đa phương thức: Các mô hình tạo sinh, chẳng hạn GPT của OpenAI hoặc Gemini của Google, có thể đọc đồng thời ảnh và văn bản. RAG đa phương thức là hệ thống truy xuất quyết định những gì các mô hình đó nhìn thấy.
- Tìm kiếm ngữ nghĩa: Chỉ gồm phần truy xuất, trả về kết quả được xếp hạng cho người dùng thay vì cho model.
Ứng dụng thực tế#
- Bảo trì sản xuất: Kỹ thuật viên chụp ảnh bộ phận bị hỏng, rồi hệ thống truy xuất trang hướng dẫn có sơ đồ khai triển tương ứng cùng ảnh từ các lần sửa chữa trước của cùng cụm linh kiện.
- Tìm kiếm và hỗ trợ bán lẻ: Ảnh của người mua sẽ truy xuất các mặt hàng tương tự về mặt hình ảnh trong danh mục, còn trợ lý trả lời câu hỏi về kích cỡ hoặc khả năng tương thích dựa trên tài liệu sản phẩm.
- Hỏi đáp tài liệu: Báo cáo thường niên, bài báo khoa học và bộ slide lưu giữ các số liệu quan trọng trong biểu đồ và bảng; truy xuất ảnh trang có thể tìm thấy các thông tin này mà không cần bộ phân tích bảng riêng.
- Hiểu video: Lập chỉ mục các khung hình được lấy mẫu hoặc đoạn clip ngắn bằng embedding cho phép câu hỏi như “Xe giao hàng đến lúc nào?” truy xuất đúng khoảng thời gian trong video, để VLM đọc một vài khung hình thay vì hàng giờ video.
Các đánh đổi trong thiết kế#
Hình ảnh tiêu tốn nhiều ngữ cảnh: VLM chuyển mỗi ảnh thành hàng trăm hoặc hàng nghìn token, vì vậy các pipeline thường chỉ truyền một vài ảnh truy xuất hàng đầu và bao quanh chúng bằng các đoạn văn bản ngắn hơn. Hệ thống truy xuất dùng embedding chung cũng kế thừa các giới hạn từ dữ liệu huấn luyện. Bộ mã hóa văn bản của CLIP đọc tối đa 77 token, nên câu hỏi dài hơn sẽ bị cắt trước khi so khớp; embedding toàn ảnh cũng nắm bắt nội dung tổng thể của cảnh tốt hơn các chi tiết nhỏ như số sê-ri trên nhãn. Chuyển đổi sang văn bản giúp các chi tiết đó có thể tìm kiếm khi OCR đọc được chúng, vì vậy nhiều hệ thống lập chỉ mục cả văn bản OCR lẫn embedding hình ảnh, rồi gộp hai danh sách kết quả bằng tìm kiếm lai.










