Thứ Bảy, 1 tháng 8, 2026

M33 🔍 ENTERPRISE RETRIEVAL ENGINE

📚 AI Encyclopedia A–Z by VietDBA Academy

PHẦN V – ENTERPRISE AI

MODULE M33

🔍 ENTERPRISE RETRIEVAL ENGINE

Bộ máy tìm kiếm tri thức cho RAG và AI Agent

“LLM chỉ có thể trả lời tốt khi Retrieval Engine đưa cho nó đúng tài liệu, đúng phiên bản và đúng phạm vi quyền truy cập.”


🎯 M33.1 MỤC TIÊU

Sau module này, người học có thể:

✅ Hiểu Retrieval Engine là gì.

✅ Phân biệt Keyword Search, Sparse Retrieval và Dense Retrieval.

✅ Hiểu BM25 hoạt động ở mức trực quan.

✅ Thiết kế Hybrid Search.

✅ Hiểu Query Classification và Query Rewriting.

✅ Áp dụng Metadata Filtering và Security Filtering.

✅ Hiểu Multi-query, Parent–Child và Contextual Retrieval.

✅ Đánh giá Retrieval bằng Recall@k, Precision@k, MRR và NDCG.

✅ Thiết kế Retrieval Engine cho Oracle DBA AI và hệ thống viễn thông.


📚 MỤC LỤC

🎬 M33.1 Câu chuyện mở đầu

🔍 M33.2 Retrieval Engine là gì?

🧠 M33.3 Retrieval khác Search thông thường thế nào?

⌨️ M33.4 Keyword Search

📚 M33.5 Sparse Retrieval và BM25

🔢 M33.6 Dense Retrieval

⚡ M33.7 Hybrid Search

🧭 M33.8 Query Understanding

🧩 M33.9 Query Classification

✍️ M33.10 Query Rewriting

🔁 M33.11 Multi-query Retrieval

🏷️ M33.12 Metadata Filtering

🔐 M33.13 Security-aware Retrieval

🌳 M33.14 Parent–Child Retrieval

🧠 M33.15 Contextual Retrieval

🎯 M33.16 Re-ranking

📦 M33.17 Context Builder

💻 M33.18 Oracle DBA Case Study

📡 M33.19 Telecom Case Study

☸️ M33.20 Kubernetes/OpenShift Architecture

📊 M33.21 Retrieval Evaluation

📈 M33.22 Performance và SLA

💰 M33.23 Cost

⚖️ M33.24 Trade-off

⚠️ M33.25 Sai lầm phổ biến

💡 M33.26 Góc AI Architect

🧪 M33.27 Hands-on Project

👑 M33.28 CTO Perspective

🧠 M33.29 Mindmap

📋 M33.30 Checklist

🎨 M33.31 Infographic

🎬 M33.1 CÂU CHUYỆN MỞ ĐẦU

Giả sử doanh nghiệp có:

  • 100 triệu chunk.

  • 20 triệu ticket.

  • 10 năm RCA.

  • Hàng triệu runbook.

  • Nhiều phiên bản Oracle, Kubernetes và OpenShift.

Người dùng hỏi:

“Oracle RAC node 2 bị CPU 100%, nguyên nhân thường là gì?”

Nếu hệ thống chỉ tìm theo từ khóa:

Oracle

RAC

CPU

Nó có thể trả về:

  • Tài liệu hướng dẫn cài Oracle RAC.

  • Báo cáo CPU của một hệ thống khác.

  • Ticket cũ đã hết hiệu lực.

  • RCA không cùng phiên bản.

  • Runbook của môi trường Test.

Kết quả:

Tài liệu có vẻ liên quan.

Nhưng không đúng tình huống.

LLM đọc sai ngữ cảnh.

Sinh khuyến nghị sai.

Vì vậy, hệ thống cần nhiều hơn một ô tìm kiếm.

Nó cần:

🔍 Enterprise Retrieval Engine


🔍 M33.2 RETRIEVAL ENGINE LÀ GÌ?

Retrieval Engine là lớp chịu trách nhiệm:

Nhận câu hỏi

↓

Hiểu ý định

↓

Chuẩn hóa truy vấn

↓

Tìm tài liệu ứng viên

↓

Lọc theo Metadata và quyền truy cập

↓

Xếp hạng lại

↓

Chọn Context tốt nhất

↓

Đưa cho LLM

Retrieval Engine không phải LLM.

Nó không có nhiệm vụ viết câu trả lời cuối cùng.

Nhiệm vụ chính là:

