Vector search là gì?
Hiểu sâu vector search - công nghệ tìm kiếm theo ý nghĩa thay vì từ khóa, nền tảng của Semantic Search và RAG. Phân tích embedding, vector space và thuật toán ANN.
Định nghĩa
Vector search là phương pháp tìm kiếm dựa trên khoảng cách trong không gian vector nhiều chiều, nơi dữ liệu được biểu diễn thành các vector số (embedding) thay vì từ khóa thô. Thay vì tìm kiếm sự trùng khớp ký tự, vector search tìm kiếm sự tương đồng về ý nghĩa bằng cách đo khoảng cách giữa các vector trong không gian toán học.
Giải thích chi tiết
Từ dữ liệu thô sang vector embedding
Mọi dữ liệu — văn bản, hình ảnh, âm thanh — đều có thể được chuyển đổi thành vector số thông qua các mô hình embedding. Ví dụ, câu "tôi thích cà phê sáng" được mô hình như BERT hoặc OpenAI Embedding chuyển thành một vector 768 chiều hoặc 1536 chiều, biểu diễn ngữ nghĩa sâu của câu đó.
Điểm then chốt: các vector này được tạo ra sao cho dữ liệu có ý nghĩa tương tự sẽ nằm gần nhau trong không gian vector. "Cà phê buổi sáng" và "latte sáng thứ hai" sẽ có vector gần nhau, dù từ vựng khác biệt.
Không gian vector và độ đo tương đồng
Vector search hoạt động trong không gian nhiều chiều (high-dimensional space). Khi có hàng triệu vector, ta cần đo khoảng cách để tìm "hàng xóm gần nhất" (nearest neighbors). Các độ đo phổ biến:
- Cosine similarity: đo góc giữa hai vector, phổ biến nhất trong NLP vì quan tâm hướng ngữ nghĩa hơn độ dài vector
- Euclidean distance: đo khoảng cách tuyệt đối, hữu ích khi độ lớn của vector mang ý nghĩa (ví dụ: cường độ đặc trưng trong ảnh)
Vấn đề "curse of dimensionality" khiến việc tìm kiếm toàn bộ (brute-force) trở nên chậm chạp với triệu chiều dữ liệu. Đây là lý do cần đến ANN.
Approximate Nearest Neighbor (ANN)
Với hàng triệu vector, tính toán khoảng cách với từng vector là không khả thi. ANN sử dụng các cấu trúc dữ liệu đặc biệt để tìm "gần đúng" thay vì "chính xác tuyệt đối" nhưng nhanh hơn hàng nghìn lần:
- HNSW (Hierarchical Navigable Small World): xây dựng đồ thị phân tầng, tìm kiếm như đi từ vùng rộng đến chi tiết
- IVF (Inverted File Index): chia không gian thành các cụm (cluster), chỉ tìm trong cụm gần nhất
- PQ (Product Quantization): nén vector để tiết kiệm bộ nhớ và tăng tốc tính toán
Vector Database và indexing
Vector search không thể thực hiện hiệu quả trên relational database truyền thống. Các vector database như Pinecone, Weaviate, Milvus, hoặc Chroma được thiết kế riêng với:
- Index structures tối ưu cho ANN
- Metadata filtering kết hợp (lọc theo thuộc tính rồi mới tìm vector)
- Hybrid search: kết hợp keyword search (BM25) và vector search để tận dụng ưu điểm cả hai
Ví dụ thực tế
Tìm kiếm tài liệu pháp lý đa ngôn ngữ
Một công ty luật Việt Nam triển khai hệ thống RAG để tra cứu hợp đồng. Khi luật sư hỏi "hậu quả của việc chậm thanh toán tiền thuê nhà", vector search tìm được cả tài liệu tiếng Việt về "phạt vi phạm hợp đồng thuê" lẫn tài liệu tiếng Anh về "lease agreement late payment penalties" vì chúng nằm gần nhau trong không gian ngữ nghĩa, dù từ khóa hoàn toàn khác biệt.
Tìm kiếm sản phẩm trên sàn thương mại điện tử
Shopee hoặc Lazada sử dụng vector search cho tính năng "tìm sản phẩm tương tự". Khi người dùng xem một chiếc áo thun cổ tròn màu be, hệ thống tạo vector đặc trưng từ ảnh và mô tả, sau đó tìm các vector gần nhất trong kho hàng — có thể là áo khác màu nhưng cùng phong cách, hoặc quần jean phù hợp với áo đó, tạo thành gợi ý outfit.
Retrieval trong hệ thống RAG nội bộ
Một ngân hàng Việt Nam triển khai chatbot nội bộ cho nhân viên tư vấn. Khi nhân viên hỏi "thủ tục đổi thẻ bị mất cần những gì", vector search trong kho tài liệu nội bộ tìm được đoạn quy trình chính xác từ 500 trang hướng dẫn vận hành, ngay cả khi tài liệu dùng từ "reissuance procedure" thay vì "đổi thẻ".
Ứng dụng
Developer xây dựng hệ thống RAG
Vector search là thành phần cốt lõi của kiến trúc RAG. Developer cần hiểu cách chunk tài liệu, chọn model embedding phù hợp (multilingual cho tiếng Việt), và tối ưu ANN để đảm bảo độ trễ dưới 100ms khi retrieve context cho LLM.
Data scientist phát triển recommendation engine
Xây dựng hệ thống gợi ý dựa trên vector user behavior và item features. Ví dụ: vector hóa lịch sử xem phim của người dùng, tìm các vector phim có khoảng cách gần nhất trong thư viện để gợi ý "phim tương tự nhưng bạn chưa xem".
Doanh nghiệp triển khai internal knowledge base
Thay vì tìm kiếm theo từ khóa trong hàng nghìn tài liệu PDF, Word, email nội bộ, doanh nghiệp dùng vector search để tra cứu theo ý định. Nhân viên có thể hỏi bằng ngôn ngữ tự nhiên và tìm được thông tin từ tài liệu viết cách đây 5 năm với thuật ngữ khác biệt.
Researcher trong lĩnh vực multimodal AI
Kết hợp vector của text, image và audio để tìm kiếm cross-modal. Ví dụ: tìm đoạn video dựa trên mô tả bằng chữ, hoặc tìm ảnh dựa trên âm thanh mẫu.
So sánh
| Tiêu chí | Keyword Search (Traditional) | Vector Search (Semantic) |
|---|---|---|
| Cơ chế matching | Inverted index, exact match hoặc substring | Approximate Nearest Neighbor, similarity |
| Xử lý ngôn ngữ | Cần tokenization, stemming, stopword removal | Hiểu ngữ nghĩa ngầm định qua embedding |
| Đa ngôn ngữ | Cần cấu hình riêng cho mỗi ngôn ngữ | Multilingual embedding hoạt động cross-lingual |
| Tài nguyên | Ít RAM, CPU nhẹ | Cần GPU cho embedding, RAM lớn cho vector index |
| Độ chính xác | Cao nếu từ khóa chính xác, miss nếu synonym | Bắt synonym và paraphrase nhưng có thể false positive |
| Use case phù hợp | Tìm mã đơn hàng, ID, từ chuyên ngành cố định | Tìm kiếm theo ý nghĩa, RAG, recommendation |
Kết luận: Vector search không thay thế hoàn toàn keyword search mà bổ sung cho những trường hợp cần hiểu ý nghĩa ngữ cảnh. Trong thực tế, hệ thống production thường dùng hybrid search — lọc trước bằng metadata rồi rank bằng vector similarity.
Bài viết liên quan
Cùng cụm
- RAG là gì? — Tổng quan kiến trúc Retrieval-Augmented Generation, nơi vector search đóng vai trò retrieval engine
- Cách hoạt động của RAG — Pipeline chi tiết từ query embedding đến retrieval và generation
- Khi nào nên dùng RAG — Phân tích trade-off giữa RAG (dựa trên vector search) và các phương pháp khác
- Semantic search là gì? — Tìm hiểu mối quan hệ giữa semantic search và vector search
Đọc tiếp
- Embedding và vector representation — Hiểu sâu cách dữ liệu được chuyển thành vector, nền tảng của vector search
- Fine-tuning trong thực chiến — So sánh chiến lược fine-tuning với RAG: khi nào nên tối ưu model thay vì tối ưu retrieval
Khi nào nên dùng RAG
Hướng dẫn quyết định kỹ thuật: khi nào nên chọn RAG thay vì fine-tuning để xây dựng hệ thống AI với dữ liệu cập nhật, chi phí hợp lý và khả năng trích dẫn nguồn chính xác.
Semantic search là gì?
Hiểu semantic search - công nghệ tìm kiếm theo ý nghĩa thay vì từ khóa, nền tảng của RAG và chatbot thông minh hiện đại.