Retrieval Augmented Generation (RAG)
Khám phá cách Retrieval Augmented Generation (RAG) tối ưu hóa LLM bằng dữ liệu theo thời gian thực. Tìm hiểu cách xây dựng pipeline đa phương thức bằng Ultralytics YOLO26 cho visual RAG.
Sinh tăng cường truy xuất (RAG) là một kỹ thuật tiên tiến trong lĩnh vực trí tuệ nhân tạo, tối ưu hóa đầu ra của mô hình ngôn ngữ lớn (LLM) bằng cách tham chiếu đến một cơ sở tri thức có thẩm quyền nằm ngoài dữ liệu huấn luyện của model. Các model sinh truyền thống chỉ dựa vào thông tin tĩnh được học trong quá trình huấn luyện ban đầu, điều này có thể dẫn đến các câu trả lời lỗi thời hoặc những thông tin không chính xác nhưng được đưa ra đầy tự tin, thường được gọi là ảo giác. RAG thu hẹp khoảng cách này bằng cách truy xuất thông tin liên quan, cập nhật từ các nguồn bên ngoài—chẳng hạn như cơ sở dữ liệu doanh nghiệp, tin tức hiện tại hoặc tài liệu kỹ thuật—và cung cấp thông tin đó cho model dưới dạng ngữ cảnh trước khi tạo phản hồi. Quy trình này đảm bảo đầu ra của AI không chỉ mạch lạc về mặt ngôn ngữ mà còn chính xác về факт và dựa trên dữ liệu cụ thể.
Cách hệ thống RAG hoạt động#
Kiến trúc của một hệ thống RAG thường gồm hai giai đoạn chính: truy xuất và sinh. Quy trình này cho phép các developer duy trì một model nền tảng mà không cần thường xuyên huấn luyện lại với chi phí cao.
-
Truy xuất: Khi người dùng gửi một truy vấn, hệ thống trước tiên thực hiện tìm kiếm ngữ nghĩa trên một hệ thống lưu trữ chuyên dụng có tên là cơ sở dữ liệu vector. Cơ sở dữ liệu này chứa dữ liệu đã được chuyển đổi thành các biểu diễn số, được gọi là embedding, cho phép hệ thống tìm thông tin tương tự về mặt khái niệm thay vì chỉ khớp từ khóa.
-
Sinh: Các tài liệu hoặc đoạn dữ liệu liên quan được tìm thấy trong quá trình truy xuất sẽ được kết hợp với câu hỏi ban đầu của người dùng. Prompt được làm giàu này sau đó được gửi đến model sinh. Model sử dụng ngữ cảnh được cung cấp để tổng hợp câu trả lời, đảm bảo phản hồi dựa trên các dữ kiện đã truy xuất. Để tìm hiểu sâu hơn về cơ chế hoạt động, IBM cung cấp hướng dẫn toàn diện về quy trình RAG.
RAG trực quan: Tích hợp thị giác máy tính#
Mặc dù RAG vốn dựa trên văn bản, sự phát triển của học đa phương thức đã tạo ra khái niệm "RAG trực quan". Trong kịch bản này, các model thị giác máy tính đóng vai trò là cơ chế truy xuất. Chúng phân tích hình ảnh hoặc luồng video để trích xuất dữ liệu văn bản có cấu trúc—chẳng hạn như tên đối tượng, số lượng hoặc hoạt động—sau đó cung cấp dữ liệu này cho một LLM để trả lời các câu hỏi về cảnh trực quan.
Ví dụ, developer có thể sử dụng YOLO26 để phát hiện các đối tượng trong một hình ảnh và truyền danh sách đối tượng đó cho một model văn bản nhằm tạo báo cáo mô tả.
from ultralytics import YOLO
# Load the YOLO26 model for state-of-the-art detection
model = YOLO("yolo26n.pt")
# Perform inference to 'retrieve' visual facts from an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract class names to build a text context for an LLM
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
context_string = f"The scene contains: {', '.join(detected_classes)}."
print(context_string)
# Output example: "The scene contains: bus, person, person, person."Các ứng dụng trong thực tế#
RAG đang chuyển đổi các ngành bằng cách cho phép agent AI truy cập dữ liệu độc quyền hoặc dữ liệu theo thời gian thực một cách an toàn.
- Cơ sở tri thức doanh nghiệp: Các công ty sử dụng RAG để xây dựng chatbot nội bộ, trả lời câu hỏi của nhân viên về chính sách nhân sự hoặc tài liệu kỹ thuật. Bằng cách kết nối một LLM với kho tài liệu được cập nhật liên tục, hệ thống tránh cung cấp thông tin chính sách lỗi thời. Để tìm hiểu thêm về các triển khai trong doanh nghiệp, hãy xem tổng quan của Google Cloud về RAG trong Vertex AI.
- Hỗ trợ ra quyết định lâm sàng: Trong lĩnh vực AI trong chăm sóc sức khỏe, các hệ thống RAG có thể truy xuất bệnh sử và các bài nghiên cứu y khoa gần đây để hỗ trợ bác sĩ chẩn đoán, đảm bảo khuyến nghị xem xét những nghiên cứu lâm sàng mới nhất.
- Trợ lý bán lẻ thông minh: Các ứng dụng sử dụng AI trong bán lẻ tận dụng RAG để kiểm tra cơ sở dữ liệu hàng tồn kho theo thời gian thực. Nếu khách hàng hỏi chatbot, "Bạn có đôi giày chạy bộ này cỡ 10 không?", model sẽ truy xuất mức tồn kho theo thời gian thực trước khi trả lời, giúp tránh tình trạng khách hàng thất vọng vì sản phẩm hết hàng.
RAG và Fine-Tuning#
Điều quan trọng là phải phân biệt RAG với fine-tuning, vì chúng giải quyết các vấn đề khác nhau.
- RAG (Sinh tăng cường truy xuất): Phù hợp nhất để truy cập dữ liệu động, thường xuyên thay đổi (ví dụ: giá cổ phiếu, tin tức) hoặc dữ liệu riêng tư không có trong tập huấn luyện công khai. RAG tập trung vào việc cung cấp thông tin mới trong thời gian chạy.
- Fine-Tuning: Phù hợp nhất để điều chỉnh hành vi, phong cách hoặc thuật ngữ của model. Quy trình này bao gồm cập nhật trọng số model trên một tập dữ liệu cụ thể. Mặc dù fine-tuning giúp model học một mẫu ngôn ngữ cụ thể (chẳng hạn như thuật ngữ y khoa), nó không cung cấp quyền truy cập vào các dữ kiện theo thời gian thực. Xem hướng dẫn của OpenAI về fine-tuning so với RAG để tìm hiểu các khung hỗ trợ ra quyết định.
Các khái niệm liên quan#
- LangChain: Một framework nguồn mở phổ biến, được thiết kế riêng để đơn giản hóa việc tạo các ứng dụng RAG bằng cách liên kết các bộ truy xuất và LLM.
- Knowledge Graph: Một phương thức có cấu trúc để biểu diễn dữ liệu, có thể được sử dụng làm nguồn truy xuất và cung cấp các mối quan hệ phong phú hơn về mặt ngữ cảnh so với độ tương đồng vector đơn thuần.
- Prompt Engineering: Nghệ thuật xây dựng đầu vào để định hướng model. Về bản chất, RAG là một dạng prompt engineering tự động, trong đó "prompt" được làm giàu bằng dữ liệu truy xuất theo cách lập trình.
- Nền tảng Ultralytics: Trong khi RAG xử lý phần sinh văn bản, các nền tảng như nền tảng này rất cần thiết để quản lý tiền xử lý dữ liệu và quá trình huấn luyện các model thị giác cung cấp dữ liệu trực quan cho các pipeline RAG đa phương thức.