Tìm đúng tri thức để LLM sử dụng.


🧠 M33.3 RETRIEVAL KHÁC SEARCH THÔNG THƯỜNG THẾ NÀO?

Search thông thường

Người dùng nhập:

ORA-00600

Hệ thống tìm tài liệu có chính xác chuỗi:

ORA-00600

Phù hợp với:

  • Mã lỗi.

  • SQL_ID.

  • Tên host.

  • IP.

  • Mã ticket.

  • Số văn bản.

  • Phiên bản phần mềm.


Semantic Retrieval

Người dùng hỏi:

“Database phát sinh lỗi nội bộ của Oracle kernel.”

Tài liệu có thể chỉ ghi:

ORA-00600: internal error code

Dù câu hỏi không chứa chính xác mã lỗi, Dense Retrieval vẫn có thể nhận ra ý nghĩa tương đồng.


Enterprise Retrieval

Kết hợp:

Keyword

+

Semantic Meaning

+

Metadata

+

Security

+

Version

+

Time

+

Business Context

Đây mới là Retrieval phù hợp cho doanh nghiệp.


⌨️ M33.4 KEYWORD SEARCH

Keyword Search tìm theo từ hoặc cụm từ xuất hiện trong tài liệu.

Ví dụ:

ORA-01555

SQL_ID 7p26p58yut2v5

BILLINGDB

CRS-1612

OpenShift 4.18

Ưu điểm

✅ Tốt với mã lỗi và tên riêng.

✅ Kết quả dễ giải thích.

✅ Tốc độ cao khi có inverted index.

✅ Phù hợp với log kỹ thuật.

Nhược điểm

❌ Không hiểu đồng nghĩa.

❌ Không hiểu cách diễn đạt khác nhau.

❌ Có thể bỏ sót tài liệu đúng nhưng không chứa từ khóa.


📚 M33.5 SPARSE RETRIEVAL VÀ BM25

Sparse Retrieval biểu diễn tài liệu bằng tập từ khóa có trọng số.

Một thuật toán rất phổ biến là:

BM25

BM25 ưu tiên tài liệu khi:

  • Từ khóa xuất hiện trong tài liệu.

  • Từ khóa hiếm trong toàn bộ kho dữ liệu.

  • Tần suất xuất hiện hợp lý.

  • Độ dài tài liệu được điều chỉnh.


Ví dụ dễ hiểu

Có ba tài liệu:

Tài liệu A:
Oracle RAC CPU high troubleshooting

Tài liệu B:
Oracle installation guide

Tài liệu C:
Linux CPU troubleshooting

Truy vấn:

Oracle RAC CPU

BM25 sẽ đánh giá:

  • A chứa đầy đủ từ khóa quan trọng.

  • B thiếu “RAC CPU”.

  • C thiếu “Oracle RAC”.

Kết quả:

A > B > C

BM25 phù hợp khi nào?

  • Mã lỗi Oracle.

  • Log.

  • Ticket ID.

  • Tên sản phẩm.

  • Phiên bản.

  • Thông số cấu hình.

  • Văn bản pháp luật.

  • Câu lệnh kỹ thuật.


🔢 M33.6 DENSE RETRIEVAL

Dense Retrieval sử dụng Embedding.

Question

↓

Embedding Model

↓

Query Vector

↓

Vector Database

↓

Nearest Neighbors

Ví dụ:

Câu hỏi:

“RAC mất kết nối giữa hai node.”

Tài liệu:

“Cluster interconnect communication failure.”

Hai câu không giống từ khóa.

Nhưng ý nghĩa gần nhau.

Dense Retrieval có thể tìm thấy tài liệu này.


Ưu điểm

✅ Hiểu ngữ nghĩa.

✅ Tìm được câu diễn đạt khác nhau.

✅ Hỗ trợ tìm kiếm đa ngôn ngữ.

✅ Phù hợp với câu hỏi tự nhiên.

Nhược điểm

❌ Có thể không chính xác với mã lỗi.

❌ Phụ thuộc chất lượng Embedding Model.

❌ Khó giải thích hơn Keyword Search.

❌ Có thể trả kết quả “gần nghĩa” nhưng sai chi tiết kỹ thuật.


⚡ M33.7 HYBRID SEARCH

Hybrid Search kết hợp:

Sparse Retrieval

+

Dense Retrieval

Ví dụ câu hỏi:

“ORA-00600 ktcrcm caller passed invalid xcb trong refresh materialized view.”

Sparse Search tìm tốt:

ORA-00600

ktcrcm

invalid xcb

Dense Search hiểu tốt:

