#Topic
1

Giới thiệu về lớp học

Giới thiệu về lớp học

2

[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

3

[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

4

[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

5

[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

6

[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

7

[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

8

Xây dựng RAG với ChromaDB

  • ChromaDB

  • Qdrant

  • MongoDB

  • Supabase

9

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

10

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

11

[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

12

[Live] RAG Nâng cao - Semantic Router + Reflection + Hyde Search

  • Semantic Router

  • Reflection

  • Hyde Search

13

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

14

[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

15

[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

16

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.

17

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.

18

[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ị

19

Hybrid RAG

Hybrid RAG kết hợp giữa

  • RAG cơ bản

  • RAG trên đồ thị

20

Agentic RAG

  • Agents là gì?

  • LLM Agents

  • Đọc nghiên cứu ReAct

  • Kỹ thuật Prompt Engineering

  • Quy trình Agentic RAG

21

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.

22

Đánh giá chất lượng hệ thống RAG

Các bước đánh giá hệ thống RAG


  1. 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?

  2. 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?

  3. 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

23

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

24

[Nâng cao] Xử lý dữ liệu bảng

No content