Giới thiệu về lớp học
Giới thiệu về lớp học
[Live] Sử dụng API liên quan tới văn bản
Chi tiết về RestFul API
Sử dụng thành thục các API của ChatGPT
GPT 3.5 Turbo
GPT-4 and GPT-4 Turbo
GPT-4o
Sử dụng thành thục các API AI của Google
API Gemini
API các mô hình Open Source
API LLAMA thông qua Together AI
[Live] Lập trình giao diện chatbot nhanh chóng
Lập trình giao diện chatbot nhanh chóng
Giới thiệu thư viện Streamlit
[Live] RAG và xây dựng hệ thống Chatbot hiện đại
Chi tiết kỹ thuật RAG cơ bản
Giới thiệu Vector Database
Các khái niệm trong RAG
Khái niệm Embeddings
Các chỉ số đo lường như Cosine Similarity, Dot Product hay L2 Distance
Quy trình của RAG

[Live] Các kỹ thuật Prompt và tổng quan Agent
Các kỹ thuật Prompt
Các chỉ số cài đặt
Giới thiệu Agent và React Agent
[Bổ trợ] Docker + Cloud
Docker là gì?
Phân biệt image và container
Cài đặt Docker
Xây dựng Docker Image và chạy docker Container
Docker container
[Bổ trợ thêm] MongoDB + Crawl dữ liệu
Hướng dẫn Crawl dữ liệu từ trang Web bất kỳ
Hướng dẫn sử dụng MongoDB
[Live] Lập trình RAG với các Vector Search khác nhau
Lập trình RAG từ đầu trên các cơ sở dữ liệu vector khác nhau
Xây dựng RAG với ChromaDB
ChromaDB
Qdrant
MongoDB
Supabase
Xây dựng RAG với Qdrant
Cài đặt Qdrant Local
Cài đặt Qdrant trên Production
Xây dựng Vector search trên Qdrant
Xây dựng RAG với Supabase
Cài đặt cơ sở dữ liệu Supabase
Viết SQL để xây dựng vector search
Xây dựng Vector Database với OpenAI Assistant File Search và Google File Search
Tạo Vector Store với OpenAI
Xây dựng RAG với OpenAI Assistants
Xây dựng RAG với Google File Search
[Bài tập giữa khóa] Xây dựng Chatbot bán hoa
Áp dụng các kiến thức đã học để xây dựng Chatbot
[Live] RAG Nâng cao - Semantic Router + Reflection + Hyde Search
Semantic Router
Reflection
Hyde Search
Chunking và các vấn đề liên quan
Các loại chunking phổ biến
Character Splitting
Recursive Character Text Splitting
Semantic Splitting
LLMs Chunking
Agentic Chunking
[Live] Học Langchain và xây dựng Chatbot dựa vào Langchain
Thực hành Langchain
Xây dựng hệ thống RAG hoàn toàn Open Source
Các công cụ xây dựng:
Ollama để chạy mô hình
Langchain để xây quy trình truy xuất thông tin
[Live] Lập trình ứng dụng với LangGraph + LangGraph Studio
Sử dụng LangGraph xây dựng flow đơn giản
Hiển thị quá trình với LangGraph Studio
RAG có bổ sung ReRank
Kiến trúc trong hình: RAG + ReRank và sự khác biệt với RAG thường
Cụ thể các bước:
1. Documents → Chunks
Tương tự RAG thường: Tài liệu được cắt thành nhiều đoạn nhỏ (chunks).
2. Chunks → Embedding → Vector DB
Dùng embedding model để chuyển văn bản thành vector, lưu vào vector database.
3. Query → Embedding → Vector Search
Truy vấn từ người dùng được chuyển thành vector và tìm các chunk phù hợp nhất (ban đầu).
4. Ranking Model (ReRank) - Sự khác việt
Thay vì dùng top-k chunk luôn, một ranking model (ví dụ: BGE Reranker, Cohere Rerank, hoặc Cross-Encoder) sẽ đánh giá lại các chunk theo độ liên quan sâu hơn.
Kết quả sau rerank thường chính xác hơn vì xét đến mối quan hệ giữa ngữ nghĩa query và nội dung chunk chặt chẽ hơn.
5. System Prompt = Query + Top Context
Những chunk đã được rerank và chọn lọc kỹ được đưa vào prompt LLM cùng với hệ thống hướng dẫn.
6. LLM sinh ra câu trả lời
Dựa vào prompt bao gồm query và context đã được rerank, LLM tạo ra câu trả lời.

RAG Keywords Search + ReRank