refresh materialized view

internal transaction error

snapshot refresh failure

Kết hợp hai loại kết quả:

Tăng khả năng tìm đúng RCA và runbook.


Kiến trúc Hybrid Search

                   User Query
                        │
             ┌──────────┴──────────┐
             │                     │
             ▼                     ▼
       BM25 Search          Vector Search
             │                     │
             └──────────┬──────────┘
                        ▼
                 Result Fusion
                        │
                        ▼
                   Re-ranking

🧭 M33.8 QUERY UNDERSTANDING

Trước khi tìm kiếm, hệ thống phải hiểu câu hỏi.

Ví dụ:

“Node 2 từ 17h CPU cao rồi bị restart, kiểm tra giúp nguyên nhân.”

Hệ thống cần tách:

Entity:
Node 2

Time:
17:00

Symptom:
CPU high

Event:
Restart

Intent:
Root cause analysis

Query Understanding có thể gồm:

  • Entity Extraction.

  • Intent Detection.

  • Time Extraction.

  • Product Detection.

  • Environment Detection.

  • Error Code Detection.

  • Language Detection.


🧩 M33.9 QUERY CLASSIFICATION

Không phải truy vấn nào cũng tìm theo cùng một cách.

Nhóm 1: Exact Technical Lookup

Ví dụ:

ORA-00600 [ktcrcm]

Ưu tiên:

  • BM25.

  • Exact match.

  • Error code index.


Nhóm 2: Troubleshooting

Ví dụ:

“Oracle RAC thường xuyên bị node eviction.”

Ưu tiên:

  • RCA.

  • Alert log.

  • Clusterware log.

  • Runbook.

  • Semantic Retrieval.


Nhóm 3: Procedural Question

Ví dụ:

“Các bước resize redo log từ 200 MB lên 1 GB.”

Ưu tiên:

  • Runbook.

  • SOP.

  • Version-specific documentation.


Nhóm 4: Analytical Question

Ví dụ:

“So sánh HNSW và IVF cho 100 triệu vector.”

Ưu tiên:

  • Nhiều tài liệu.

  • Context lớn hơn.

  • Re-ranking mạnh hơn.


Nhóm 5: Current Operational State

Ví dụ:

“Database BILLINGDB hiện có apply lag bao nhiêu?”

Câu này không nên chỉ Retrieval tài liệu.

Nó cần:

Tool/API/Database Query

Đây là bước chuyển từ RAG sang AI Agent.


✍️ M33.10 QUERY REWRITING

Người dùng thường hỏi ngắn hoặc thiếu thông tin.

Ví dụ:

DB chậm

Query Rewriting có thể chuyển thành:

Oracle database performance degradation,
high CPU, wait events, top SQL,
I/O latency, blocking session

Các kiểu Query Rewriting

1. Chuẩn hóa thuật ngữ

DG

↓

Oracle Data Guard

2. Mở rộng từ đồng nghĩa

DB treo

↓

database hang
session blocking
system unresponsive

3. Bổ sung ngữ cảnh

RAC lỗi

↓

Oracle RAC cluster failure
node eviction
interconnect issue
CRS error

4. Dịch ngôn ngữ

Lỗi đồng bộ standby

↓

standby apply lag
redo transport issue
Data Guard synchronization failure

🔁 M33.11 MULTI-QUERY RETRIEVAL

Một câu hỏi phức tạp có thể được tạo thành nhiều truy vấn.

Câu hỏi:

“Nguyên nhân node RAC bị reboot sau khi CPU cao và interconnect mất kết nối là gì?”

Hệ thống sinh:

Query 1:
Oracle RAC high CPU node reboot

Query 2:
RAC interconnect communication failure

Query 3:
Oracle Clusterware node eviction

Query 4:
CRS-1612 network communication lost

Sau đó hợp nhất kết quả.

Ưu điểm

✅ Tăng Recall.

✅ Tìm được nhiều góc nhìn.

Nhược điểm

❌ Tăng số truy vấn.

❌ Tăng độ trễ.

❌ Có thể đưa thêm tài liệu nhiễu.


🏷️ M33.12 METADATA FILTERING

Metadata Filtering giới hạn không gian tìm kiếm.

Ví dụ:

{
  "system": "Billing",
  "database_version": "19c",
  "environment": "Production",
  "document_type": "RCA",
  "region": "Hanoi"
}

Câu hỏi:

“Tìm RCA Oracle 19c của hệ thống Billing tại Production.”

