RAG là gì?
RAG (Retrieval-Augmented Generation) = Cách kết hợp giữa LLM và cơ sở tri thức ngoài (database, vector DB).
- Thay vì chỉ dựa vào kiến thức đã huấn luyện, mô hình sẽ tìm kiếm (retrieval) thông tin liên quan từ tài liệu của bạn (vector search) rồi dùng thông tin đó để sinh câu trả lời (generation).
- Ưu điểm: Không cần huấn luyện lại mô hình, dữ liệu cập nhật được ngay.
Fine-tuning là gì?
- Fine-tuning là quá trình huấn luyện lại một mô hình ngôn ngữ (LLM) có sẵn trên dữ liệu riêng của bạn, để mô hình “thích nghi” và trả lời sát hơn với domain hoặc phong cách mong muốn.
- Thực chất: thay vì huấn luyện từ đầu (tốn hàng tỷ tham số), ta lấy mô hình nền (ví dụ GPT-3.5, BERT, LLaMA) và điều chỉnh trọng số dựa trên dữ liệu chuyên biệt.
Sự khác nhau giữ RAG và Fine-tuning

Fine-tuning: Huấn luyện lại mô hình với dữ liệu riêng → mô hình “học” thêm tri thức.
- Ưu: Trả lời mượt, gắn liền với domain.
- Nhược: Tốn tài nguyên, dữ liệu mới phải huấn luyện lại.
RAG: Không động vào mô hình, chỉ “bổ sung” dữ liệu ngoài ở lúc truy vấn.
- Ưu: Nhanh, dữ liệu thay đổi là cập nhật được ngay.
- Nhược: Độ mượt phụ thuộc vào chất lượng truy xuất + prompt.
Dùng n8n để xây chatbot RAG đơn giản
Một luồng cơ bản trong n8n sẽ gồm:
- Trigger Node
- Ví dụ:
Webhook
(khi user chat vào), hoặcTelegram Trigger
, hoặcSlack Trigger
.
- Ví dụ:
- Embedding Node
- Dùng OpenAI Embeddings (hoặc tương đương) để chuyển câu hỏi của user thành vector.
- Vector DB Node
Pinecone
,Weaviate
,Qdrant
, hoặcSupabase Vector
.- Tìm kiếm các đoạn văn bản gần nhất (top-k).
- LLM Node
OpenAI
(ChatGPT),Anthropic
, hoặc bất kỳ LLM nào n8n hỗ trợ.- Input prompt sẽ = câu hỏi user + đoạn context lấy từ Vector DB.
- Response Node
- Trả về kết quả cho người dùng qua
Webhook Response
, hoặc gửi ngược vềTelegram
,Slack
, v.v.
- Trả về kết quả cho người dùng qua
Dòng chảy dữ liệu (data flow)
User (chat)
↓
Trigger Node (Webhook/Telegram/Slack)
↓
Embedding Node (tạo vector cho câu hỏi)
↓
Vector DB Node (retrieval top-k context)
↓
LLM Node (câu hỏi + context → trả lời)
↓
Response Node (trả kết quả về user)
0 Lời bình