Áp dụng RAG ở các hệ thống lớn đang có sẵn mà chưa cần Vector Search ngay thì chúng ta có thể áp dụng kiến trúc Keyword Search + Rerank.
Flow sẽ như sau
1. User Input (Query)
Người dùng nhập một query (truy vấn) vào hệ thống từ giao diện.
2. Keyword Search
Query được gửi đến Keyword Search engine (ví dụ: Elasticsearch hoặc BM25).
Module này thực hiện tìm kiếm theo từ khóa trong Database (cơ sở dữ liệu) để lấy các kết quả liên quan ban đầu.
3. Document Retrieval from Database
Keyword Search truy xuất một tập các tài liệu ứng viên từ Database.
Đây là các kết quả ban đầu, chưa được sắp xếp hoàn hảo theo mức độ liên quan.
4. Re-Ranking Model
Các tài liệu được đưa qua một Ranking Model (ví dụ: Cross-Encoder).
Mô hình này sử dụng cả query và từng tài liệu để tính lại điểm số và xếp hạng lại dựa trên mức độ phù hợp.
5. Prompt Construction
Các tài liệu xếp hạng cao nhất (top-k) được kết hợp với:
- System Prompt
- Query
- Context (các tài liệu đã truy xuất)
Tất cả được cấu trúc lại thành một prompt đưa vào cho Language Model.
6. Language Model Generation
Prompt được đưa vào Language Model (ví dụ: GPT).
Mô hình tạo ra một response (phản hồi) bằng ngôn ngữ tự nhiên dựa trên query và context.
7. Final Response
Response cuối cùng được gửi trả về người dùng trong giao diện.
[Live] Graph RAG - Rag trên đồ thị
Xây dựng đồ thị tri thức Knowledge graph từ văn bản
Thực hành RAG sử dụng Cypher Query trên Neo4j
Xây dựng Embeddings sử dụng Graph Convolution Network
Các trending về RAG trên đồ thị

Hybrid RAG
Hybrid RAG kết hợp giữa
RAG cơ bản
RAG trên đồ thị

Agentic RAG
Agents là gì?
LLM Agents
Đọc nghiên cứu ReAct
Kỹ thuật Prompt Engineering
Quy trình Agentic RAG

Multimodal RAG
Multimodal RAG cho phép chuyển ảnh + văn bản thành vector. Từ đó ta có thể xây dựng search vector database.

Đánh giá chất lượng hệ thống RAG
Các bước đánh giá hệ thống RAG

Hệ thống retrieval có truy xuất đúng các documents chứa thông tin cần thiết để trả lời query hay không?
Mô hình rerank có sắp xếp đúng mức độ ưu tiên của các tài liệu liên quan nhất, để đưa bằng chứng tốt nhất lên đầu cho mô hình ngôn ngữ sử dụng không?
Dựa trên các documents đã được truy xuất, language model có tạo ra response đúng và đủ để trả lời query hay không?
Các chỉ số đánh giá RAG
RAG Evaluation Metrics – Tổng hợp toàn diện các chỉ số đánh giá hệ thống RAG
(Chia theo: Đánh giá bằng LLM vs Đánh giá tự động)
Trong hệ thống RAG (Retrieval-Augmented Generation), việc đánh giá không chỉ dừng lại ở câu trả lời, mà còn phải kiểm tra cả chất lượng truy xuất thông tin. Biểu đồ này tóm tắt các nhóm chỉ số đánh giá phổ biến nhất hiện nay:
1. LLM-Judged Metrics (Dùng LLM để chấm điểm)
Đánh giá độ phù hợp và tính đúng đắn của câu trả lời:
Context Relevance / Precision / Recall / Entities Recall: Truy xuất có đúng tài liệu không?
Response Relevancy: Câu trả lời có liên quan tới câu hỏi?
Groundedness: Câu trả lời có dựa đúng vào tài liệu?
Noise Sensitivity: Câu trả lời có bị nhiễu khi tài liệu không liên quan?
2. Automatic Metrics (Tự động, không cần LLM)
2.1 Semantic (dựa trên vector embeddings):
Precision / Recall
Similarity giữa câu hỏi và tài liệu
2.2 Rule-based (dựa trên matching rules):
BLEU, ROUGE: Đo mức độ trùng khớp n-gram với câu trả lời mẫu
Exact Match, String Presence: So sánh từ khoá, trùng chuỗi
Hit@K, Recall@K: Truy xuất đúng tài liệu nằm trong Top-K
nDCG@K, MRR, MAP: Đánh giá thứ tự sắp xếp tài liệu
Ghi chú thêm:
LLM Answer: Đánh giá chất lượng câu trả lời cuối cùng của mô hình
Retrieval: Đánh giá giai đoạn truy xuất tài liệu
Rerank: Đánh giá khả năng xếp hạng lại các tài liệu đã truy xuất

Các công cụ đánh giá
Ragas
Google Cloud
Thực hành đào tạo mô hình riêng của bạn
Tự đào tạo mô hình GPT
Tự đào tạo mô hình LLAMA
[Nâng cao] Xử lý dữ liệu bảng
Workshop thực hành mô hình Kimi, GPT OSS 20B/120B
Sử dụng GPT OSS để xây dựng Agent
Đánh giá chất lượng hệ thống RAG + Agent