Nếu không lọc Metadata:

  • Có thể lấy Oracle 11g.

  • Có thể lấy môi trường Test.

  • Có thể lấy hệ thống CRM.

  • Có thể lấy tài liệu hết hiệu lực.


Metadata quan trọng

  • System.

  • Application.

  • Technology.

  • Product Version.

  • Environment.

  • Region.

  • Department.

  • Owner.

  • Valid From.

  • Valid To.

  • Security Level.

  • Document Status.


🔐 M33.13 SECURITY-AWARE RETRIEVAL

Đây là yêu cầu bắt buộc trong Enterprise AI.

Không được thực hiện:

Retrieve first

↓

Check permission later

Nên thực hiện:

User Identity

↓

Role/Attribute

↓

Allowed Data Scope

↓

Filtered Retrieval

Ví dụ

Người dùng thuộc nhóm:

DBA miền Bắc

Chỉ được tìm:

  • Tài liệu hệ thống được giao.

  • Dữ liệu cấp Internal.

  • Không được truy cập dữ liệu khách hàng.

  • Không được xem Secret hoặc Credential.


Các mô hình phân quyền

RBAC

Theo vai trò:

DBA

System Admin

Network Engineer

Manager

ABAC

Theo thuộc tính:

Department

Region

Project

Security Level

Environment

Document-level ACL

Mỗi tài liệu có danh sách nhóm được phép truy cập.

Chunk-level ACL

Áp dụng khi một tài liệu có các phần thuộc mức bảo mật khác nhau.


🌳 M33.14 PARENT–CHILD RETRIEVAL

Chunk nhỏ giúp tìm chính xác.

Nhưng đôi khi không đủ ngữ cảnh.

Giải pháp:

Child Chunk

↓

Dùng để Search

↓

Parent Section

↓

Dùng làm Context

Ví dụ:

Child Chunk

Bước 4: Add standby redo log.

Parent Section

Toàn bộ quy trình cấu hình Data Guard standby redo log.

Hệ thống tìm Child Chunk chính xác, nhưng gửi Parent Section cho LLM.


🧠 M33.15 CONTEXTUAL RETRIEVAL

Một chunk đơn lẻ có thể mất thông tin về tài liệu gốc.

Ví dụ chunk:

Thực hiện lệnh ALTER DATABASE RECOVER MANAGED STANDBY DATABASE.

Không rõ:

  • Áp dụng cho phiên bản nào?

  • Primary hay Standby?

  • RAC hay Single Instance?

  • Có dùng Real-Time Apply không?

Contextual Retrieval bổ sung mô tả:

Đây là bước trong runbook khởi động lại Managed Recovery
trên Oracle Data Guard 19c Physical Standby.

Nhờ đó Embedding và Retrieval chính xác hơn.


🎯 M33.16 RE-RANKING

Retrieval ban đầu có thể lấy:

Top 100 kết quả

Re-ranker đánh giá lại từng cặp:

Query + Document

Sau đó chọn:

Top 5 hoặc Top 10

Pipeline

Retrieve 100 candidates

↓

Metadata Filter

↓

Re-rank 100 candidates

↓

Select Top 10

↓

Context Builder

Lợi ích

✅ Tăng Precision.

✅ Loại bỏ tài liệu gần nghĩa nhưng không đúng.

✅ Hữu ích với câu hỏi kỹ thuật phức tạp.

Nhược điểm

❌ Tăng latency.

❌ Tốn CPU/GPU.

❌ Cần theo dõi throughput.


📦 M33.17 CONTEXT BUILDER

Không nên đưa thẳng các chunk Retrieval vào LLM.

Context Builder cần:

  • Loại bỏ chunk trùng.

  • Sắp xếp theo tài liệu và thời gian.

  • Giữ cấu trúc Parent–Child.

  • Giới hạn token.

  • Ưu tiên tài liệu mới và đang hiệu lực.

  • Đính kèm nguồn.

  • Đảm bảo quyền truy cập.

  • Không cắt giữa bảng hoặc code block.


Ví dụ Context Package

Context 1
Source: RCA-RAC-2026-001
Page: 5
Version: 2.0
Relevance: 0.94

Context 2
Source: Oracle RAC Runbook
Section: Node Eviction
Version: 19c
Relevance: 0.91

💻 M33.18 CASE STUDY: ORACLE DBA RETRIEVAL

Câu hỏi

“ORA-00600 [ktcrcm: caller passed invalid xcb] khi refresh Materialized View qua DB Link.”

Bước 1: Query Classification

Intent:
Troubleshooting

Technology:
Oracle Database

Object:
Materialized View

Error:
ORA-00600

Component:
DBMS_SNAPSHOT_UTL

Related:
DB Link

Bước 2: Sparse Retrieval

Tìm chính xác:

ORA-00600

ktcrcm

invalid xcb

DBMS_SNAPSHOT_UTL

Bước 3: Dense Retrieval

Tìm theo ngữ nghĩa:

materialized view refresh internal transaction error

snapshot refresh failure over database link

Bước 4: Metadata Filter

Oracle version:
11g/12c/19c

Document type:
RCA, runbook, technical note

Environment:
Production

Bước 5: Re-ranking

Ưu tiên:

  1. RCA cùng lỗi.

  2. Ticket cùng hệ thống.

  3. Runbook đã nghiệm thu.

  4. Tài liệu kỹ thuật liên quan.

Bước 6: Context Builder

LLM nhận:

  • Mã lỗi.

  • Thời điểm.

  • Phiên bản Oracle.

  • Stack trace.

  • Các sự cố tương tự.

  • Thủ tục xử lý.

  • Biện pháp phòng ngừa.


📡 M33.19 CASE STUDY: TELECOM INCIDENT RETRIEVAL

Câu hỏi

“Các trạm cùng vendor bị mất kết nối sau khi nâng cấp phần mềm.”

Query Understanding:

Incident:
Connectivity loss

Trigger:
Software upgrade

Scope:
Multiple sites

Entity:
Vendor

Time:
Post-upgrade

Retrieval sources:

  • Alarm.

  • Change Request.

  • Vendor Bulletin.

  • Historical Incident.

  • RCA.

  • Rollback Procedure.

  • Site Configuration.

Metadata filter:

Vendor

Device model

Software version

Province

Upgrade batch

Severity

Kết quả giúp AI phân biệt:

  • Lỗi cấu hình.

  • Lỗi firmware.

  • Lỗi truyền dẫn.

  • Lỗi tương thích.

  • Lỗi thay đổi tham số.


☸️ M33.20 KIẾN TRÚC RETRIEVAL TRÊN KUBERNETES/OPENSHIFT

┌─────────────────────────────────────────────────────────────┐
│                       USER / AI AGENT                       │
└─────────────────────────────┬───────────────────────────────┘
                              │
                              ▼
                   ┌────────────────────┐
                   │ API Gateway / Kong │
                   └──────────┬─────────┘
                              │
                              ▼
                   ┌────────────────────┐
                   │ AuthN / AuthZ      │
                   └──────────┬─────────┘
                              │
                              ▼
                   ┌────────────────────┐
                   │ Query Router       │
                   └──────────┬─────────┘
                              │
              ┌───────────────┼────────────────┐
              │               │                │
              ▼               ▼                ▼
       Query Rewrite    Query Classifier   Entity Extractor
              │               │                │
              └───────────────┼────────────────┘
                              ▼
              ┌───────────────┴────────────────┐
              │                                │
              ▼                                ▼
       Sparse Search                    Dense Search
       OpenSearch                       Vector DB
              │                                │
              └───────────────┬────────────────┘
                              ▼
                     Result Fusion
                              │
                              ▼
                    Security Filter
                              │
                              ▼
                       Re-ranker
                              │
                              ▼
                    Context Builder
                              │
                              ▼
                         RAG / LLM

Microservices đề xuất

query-api

query-classifier

query-rewriter

sparse-retriever

dense-retriever

metadata-filter

security-filter

result-fusion

reranker-service

context-builder

retrieval-evaluator

Thành phần nền tảng

  • Kong API Gateway.

  • Keycloak hoặc IAM doanh nghiệp.

  • OpenSearch/Elasticsearch.

  • Milvus, Qdrant hoặc pgvector.

  • Redis Cache.

  • Kafka.

  • PostgreSQL Metadata.

  • Prometheus.

  • Grafana.

  • OpenTelemetry.

  • ELK/OpenSearch Logs.


📊 M33.21 RETRIEVAL EVALUATION

Không được đánh giá RAG chỉ bằng cảm giác:

“Câu trả lời có vẻ ổn.”

Phải tách đánh giá Retrieval khỏi LLM.


1. Recall@k

Trong Top-k có tìm được tài liệu đúng không?

Ví dụ:

Tài liệu đúng xuất hiện trong Top 5

Recall@5 = đạt

Recall cao giúp giảm nguy cơ bỏ sót.


2. Precision@k

Trong Top-k, có bao nhiêu tài liệu thực sự liên quan?

Ví dụ:

Top 5 có 4 tài liệu đúng

