🎓 AI TUTORIAL A–Z
📚 KHÓA 1 – AI FOUNDATION
💾 MODULE M29
EMBEDDING – BIỂU DIỄN DỮ LIỆU THÀNH VECTOR
⏱️ Thời lượng: 180 phút
🟢 Cấp độ: Cơ bản → Trung cấp
🎯 Mục tiêu chung: Hiểu cách AI chuyển văn bản và dữ liệu thành Vector, đo mức độ tương đồng và ứng dụng Embedding trong tìm kiếm ngữ nghĩa, RAG và AI Agent.
📚 1. MỤC LỤC
📚 Mục lục
🎯 Mục tiêu
🏗️ Kiến trúc và công nghệ
📖 Kiến thức cốt lõi
💼 Ứng dụng thực tế và Case Study
⚠️ Lưu ý và kinh nghiệm
📌 Tóm tắt kiến thức
🧪 Bài tập thực hành
❓ Câu hỏi ôn tập và đáp án
📚 Tài liệu tham khảo
🚀 Module tiếp theo
🎯 2. MỤC TIÊU
Sau khi học xong module này, bạn sẽ:
✅ Hiểu Embedding là gì.
✅ Biết vì sao AI phải chuyển dữ liệu thành Vector.
✅ Phân biệt Token Embedding, Word Embedding và Sentence Embedding.
✅ Hiểu Vector và số chiều của Vector.
✅ Hiểu Cosine Similarity.
✅ Biết tìm kiếm theo ý nghĩa thay vì chỉ theo từ khóa.
✅ Hiểu vai trò của Embedding trong RAG.
✅ Biết lưu Embedding trong Vector Database.
✅ Biết cách lựa chọn và đánh giá Embedding Model.
✅ Nhận biết các lỗi thường gặp khi triển khai thực tế.
🏗️ 3. KIẾN TRÚC VÀ CÔNG NGHỆ
3.1 Kiến trúc tổng thể
📄 Văn bản / 🖼️ Hình ảnh / 🎤 Âm thanh
│
▼
🧹 Tiền xử lý
│
▼
🧠 Embedding Model
│
▼
🔢 Vector nhiều chiều
│
▼
🗄️ Vector Database
│
▼
🔎 Similarity Search
│
▼
📚 Tài liệu gần nghĩa / Gợi ý / RAG
Embedding Model chuyển dữ liệu thành Vector số. Những nội dung có ý nghĩa gần nhau thường được đặt gần nhau trong không gian Vector. Sentence Transformers hỗ trợ tạo Embedding cho câu, đoạn văn, hình ảnh và nhiều loại dữ liệu, phục vụ tìm kiếm ngữ nghĩa, phân cụm và truy xuất. (Hugging Face)
3.2 Cách hiểu đơn giản
Giả sử có ba câu:
A. Oracle Database bị đầy Tablespace.
B. Không gian lưu trữ của Database Oracle sắp hết.
C. Hôm nay trời mưa ở Hà Nội.
Tìm kiếm theo từ khóa có thể gặp khó khăn vì câu A và B dùng các từ khác nhau.
Embedding chuyển chúng thành Vector:
A → [0.12, 0.84, -0.31, ...]
B → [0.10, 0.81, -0.28, ...]
C → [-0.77, 0.09, 0.42, ...]
Kết quả:
A gần B → Cùng ý nghĩa
A xa C → Khác chủ đề
Có thể hình dung Embedding như một tọa độ ý nghĩa.
3.3 Kiến trúc Semantic Search
📚 Kho tài liệu
│
▼
✂️ Chia thành Chunk
│
▼
🧠 Embedding Model
│
▼
🔢 Vector tài liệu
│
▼
🗄️ Vector Database
│
│
👤 Câu hỏi người dùng
│
▼
🧠 Cùng Embedding Model
│
▼
🔢 Vector câu hỏi
│
▼
🔎 Tìm Vector gần nhất
│
▼
📄 Trả tài liệu liên quan
3.4 Kiến trúc Embedding trong RAG
📚 Tài liệu nội bộ
│
▼
🧹 Làm sạch
│
▼
✂️ Chia Chunk
│
▼
🧠 Embedding
│
▼
🗄️ Vector Database
│
│
💬 Câu hỏi
│
▼
🧠 Query Embedding
│
▼
🔎 Similarity Search
│
▼
📄 Top tài liệu liên quan
│
▼
🧠 LLM
│
▼
📝 Câu trả lời có nguồn
Embedding không trực tiếp viết câu trả lời. Nó giúp tìm đúng tài liệu để LLM sử dụng.
3.5 Các thành phần chính
🧠 Embedding Model
Chuyển dữ liệu thành Vector.
🔢 Vector
Danh sách các số biểu diễn đặc trưng và ý nghĩa của dữ liệu.
📐 Dimension
Số lượng phần tử trong Vector.
Ví dụ:
[0.12, 0.33, -0.71, 0.08]
Đây là Vector có bốn chiều.
Trong thực tế, Embedding có thể có hàng trăm hoặc hàng nghìn chiều.
📏 Distance Metric
Phương pháp đo khoảng cách hoặc độ tương đồng giữa hai Vector.
🗄️ Vector Database
Lưu trữ, lập chỉ mục và tìm kiếm Vector.
🔎 Nearest Neighbor Search
Tìm những Vector gần Vector truy vấn nhất.
3.6 Lộ trình công nghệ
🔢 One-Hot Encoding
│
▼
📚 Word2Vec / GloVe
│
▼
🧠 Contextual Embedding
│
▼
📝 Sentence Embedding
│
▼
🌍 Multilingual Embedding
│
▼
🖼️ Multimodal Embedding
│
▼
🔎 Hybrid Search + Reranking
3.7 So sánh các dạng biểu diễn
| Phương pháp | Đặc điểm | Hạn chế |
|---|---|---|
| One-Hot | Mỗi từ là một vị trí riêng | Không thể hiện ý nghĩa |
| TF-IDF | Đánh giá tầm quan trọng của từ | Hạn chế với từ đồng nghĩa |
| Word Embedding | Mỗi từ là một Vector | Khó xử lý ngữ cảnh toàn câu |
| Contextual Embedding | Vector thay đổi theo ngữ cảnh | Tốn tài nguyên hơn |
| Sentence Embedding | Biểu diễn cả câu hoặc đoạn | Phụ thuộc chất lượng mô hình |
| Multimodal Embedding | Kết nối chữ, ảnh, âm thanh | Kiến trúc phức tạp |
3.8 Vector Database phổ biến
| Công nghệ | Đặc điểm |
|---|---|
| pgvector | Mở rộng PostgreSQL để lưu và tìm Vector |
| Qdrant | Vector Search chuyên dụng |
| Milvus | Phù hợp hệ thống Vector quy mô lớn |
| Weaviate | Vector Database tích hợp nhiều tính năng AI |
| Elasticsearch/OpenSearch | Kết hợp tìm kiếm từ khóa và Vector |
| FAISS | Thư viện tìm kiếm Vector tại chỗ |
pgvector hỗ trợ tìm kiếm láng giềng gần nhất chính xác và gần đúng; hai kiểu chỉ mục phổ biến là HNSW và IVFFlat. (GitHub)
Qdrant cung cấp Vector Search và Semantic Search, hỗ trợ tìm các điểm gần nhất cho dữ liệu văn bản, hình ảnh và truy vấn đa phương thức. (Qdrant)
📖 4. KIẾN THỨC CỐT LÕI
4.1 Embedding là gì?
Embedding là quá trình biến dữ liệu thành một Vector số có kích thước cố định.
Dữ liệu đầu vào có thể là:
Từ.
Câu.
Đoạn văn.
Tài liệu.
Hình ảnh.
Âm thanh.
Video.
Sản phẩm.
Người dùng.
Log hoặc mã nguồn.
Ví dụ:
"Oracle RAC"
│
▼
[0.17, -0.52, 0.91, 0.08, ...]
Vector này không có ý nghĩa khi đọc từng số riêng lẻ. Giá trị nằm ở mối quan hệ giữa Vector đó với các Vector khác.
4.2 Vì sao AI cần Embedding?
Máy tính xử lý số tốt hơn ngôn ngữ tự nhiên.
Embedding giúp chuyển:
Từ ngữ, hình ảnh, âm thanh
↓
Dữ liệu dạng số
↓
Có thể so sánh và tìm kiếm
Nhờ Embedding, AI có thể:
Tìm hai câu cùng ý nghĩa.
Nhóm tài liệu cùng chủ đề.
Tìm sản phẩm tương tự.
Gợi ý nội dung.
Phát hiện bất thường.
Truy xuất tài liệu cho RAG.
4.3 Vector là gì?
Vector là một danh sách số có thứ tự.
Ví dụ Vector ba chiều:
[0.3, -0.8, 0.5]
Có thể tưởng tượng nó là một điểm trong không gian:
Trục X = 0.3
Trục Y = -0.8
Trục Z = 0.5
Embedding thực tế có nhiều chiều hơn nên con người không thể vẽ trực tiếp, nhưng máy tính vẫn có thể tính khoảng cách.
4.4 Số chiều Embedding
Số chiều là độ dài của Vector.
Ví dụ:
Vector 4 chiều:
[0.1, 0.2, 0.3, 0.4]
Embedding nhiều chiều có thể biểu diễn nhiều đặc trưng hơn, nhưng đồng thời:
Tốn dung lượng lưu trữ hơn.
Tốn RAM hơn.
Tìm kiếm chậm hơn.
Tăng chi phí tính toán.
Cần chỉ mục phù hợp.
Không nên cho rằng càng nhiều chiều thì luôn càng tốt.
4.5 Word Embedding
Word Embedding biểu diễn từng từ thành Vector.
Ví dụ:
"King" → Vector A
"Queen" → Vector B
"Man" → Vector C
"Woman" → Vector D
Các từ có ý nghĩa liên quan thường nằm gần nhau.
Hạn chế:
Từ bank trong hai câu:
I deposited money in the bank.
We sat on the river bank.
có hai nghĩa khác nhau, nhưng Word Embedding truyền thống có thể tạo cùng một Vector.
4.6 Contextual Embedding
Contextual Embedding tạo Vector dựa trên ngữ cảnh.
Ví dụ:
"bank" trong ngân hàng
khác với:
"bank" trong bờ sông
Đây là ưu điểm quan trọng của các mô hình Transformer.
4.7 Sentence Embedding
Sentence Embedding biến cả câu hoặc đoạn văn thành một Vector duy nhất.
Ví dụ:
"Database đang hết dung lượng."
và:
"Không gian lưu trữ của cơ sở dữ liệu sắp đầy."
Dù dùng từ khác nhau, hai Vector có thể nằm gần nhau.
Sentence Transformers cung cấp các mô hình để tạo Dense Embedding cho câu, đoạn văn và hình ảnh; những Embedding này hỗ trợ Semantic Search, Clustering và Retrieval. (Hugging Face)
4.8 Dense Embedding và Sparse Embedding
🔵 Dense Embedding
Vector có nhiều giá trị liên tục:
[0.12, -0.44, 0.87, ...]
Ưu điểm:
Hiểu ngữ nghĩa tốt.
Tìm từ đồng nghĩa.
Phù hợp RAG.
🟠 Sparse Embedding
Vector rất lớn nhưng phần lớn giá trị bằng 0.
Thường phản ánh:
Từ khóa.
Tần suất.
Độ quan trọng của từ.
Ưu điểm:
Tốt với từ khóa chính xác.
Phù hợp mã lỗi, số hiệu, tên thiết bị.
🟣 Hybrid Search
Kết hợp:
Keyword Search
+
Vector Search
=
Hybrid Search
Hybrid Search thường phù hợp với tài liệu kỹ thuật vì cần đồng thời:
Hiểu ý nghĩa.
Tìm chính xác mã lỗi.
Giữ tên sản phẩm.
Khớp số hiệu văn bản.
4.9 Cosine Similarity
Cosine Similarity đo góc giữa hai Vector.
Có thể hiểu đơn giản:
Hai Vector cùng hướng → Nội dung gần nhau.
Hai Vector khác hướng → Nội dung khác nhau.
Giá trị thường nằm trong khoảng:
Gần 1 → Rất giống
Gần 0 → Ít liên quan
Gần -1 → Ngược hướng
Ví dụ:
| Cặp câu | Similarity minh họa |
|---|---|
| Tablespace đầy / Hết không gian DB | 0,92 |
| Oracle RAC / Cụm Database Oracle | 0,87 |
| Database / Thời tiết Hà Nội | 0,08 |
Các số trên chỉ để minh họa, không phải kết quả cố định.
4.10 Euclidean Distance
Euclidean Distance đo khoảng cách đường thẳng giữa hai Vector.
Khoảng cách nhỏ → Gần nhau
Khoảng cách lớn → Xa nhau
Nên dùng chỉ số nào phụ thuộc:
Embedding Model.
Cách chuẩn hóa Vector.
Vector Database.
Bài toán thực tế.
4.11 Dot Product
Dot Product đo mức độ cùng hướng và độ lớn của Vector.
Một số Embedding Model được huấn luyện tối ưu cho Dot Product.
Nguyên tắc:
Hãy sử dụng đúng Distance Metric mà nhà cung cấp Embedding Model khuyến nghị.
4.12 Semantic Search
Tìm kiếm từ khóa:
Query: "Database hết dung lượng"
Có thể không tìm thấy tài liệu ghi:
"Tablespace đạt 100% sử dụng"
Semantic Search dùng Embedding để nhận ra hai nội dung có liên quan.
Câu hỏi
│
▼
Embedding
│
▼
Vector Search
│
▼
Tài liệu gần nghĩa
4.13 Chunking và Embedding
Tài liệu dài thường phải chia thành Chunk trước khi tạo Embedding.
Ví dụ:
Tài liệu 100 trang
│
▼
Chunk 1: Khái niệm
Chunk 2: Kiến trúc
Chunk 3: Cài đặt
Chunk 4: Xử lý lỗi
...
Nếu Chunk quá nhỏ:
Thiếu ngữ cảnh.
Nội dung bị chia vụn.
Khó trả lời câu hỏi tổng hợp.
Nếu Chunk quá lớn:
Tốn Token.
Vector chứa quá nhiều ý.
Kết quả tìm kiếm kém chính xác.
4.14 Chunk Overlap
Chunk Overlap là phần nội dung lặp lại giữa hai Chunk liên tiếp.
Chunk 1: Đoạn A + B + C
Chunk 2: C + D + E
Lợi ích:
Tránh mất ý ở ranh giới.
Giữ liên kết giữa các đoạn.
Hạn chế:
Tăng số Vector.
Tăng dung lượng.
Có thể trả về nội dung trùng.
4.15 Metadata
Mỗi Vector nên đi kèm Metadata.
Ví dụ:
{
"document": "Oracle RAC Runbook",
"chapter": "ASM",
"version": "19c",
"department": "DBA",
"security_level": "internal",
"updated_at": "2026-07-01"
}
Metadata giúp:
Lọc theo phiên bản.
Lọc theo phòng ban.
Kiểm soát quyền truy cập.
Tìm tài liệu mới nhất.
Trích dẫn nguồn.
Xóa hoặc cập nhật Vector.
4.16 Exact Search và Approximate Search
Exact Nearest Neighbor
So sánh với toàn bộ Vector.
Ưu điểm:
Chính xác cao.
Hạn chế:
Chậm khi dữ liệu rất lớn.
Approximate Nearest Neighbor
Dùng chỉ mục để tìm nhanh các Vector gần nhất.
Ưu điểm:
Tốc độ cao.
Phù hợp hàng triệu Vector.
Hạn chế:
Có thể bỏ sót một số kết quả tốt.
pgvector mặc định hỗ trợ tìm kiếm chính xác; khi dùng HNSW hoặc IVFFlat, hệ thống chuyển sang Approximate Nearest Neighbor để đánh đổi một phần Recall lấy tốc độ. (GitHub)
4.17 HNSW
HNSW xây dựng đồ thị nhiều tầng để tìm Vector gần nhất.
Ưu điểm:
Truy vấn nhanh.
Recall cao.
Thường phù hợp hệ thống đọc nhiều.
Hạn chế:
Chỉ mục lớn.
Tốn RAM.
Xây dựng Index có thể lâu.
Cập nhật nhiều cần theo dõi hiệu năng.
4.18 IVFFlat
IVFFlat chia Vector thành nhiều nhóm.
Khi tìm kiếm, hệ thống chỉ kiểm tra một số nhóm gần truy vấn.
Ưu điểm:
Index nhỏ hơn.
Xây dựng nhanh hơn HNSW trong nhiều trường hợp.
Hạn chế:
Cần chọn tham số phù hợp.
Chất lượng phụ thuộc dữ liệu và số nhóm.
Recall có thể thấp nếu cấu hình chưa tốt.
4.19 Reranking
Vector Search tìm nhanh danh sách ứng viên.
Reranker đọc kỹ từng cặp câu hỏi–tài liệu để sắp xếp lại.
Query
│
▼
Vector Search
│
▼
Top 20 tài liệu
│
▼
Reranker
│
▼
Top 5 chính xác hơn
Sentence Transformers hỗ trợ cả Embedding Model và Cross-Encoder Reranker. (Hugging Face)
4.20 Multilingual Embedding
Multilingual Embedding đặt nội dung nhiều ngôn ngữ vào cùng không gian Vector.
Ví dụ:
"Database bị lỗi"
có thể gần với:
"The database has failed"
Ứng dụng:
Tìm tài liệu tiếng Anh bằng câu hỏi tiếng Việt.
Hỗ trợ doanh nghiệp đa quốc gia.
Tìm kiếm tài liệu kỹ thuật quốc tế.
Dịch và đối chiếu nội dung.
4.21 Multimodal Embedding
Multimodal Embedding có thể biểu diễn:
Văn bản.
Hình ảnh.
Âm thanh.
Video.
trong cùng hoặc các không gian Vector tương thích.
Ứng dụng:
Tìm ảnh bằng câu mô tả.
Tìm video theo nội dung.
Tìm đoạn âm thanh tương tự.
Phân loại tài liệu đa phương tiện.
4.22 Embedding Model cần đồng nhất
Vector tài liệu và Vector truy vấn phải được tạo bằng cùng Embedding Model hoặc các mô hình tương thích.
Không nên:
Tài liệu → Model A
Câu hỏi → Model B
Vì hai Vector có thể không nằm trong cùng không gian ý nghĩa.
4.23 Khi thay Embedding Model
Nếu đổi Embedding Model, thường phải:
Đánh giá mô hình mới.
Tạo lại Embedding cho tài liệu.
Xây lại Index.
Kiểm tra Recall.
Chạy song song hai phiên bản.
Chuyển đổi có kế hoạch.
Giữ phương án Rollback.
4.24 Đánh giá Embedding
Không nên chỉ đánh giá bằng cảm giác.
Cần có bộ dữ liệu gồm:
Câu hỏi.
Tài liệu đúng.
Tài liệu gần đúng.
Tài liệu không liên quan.
Các chỉ số phổ biến:
| Chỉ số | Ý nghĩa |
|---|---|
| Recall@K | Tài liệu đúng có nằm trong Top K không |
| Precision@K | Bao nhiêu kết quả Top K là đúng |
| MRR | Tài liệu đúng đứng cao đến đâu |
| nDCG | Chất lượng thứ tự kết quả |
| Latency | Thời gian truy vấn |
| Cost | Chi phí tạo và tìm Embedding |
💼 5. ỨNG DỤNG THỰC TẾ VÀ CASE STUDY
5.1 📄 Office
Tìm email theo ý nghĩa.
Tìm biên bản họp liên quan.
Nhóm tài liệu cùng chủ đề.
Phát hiện tài liệu trùng.
Tìm chính sách bằng câu hỏi tự nhiên.
5.2 👨💻 Developer
Semantic Code Search.
Tìm hàm có chức năng tương tự.
Tìm Bug hoặc Issue liên quan.
Gợi ý đoạn Code.
Tìm tài liệu API.
Hỗ trợ Coding Agent hiểu Codebase.
Ví dụ
Query:
Hàm nào xử lý Retry khi Database mất kết nối?
Embedding Search có thể tìm được Code dù không chứa chính xác từ Retry.
5.3 🗄️ DBA
Tìm Incident tương tự.
Tìm Runbook phù hợp.
Tìm lỗi ORA liên quan.
Hỏi đáp tài liệu Oracle.
Nhóm Alert Log.
Tìm AWR có mẫu tải tương tự.
Ví dụ
Người dùng hỏi:
Database chậm vì chờ I/O cao phải kiểm tra gì?
Hệ thống có thể tìm các tài liệu chứa:
db file sequential read.Disk Latency.
IOPS.
Storage Bottleneck.
Top SQL by Physical Reads.
5.4 🐧 System Administrator
Tìm Log tương tự.
Nhóm lỗi Linux.
Tìm tài liệu xử lý OOM.
Tìm cấu hình liên quan.
Phát hiện cảnh báo gần giống nhau.
5.5 ☁️ DevOps và Cloud
Tìm Kubernetes Event tương tự.
Tìm Manifest liên quan.
Tra cứu Runbook.
Nhóm Incident.
Tìm Terraform Module phù hợp.
Hỗ trợ Root Cause Analysis.
5.6 📡 Viễn thông
Nhóm Alarm cùng nguyên nhân.
Tìm Incident BTS tương tự.
Tìm SOP bảo trì.
Tìm tài liệu thiết bị.
Phân loại phản ánh khách hàng.
Tìm Ticket gần nghĩa.
5.7 🏦 Ngân hàng
Tìm hợp đồng tương tự.
Phân loại hồ sơ.
Phát hiện giao dịch gần mẫu gian lận.
Tìm quy định liên quan.
Gợi ý sản phẩm phù hợp.
Tìm phản ánh khách hàng tương tự.
5.8 🏢 Doanh nghiệp
Enterprise Search.
Knowledge Management.
Recommendation.
RAG Chatbot.
Phân loại tài liệu.
Phát hiện nội dung trùng.
Phân nhóm khách hàng.
5.9 📖 Case Study: Trợ lý tìm kiếm Runbook DBA
Bài toán
Đội DBA có:
Hàng nghìn Runbook.
Incident Report.
Oracle Note.
Alert Log.
Script.
Tài liệu Word và PDF.
Nhân viên mất nhiều thời gian tìm đúng hướng dẫn.
Kiến trúc
📚 Runbook / Incident / Script
│
▼
🧹 Làm sạch
│
▼
✂️ Chia Chunk
│
▼
🧠 Embedding Model
│
▼
🗄️ Vector Database
│
│
💬 Câu hỏi DBA
│
▼
🔎 Hybrid Search
│
▼
🎯 Reranker
│
▼
📄 Top tài liệu đúng
│
▼
🧠 LLM
│
▼
📝 Trả lời kèm nguồn
Metadata cần lưu
Loại Database.
Phiên bản.
Hệ thống.
Mã lỗi.
Ngày cập nhật.
Người phê duyệt.
Mức độ bảo mật.
Trạng thái tài liệu.
Ví dụ truy vấn
ORA-00600 ktcrcm trên Materialized View phải kiểm tra thế nào?
Hệ thống có thể ưu tiên:
Incident có cùng mã lỗi.
Runbook Materialized View.
Tài liệu về Undo/Consistency.
Script kiểm tra Alert Log.
Tài liệu Oracle tương ứng.
KPI đánh giá
Recall@5.
Tỷ lệ câu trả lời có nguồn.
Thời gian tìm Runbook.
Tỷ lệ kỹ sư chấp nhận kết quả.
Số Ticket được xử lý nhanh hơn.
Chi phí mỗi truy vấn.
Tỷ lệ tài liệu lỗi thời được phát hiện.
⚠️ 6. LƯU Ý VÀ KINH NGHIỆM
6.1 Những hiểu lầm thường gặp
❌ Embedding là Database.
❌ Vector gần nhau luôn có cùng ý nghĩa.
❌ Mô hình nhiều chiều hơn luôn tốt hơn.
❌ Chỉ cần Vector Search, không cần từ khóa.
❌ Một Embedding Model phù hợp mọi ngôn ngữ.
❌ Đổi Model không cần tạo lại Embedding.
❌ Similarity Score cao luôn đồng nghĩa câu trả lời đúng.
6.2 Embedding không phải LLM
Embedding Model:
Biến dữ liệu thành Vector.
Phục vụ tìm kiếm và so sánh.
Không tạo báo cáo dài.
LLM:
Hiểu Context.
Suy luận.
Sinh văn bản.
Trong RAG, hai thành phần phối hợp:
Embedding tìm tài liệu
+
LLM tạo câu trả lời
6.3 Không chỉ dùng Vector Search
Tài liệu kỹ thuật thường chứa:
ORA-00600.
DB01.
IP.
Phiên bản.
Số hợp đồng.
Mã thiết bị.
Những giá trị này phù hợp với Keyword Search.
Giải pháp tốt thường là:
Hybrid Search + Metadata Filter + Reranker
6.4 Chất lượng dữ liệu quyết định chất lượng Embedding
Nếu tài liệu:
Lỗi thời.
Trùng lặp.
Sai nội dung.
Không có cấu trúc.
Thiếu Metadata.
Bị OCR sai.
thì Vector Search cũng cho kết quả kém.
6.5 Chunking rất quan trọng
Chunking không phù hợp có thể phá vỡ:
Tiêu đề và nội dung.
Câu lệnh và giải thích.
Bảng và chú thích.
Điều kiện và kết luận.
Các bước trong Runbook.
Nên Chunk theo cấu trúc tự nhiên:
Chương.
Tiêu đề.
Đoạn.
Bảng.
Hàm.
Section.
Procedure.
6.6 Best Practice
Dùng cùng Model cho tài liệu và truy vấn.
Lưu phiên bản Embedding Model.
Lưu Metadata đầy đủ.
Đánh giá bằng bộ câu hỏi thực tế.
Dùng Hybrid Search cho tài liệu kỹ thuật.
Thêm Reranker khi cần độ chính xác cao.
Theo dõi Recall và Latency.
Có quy trình cập nhật và xóa Vector.
Kiểm soát quyền truy cập theo Metadata.
Không đưa dữ liệu mật vào dịch vụ chưa được phê duyệt.
6.7 Bảo mật
Vector không nên được coi là dữ liệu hoàn toàn vô hại.
Embedding có thể chứa dấu vết thông tin của dữ liệu nguồn.
Cần:
Mã hóa dữ liệu.
Phân quyền.
Tách Collection theo nghiệp vụ.
Lọc Metadata theo người dùng.
Audit Log.
Chính sách lưu trữ.
Xóa Vector khi tài liệu gốc bị xóa.
Không dùng Vector Database để vượt quyền tài liệu.
6.8 Không dùng Similarity Threshold cố định một cách mù quáng
Ngưỡng phù hợp phụ thuộc:
Embedding Model.
Distance Metric.
Loại dữ liệu.
Ngôn ngữ.
Chunk Size.
Bài toán.
Cần hiệu chỉnh ngưỡng bằng dữ liệu Test thực tế.
📌 7. TÓM TẮT KIẾN THỨC
7.1 📖 Thuật ngữ cần nhớ
| Thuật ngữ | Ý nghĩa |
|---|---|
| Embedding | Biểu diễn dữ liệu thành Vector |
| Vector | Danh sách số có thứ tự |
| Dimension | Số chiều của Vector |
| Dense Embedding | Vector dày biểu diễn ngữ nghĩa |
| Sparse Embedding | Vector thưa, mạnh về từ khóa |
| Similarity | Mức độ tương đồng |
| Cosine Similarity | Đo góc giữa hai Vector |
| Euclidean Distance | Khoảng cách đường thẳng |
| Dot Product | Phép đo quan hệ giữa Vector |
| Semantic Search | Tìm kiếm theo ý nghĩa |
| Chunk | Đoạn tài liệu nhỏ |
| Metadata | Thông tin mô tả Vector |
| ANN | Approximate Nearest Neighbor |
| HNSW | Chỉ mục đồ thị Vector |
| IVFFlat | Chỉ mục chia nhóm Vector |
| Reranker | Mô hình sắp xếp lại kết quả |
7.2 📌 Tổng kết
Embedding biến dữ liệu thành Vector số.
Nội dung gần nghĩa thường có Vector gần nhau.
Cosine Similarity là cách đo tương đồng phổ biến.
Sentence Embedding phù hợp Semantic Search và RAG.
Vector Database lưu và tìm Vector hiệu quả.
Chunking và Metadata ảnh hưởng mạnh đến chất lượng.
Hybrid Search phù hợp tài liệu kỹ thuật.
Reranking giúp cải thiện thứ tự kết quả.
Embedding Model phải được đánh giá bằng dữ liệu thực tế.
Embedding không thay thế bảo mật và phân quyền.
7.3 🧠 Mindmap
💾 EMBEDDING
│
┌──────────────────────┼──────────────────────┐
▼ ▼ ▼
📄 Dữ liệu 🧠 Model 🔢 Vector
│ │ │
└──────────────────────┼──────────────────────┘
▼
📏 Similarity
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
🔎 Search 🧩 Clustering 📚 RAG
│
▼
🗄️ Vector Database
7.4 🎨 Infographic
📄 TÀI LIỆU
│
▼
✂️ CHIA CHUNK
│
▼
🧠 EMBEDDING MODEL
│
▼
🔢 VECTOR
│
▼
🗄️ VECTOR DATABASE
│
▼
🔎 TÌM VECTOR GẦN NHẤT
│
▼
📚 TÀI LIỆU LIÊN QUAN
│
▼
🧠 LLM TẠO CÂU TRẢ LỜI
7.5 ⭐ Cheat Sheet
Định nghĩa
Embedding là cách chuyển dữ liệu thành Vector để máy tính có thể so sánh ý nghĩa.
Công thức ghi nhớ
Dữ liệu → Embedding Model → Vector
→ Similarity Search → Kết quả liên quan
Ba ứng dụng chính
Semantic Search.
Recommendation.
RAG.
Ba thành phần quan trọng
Embedding Model.
Vector Database.
Distance Metric.
Ba lỗi cần tránh
Dùng hai Model không tương thích.
Chunk tài liệu không hợp lý.
Chỉ dùng Vector Search cho mã kỹ thuật chính xác.
🧪 8. BÀI TẬP THỰC HÀNH
🥉 Bài 1 – Cơ bản
Cho năm câu sau:
Database sắp hết dung lượng.
Tablespace đạt 95%.
Máy chủ đang dùng CPU cao.
Không gian lưu trữ Oracle gần đầy.
Hôm nay trời mưa.
Hãy dự đoán những câu nào có Vector gần nhau.
🥈 Bài 2 – Trung bình
Dùng một Embedding Model để:
Tạo Vector cho 20 câu.
Tính Cosine Similarity.
Tìm ba câu gần nhất với câu hỏi.
So sánh với tìm kiếm từ khóa.
🥇 Bài 3 – Nâng cao
Tạo Semantic Search cho 100 Runbook:
Chia Chunk.
Tạo Embedding.
Lưu pgvector hoặc Qdrant.
Tìm Top 5 tài liệu.
Hiển thị Similarity Score.
Lọc theo phiên bản Oracle.
🚀 Mini Project
Xây dựng:
Hệ thống tìm kiếm Incident tương tự cho DBA
Dữ liệu
Incident Report.
Alert Log.
Mã lỗi.
Nguyên nhân.
Biện pháp xử lý.
Bài học kinh nghiệm.
Sản phẩm đầu ra
Data Pipeline.
Embedding Model.
Vector Database.
Hybrid Search.
Reranker.
API tìm kiếm.
Giao diện Web.
Bộ 50 câu hỏi đánh giá.
Dashboard Recall và Latency.
Tài liệu bảo mật.
❓ 9. CÂU HỎI ÔN TẬP VÀ ĐÁP ÁN
Câu 1. Embedding là gì?
Đáp án: Embedding là quá trình biểu diễn dữ liệu thành Vector số để máy tính có thể so sánh và tìm kiếm.
Câu 2. Vì sao Vector gần nhau thường có ý nghĩa gần nhau?
Đáp án: Vì Embedding Model được huấn luyện để đặt những nội dung có quan hệ ngữ nghĩa vào các vị trí gần nhau trong không gian Vector.
Câu 3. Sentence Embedding dùng để làm gì?
Đáp án: Biểu diễn cả câu hoặc đoạn văn thành một Vector, phục vụ Semantic Search, Clustering và RAG.
Câu 4. Cosine Similarity đo điều gì?
Đáp án: Đo mức độ cùng hướng giữa hai Vector, từ đó ước lượng mức độ tương đồng.
Câu 5. Vector Database dùng để làm gì?
Đáp án: Lưu trữ, lập chỉ mục và tìm kiếm nhanh các Vector gần với Vector truy vấn.
Câu 6. HNSW khác IVFFlat thế nào?
Đáp án: HNSW dùng đồ thị nhiều tầng, thường có Recall cao nhưng tốn RAM hơn; IVFFlat chia Vector thành các nhóm và tìm trong một số nhóm gần nhất.
Câu 7. Vì sao cần Metadata?
Đáp án: Để lọc kết quả, phân quyền, quản lý phiên bản, trích nguồn và cập nhật tài liệu.
Câu 8. Vì sao nên dùng Hybrid Search?
Đáp án: Vì Vector Search mạnh về ngữ nghĩa, còn Keyword Search mạnh với mã lỗi, tên riêng và từ khóa chính xác.
Câu 9. Khi đổi Embedding Model cần làm gì?
Đáp án: Tạo lại Embedding, xây lại Index, kiểm thử chất lượng và chuẩn bị phương án chuyển đổi hoặc Rollback.
Câu 10. Reranker dùng để làm gì?
Đáp án: Đọc kỹ các kết quả truy xuất ban đầu và sắp xếp lại để đưa tài liệu liên quan nhất lên đầu.
📚 10. TÀI LIỆU THAM KHẢO
10.1 🌐 Tài liệu chính thức
OpenAI Embeddings Guide:
https://platform.openai.com/docs/guides/embeddingsSentence Transformers:
https://www.sbert.net/Sentence Transformers trên Hugging Face:
https://huggingface.co/sentence-transformers
Framework hỗ trợ Embedding và Reranker cho văn bản, hình ảnh, âm thanh và video. (Hugging Face)Hugging Face – Using Sentence Transformers:
https://huggingface.co/docs/hub/en/sentence-transformers
Giải thích cách tạo Dense Vector cho câu, đoạn văn và hình ảnh, dùng trong Semantic Search và Retrieval. (Hugging Face)Qdrant Documentation:
https://qdrant.tech/documentation/
Tài liệu Vector Search và Semantic Search của Qdrant. (Qdrant)Qdrant Search Documentation:
https://qdrant.tech/documentation/search/
Hướng dẫn tìm kiếm Vector bằng các Distance Metric và HNSW. (Qdrant)
10.2 💻 Vector Database và mã nguồn mở
pgvector – GitHub:
https://github.com/pgvector/pgvector
PostgreSQL Extension hỗ trợ Exact Search, HNSW và IVFFlat. (GitHub)Qdrant – GitHub:
https://github.com/qdrant/qdrantMilvus:
https://milvus.io/Milvus – GitHub:
https://github.com/milvus-io/milvusWeaviate:
https://weaviate.io/FAISS – GitHub:
https://github.com/facebookresearch/faissElasticsearch Vector Search:
https://www.elastic.co/guide/en/elasticsearch/reference/current/dense-vector.html
10.3 📄 Bài báo khoa học
Efficient Estimation of Word Representations in Vector Space – Word2Vec:
https://arxiv.org/abs/1301.3781GloVe: Global Vectors for Word Representation:
https://aclanthology.org/D14-1162/Sentence-BERT:
https://arxiv.org/abs/1908.10084Sentence-T5:
https://arxiv.org/abs/2108.08877
Nghiên cứu tạo Sentence Embedding từ mô hình T5 và đánh giá trên các tác vụ Semantic Similarity. (arXiv)Dense Passage Retrieval for Open-Domain Question Answering:
https://arxiv.org/abs/2004.04906Retrieval-Augmented Generation:
https://arxiv.org/abs/2005.11401
10.4 📘 Sách nên đọc
Hands-On Large Language Models – Jay Alammar và Maarten Grootendorst.
Natural Language Processing with Transformers – Lewis Tunstall, Leandro von Werra và Thomas Wolf.
Designing Machine Learning Systems – Chip Huyen.
Introduction to Information Retrieval – Christopher Manning, Prabhakar Raghavan và Hinrich Schütze.
Speech and Language Processing – Daniel Jurafsky và James H. Martin.
10.5 🎥 Chủ đề video nên tìm học
Embeddings Explained for Beginners.
Word Embedding vs Sentence Embedding.
Cosine Similarity.
Semantic Search.
Vector Database Explained.
HNSW vs IVFFlat.
Hybrid Search.
Reranking for RAG.
Multilingual Embeddings.
Embedding Evaluation.
10.6 🛠️ Công cụ thực hành
Python.
Sentence Transformers.
Hugging Face.
pgvector.
Qdrant.
Milvus.
FAISS.
PostgreSQL.
Jupyter Notebook.
LangChain hoặc LlamaIndex.
Một bộ tài liệu nội bộ đã loại bỏ dữ liệu nhạy cảm.
10.7 ⭐ Lộ trình học tiếp
Token
│
▼
Embedding
│
▼
Vector
│
▼
Similarity
│
▼
Vector Database
│
▼
Semantic Search
│
▼
Reranking
│
▼
RAG
│
▼
AI Agent
🚀 11. MODULE TIẾP THEO
🔍 MODULE M30 – VECTOR DATABASE
Trong Module M30, bạn sẽ học:
Vector Database là gì.
Vector Database khác Database truyền thống thế nào.
Collection, Vector, Payload và Metadata.
Exact Search và Approximate Search.
HNSW và IVFFlat.
Cosine, Euclidean và Dot Product.
pgvector, Qdrant, Milvus, Weaviate và FAISS.
Thiết kế Vector Database cho RAG.
Phân vùng, Index, Backup, HA và bảo mật.
Giám sát hiệu năng Vector Search.
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty