Xây dựng Hệ thống Enterprise RAG Siêu tốc với Hybrid Search (BM25 + Dense Vectors) và Qdrant
Tóm lược nhanh
Tổng hợp và đối chiếu bởi editorial-team
“Khắc phục nhược điểm của Vector Search thuần túy khi tìm mã sản phẩm, thuật ngữ chuyên ngành nhờ cơ chế Re-ranking Cohere và Hybrid Search.”
Hầu hết các hệ thống RAG (Retrieval-Augmented Generation) đời đầu chỉ dựa thuần túy vào Vector Semantic Search (tìm kiếm ngữ nghĩa bằng embeddings). Tuy nhiên trong môi trường doanh nghiệp thực tế, cách tiếp cận này bộc lộ điểm yếu chết người khi tìm kiếm các từ khóa chính xác như mã số hợp đồng, mã định danh linh kiện (SKU), tên riêng hoặc mã lỗi kỹ thuật. Giải pháp toàn diện năm 2026 là kiến trúc Hybrid Search kết hợp Reciprocal Rank Fusion (RRF) trên nền tảng vector database chuyên dụng Qdrant.
1. Kiến Trúc Hai Nhánh: Sparse BM25 + Dense Vector
- Nhánh Dense Vectors (BGE-M3 / OpenAI text-embedding-3-large): Chịu trách nhiệm nắm bắt ý nghĩa ngữ cảnh trừu tượng, tìm kiếm tương đồng khái niệm dù không trùng từ khóa.
- Nhánh Sparse Vectors (BM25 / SPLADE): Chịu trách nhiệm đối khớp chính xác các từ khóa hiếm, biệt ngữ chuyên ngành và mã số định danh.
- Thuật toán Reciprocal Rank Fusion (RRF): Hợp nhất bảng xếp hạng từ hai nhánh theo công thức trọng số nghịch đảo:
RRF_Score = 1/(60 + Rank_Dense) + 1/(60 + Rank_Sparse).
2. Triển Khai Thực Tế với Qdrant Client
from qdrant_client import QdrantClient, modelsclient = QdrantClient("http://localhost:6333")
Tạo collection hỗ trợ cả Dense và Sparse vectors đồng thời
client.create_collection(
collection_name="enterprise_knowledge",
vectors_config={
"dense": models.VectorParams(size=1024, distance=models.Distance.COSINE)
},
sparse_vectors_config={
"sparse": models.SparseVectorParams(index=models.SparseIndexParams(on_disk=True))
}
)
Thực thi Hybrid Search với bộ lọc thông minh
search_result = client.query_points(
collection_name="enterprise_knowledge",
prefetch=[
models.Prefetch(query=dense_vector, using="dense", limit=20),
models.Prefetch(query=sparse_indices, using="sparse", limit=20),
],
query=models.FusionQuery(fusion=models.Fusion.RRF),
limit=5
)
3. Tích Hợp Lớp Reranker Tái Định Giá Ngữ Cảnh
Để đạt độ chính xác trên 98%, danh sách top 20 tài liệu sau khi hợp nhất RRF sẽ được đưa qua một mô hình Cross-Encoder Reranker (như Cohere Rerank v3 hoặc BGE-Reranker-Large). Lớp reranker sẽ chấm điểm trực tiếp cặp câu (Câu hỏi, Đoạn trích), đảm bảo thông tin quan trọng nhất luôn nằm ở đầu context window của LLM.
Ấn phẩm do Ban biên tập AIINEWS thực hiện
Nội dung bài viết được nghiên cứu, tổng hợp và biên tập độc quyền bởi Ban biên tập AIINEWS. Mọi hình thức dẫn lại vui lòng ghi rõ nguồn AIINEWS.