Precision@5 = 4/5 = 0.8

3. MRR

Đo tài liệu đúng đầu tiên xuất hiện ở vị trí nào.

Rank 1 → rất tốt

Rank 2 → tốt

Rank 10 → kém hơn

4. NDCG

Đánh giá chất lượng toàn bộ thứ tự xếp hạng, có tính đến mức độ liên quan khác nhau.


5. Hit Rate

Tỷ lệ câu hỏi có ít nhất một tài liệu đúng trong Top-k.


📈 M33.22 PERFORMANCE VÀ SLA

Retrieval Engine cần theo dõi:

  • Query latency P50/P95/P99.

  • Sparse search latency.

  • Dense search latency.

  • Re-ranking latency.

  • Context building latency.

  • Cache hit rate.

  • QPS.

  • Error rate.

  • Timeout rate.

  • Vector DB latency.

  • OpenSearch latency.


Ngân sách độ trễ minh họa

Authentication       20 ms

Query Processing     50 ms

Sparse Search        80 ms

Dense Search         100 ms

Result Fusion        20 ms

Re-ranking           150 ms

Context Builder      50 ms

Tổng Retrieval:

Khoảng 470 ms

Con số thực tế phụ thuộc dữ liệu, hạ tầng, tải và cấu hình.


💰 M33.23 COST

Chi phí Retrieval Engine gồm:

  • Vector Database.

  • Search Engine.

  • Re-ranker CPU/GPU.

  • Cache.

  • Network.

  • Metadata Database.

  • Monitoring.

  • Backup và DR.

  • Nhân sự vận hành.


Các cách tối ưu chi phí

  • Cache câu hỏi phổ biến.

  • Chỉ re-rank Top 30–100 kết quả.

  • Dùng Metadata Filter sớm.

  • Chọn model re-ranker phù hợp.

  • Tách tải online và batch.

  • Áp dụng autoscaling.

  • Giảm kích thước embedding khi không ảnh hưởng chất lượng.


⚖️ M33.24 TRADE-OFF

Lựa chọnƯu điểmNhược điểm
Keyword SearchChính xác với mã lỗiKém ngữ nghĩa
Dense RetrievalHiểu ý nghĩaCó thể sai chi tiết
Hybrid SearchCân bằng tốtKiến trúc phức tạp
Multi-queryTăng RecallTăng latency
Re-rankingTăng PrecisionTốn tài nguyên
Chunk nhỏTìm chính xácThiếu ngữ cảnh
Parent–ChildCó cả chính xác và ngữ cảnhQuản lý phức tạp
Filter sớmGiảm không gian tìm kiếmCó thể bỏ sót nếu metadata sai

⚠️ M33.25 NHỮNG SAI LẦM PHỔ BIẾN

❌ Chỉ dùng Vector Search.

❌ Không dùng BM25 cho mã lỗi và tên kỹ thuật.

❌ Không benchmark Retrieval riêng.

❌ Không lọc theo phiên bản và môi trường.

❌ Kiểm tra quyền sau khi Retrieval.

❌ Đưa quá nhiều chunk vào LLM.

❌ Không loại bỏ kết quả trùng.

❌ Không có bộ Golden Questions.

❌ Không theo dõi Recall và Precision theo thời gian.

❌ Dùng một chiến lược Retrieval cho mọi loại câu hỏi.


💡 M33.26 GÓC AI ARCHITECT

Một AI Architect cần trả lời:

  • Truy vấn nào cần BM25?

  • Truy vấn nào cần Dense Retrieval?

  • Có cần Query Router không?

  • Metadata nào bắt buộc?

  • Quyền được áp dụng ở bước nào?

  • Re-ranker chạy CPU hay GPU?

  • Top-k ban đầu và Top-k cuối là bao nhiêu?

  • Context Window được phân bổ thế nào?

  • Khi Retrieval sai, làm sao truy vết nguyên nhân?

  • Làm sao rollback index hoặc model?


Nguyên tắc kiến trúc

Retrieve broadly

↓

Filter safely

↓

Rank accurately

↓

Build context carefully

↓

Generate with evidence

🧪 M33.27 HANDS-ON PROJECT

Project 02: Xây dựng Retrieval Engine cho Oracle DBA AI

Bước 1: Chuẩn bị Golden Dataset

Tạo ít nhất:

200 câu hỏi

+

Tài liệu đúng tương ứng

+

Mức độ liên quan

+

Loại câu hỏi

Nhóm câu hỏi:

  • Error Lookup.

  • Troubleshooting.

  • Runbook.

  • Performance.

  • RAC.

  • Data Guard.

  • RMAN.

  • GoldenGate.

  • Security.

  • Linux.


Bước 2: Xây Sparse Search

Dùng OpenSearch hoặc Elasticsearch.

Index các trường:

title

content

error_code

sql_id

database_name

oracle_version

document_type

Bước 3: Xây Dense Search

  • Sinh Query Embedding.

  • Tìm Top 50 vector gần nhất.

  • Trả về Chunk và Metadata.


Bước 4: Kết hợp kết quả

Có thể dùng:

Reciprocal Rank Fusion

Ý tưởng:

  • Kết quả đứng cao trong nhiều danh sách được ưu tiên.

  • Không phụ thuộc trực tiếp vào thang điểm khác nhau của BM25 và Vector Search.


Bước 5: Áp dụng Metadata Filter

Ví dụ:

{
  "oracle_version": "19c",
  "environment": "Production",
  "system": "Billing"
}

Bước 6: Áp dụng Security Filter

Dựa trên:

User ID

Role

Department

System Scope

Security Clearance

Bước 7: Re-ranking

  • Nhận Top 50.

  • Xếp hạng lại.

  • Chọn Top 8.


Bước 8: Context Builder

  • Loại bỏ chunk trùng.

  • Ghép Parent Section.

  • Giữ source, page và version.

  • Giới hạn token.


Bước 9: Đánh giá

Đo:

Recall@5

Recall@10

Precision@5

MRR

NDCG

Latency P95

Bước 10: Dashboard

Dashboard nên có:

  • Query volume.

  • Retrieval latency.

  • Recall@k.

  • No-result rate.

  • Re-ranking latency.

  • Cache hit.

  • Top failed queries.

  • Top missing documents.

  • Access denied count.

  • Query distribution theo loại.


👑 M33.28 CTO PERSPECTIVE

Một CTO cần quan tâm:

  • Retrieval có giảm thời gian tìm tài liệu không?

  • Tỷ lệ xử lý sự cố nhanh hơn bao nhiêu?

  • Bao nhiêu câu hỏi có nguồn đáng tin cậy?

  • Có nguy cơ rò rỉ dữ liệu giữa các phòng ban không?

  • Hệ thống có phụ thuộc một nhà cung cấp không?

  • Có thể mở rộng sang Network, SOC và CSKH không?

  • Chi phí mỗi 1.000 truy vấn là bao nhiêu?

  • Retrieval có được kiểm toán và giải thích không?


KPI cấp lãnh đạo

  • Giảm Mean Time to Detect.

  • Giảm Mean Time to Resolve.

  • Tăng tỷ lệ tái sử dụng RCA.

  • Giảm số ticket chuyển cấp.

  • Tăng tỷ lệ câu trả lời có trích dẫn.

  • Giảm thời gian tìm runbook.

  • Tăng tỷ lệ xử lý đúng ngay lần đầu.


🧠 M33.29 MINDMAP

                  🔍 RETRIEVAL ENGINE
                           │
       ┌───────────────────┼───────────────────┐
       │                   │                   │
  🧭 Query            🔎 Search          🔐 Governance
       │                   │                   │
 Classify/Rewrite     Sparse + Dense     ACL + Metadata
       │                   │                   │
       └───────────────────┼───────────────────┘
                           │
                      ⚡ Hybrid
                           │
                      🎯 Re-ranking
                           │
                     📦 Context Builder
                           │
                         🤖 LLM
                           │
                  💬 Grounded Answer

📋 M33.30 CHECKLIST

Kiến thức

  • ☐ Tôi phân biệt Keyword, Sparse và Dense Retrieval.

  • ☐ Tôi hiểu vai trò của BM25.

  • ☐ Tôi hiểu Hybrid Search.

  • ☐ Tôi biết Query Rewriting dùng để làm gì.

  • ☐ Tôi hiểu Metadata Filtering.

  • ☐ Tôi hiểu Parent–Child Retrieval.

  • ☐ Tôi biết vai trò của Re-ranking.

Thiết kế

  • ☐ Tôi đã có Golden Dataset.

  • ☐ Tôi có Query Classification.

  • ☐ Tôi kết hợp BM25 và Vector Search.

  • ☐ Tôi lọc theo phiên bản và môi trường.

  • ☐ Tôi áp dụng quyền trước khi trả kết quả.

  • ☐ Tôi có Context Builder.

  • ☐ Tôi đo Recall, Precision, MRR và latency.

  • ☐ Tôi có dashboard giám sát Retrieval.


🎨 M33.31 INFOGRAPHIC

┌──────────────────────────────────────────────────────────────┐
│               🔍 ENTERPRISE RETRIEVAL ENGINE                 │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│ 👤 USER QUESTION                                             │
│        │                                                     │
│        ▼                                                     │
│ 🧭 QUERY UNDERSTANDING                                       │
│ Classify │ Rewrite │ Extract Entity │ Detect Intent           │
│        │                                                     │
│        ▼                                                     │
│ ┌────────────────┐              ┌────────────────┐           │
│ │ ⌨️ BM25 SEARCH │              │ 🔢 VECTOR SEARCH│           │
│ └───────┬────────┘              └───────┬────────┘           │
│         └──────────────┬────────────────┘                    │
│                        ▼                                     │
│                  ⚡ HYBRID FUSION                            │
│                        │                                     │
│                        ▼                                     │
│              🏷️ METADATA FILTER                              │
│                        │                                     │
│                        ▼                                     │
│                🔐 SECURITY FILTER                            │
│                        │                                     │
│                        ▼                                     │
│                   🎯 RE-RANKER                               │
│                        │                                     │
│                        ▼                                     │
│                 📦 CONTEXT BUILDER                           │
│                        │                                     │
│                        ▼                                     │
│                      🤖 LLM                                  │
│                        │                                     │
│                        ▼                                     │
│               💬 GROUNDED RESPONSE                           │
├──────────────────────────────────────────────────────────────┤
│ 💡 Enterprise Retrieval không chỉ tìm tài liệu gần nghĩa.    │
│    Nó phải tìm đúng tài liệu, đúng phiên bản, đúng quyền và  │
│    đúng bối cảnh nghiệp vụ.                                  │
└──────────────────────────────────────────────────────────────┘

📦 SẢN PHẨM ĐẦU RA CỦA MODULE M33

enterprise-ai-platform/
├── ingestion/
├── retrieval/
│   ├── api/
│   ├── classifier/
│   ├── query_rewriter/
│   ├── sparse_search/
│   ├── dense_search/
│   ├── hybrid_fusion/
│   ├── metadata_filter/
│   ├── security_filter/
│   ├── reranker/
│   ├── context_builder/
│   ├── evaluation/
│   └── tests/
├── deployment/
├── monitoring/
└── documentation/

🚀 CẢI TIẾN GIÁO TRÌNH LÊN VERSION 9.0

Từ M33 trở đi, mỗi module sẽ bổ sung thêm bốn sản phẩm thực chiến:

1. Architecture Decision Record

Ghi rõ:

  • Quyết định kiến trúc.

  • Các phương án đã xem xét.

  • Lý do lựa chọn.

  • Rủi ro.

  • Điều kiện cần đánh giá lại.

2. Production Readiness Checklist

Đánh giá:

  • HA.

  • Security.

  • Backup.

  • DR.

  • Monitoring.

  • Capacity.

  • Performance.

  • Rollback.

3. Failure Injection Scenario

Chủ động mô phỏng:

  • Vector Database lỗi.

  • OpenSearch timeout.

  • Re-ranker quá tải.

  • Metadata sai.

  • Quyền truy cập bị cấu hình nhầm.

4. Acceptance Test

Xác định rõ tiêu chí nghiệm thu trước khi đưa vào Production.


🔜 MODULE M34

🎯 RE-RANKING VÀ CONTEXT ENGINEERING

M33 đã tìm được tập tài liệu ứng viên.

M34 sẽ trả lời:

Làm sao chọn ra đúng 5–10 tài liệu tốt nhất và sắp xếp chúng thành Context để LLM không bị nhiễu?

M34 sẽ đi sâu vào:

  • Bi-Encoder và Cross-Encoder.

  • Re-ranker hoạt động thế nào.

  • Reciprocal Rank Fusion.

  • Maximal Marginal Relevance.

  • Context Deduplication.

  • Lost in the Middle.

  • Context Compression.

  • Parent–Child Expansion.

  • Token Budget.

  • Source Diversity.

  • Citation Mapping.

  • Context Injection Defense.

  • Benchmark chất lượng trước và sau Re-ranking.

  • Thiết kế Re-ranking Service trên GPU/Kubernetes.

  • Áp dụng cho Oracle DBA RCA và Telecom Incident Analysis.

Pipeline tiếp theo:

Enterprise Retrieval

↓

Re-ranking

↓

Context Engineering

↓

Prompt Engineering

↓

LLM

↓

Grounded Answer
=============================
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

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master