🎬 Workflow RAG Chatbot Gợi Ý Phim Tự Động bằng n8n + Qdrant + OpenAI
Muốn chạy n8n rẻ – mượt – ổn định?
Nhập mã VPSN8N để được giảm tới 40% khi thuê VPS.
👉 Xem dịch vụ tại đây
Chào các sếp!
Trong bài này, mình sẽ hướng dẫn các sếp cách “lên đồ” một workflow RAG Chatbot cực mạnh trong n8n, sử dụng:
- Qdrant Vector Database để lưu embedding phim
- OpenAI để tạo embedding + trả lời chat
- LangChain nodes để điều khiển agent
- GitHub làm nguồn dữ liệu (dataset 1000 phim IMDB)
- n8n Chat Trigger để nhận câu hỏi từ app chat của n8n
Workflow hoàn chỉnh được lấy từ file xếp gửi
Mục tiêu là xây dựng một chatbot có thể:
“Cho tôi 3 bộ phim giống với … nhưng không giống…”
Rồi bot sẽ trả lời ngay lập tức.
🎯 Kết quả đạt được
- Chatbot trả về Top 3 phim gợi ý dựa trên vector similarity
- Hiểu được “phim thích” (positive example) và “phim tránh xa” (negative example)
- Tự động tạo embedding từ OpenAI
- Lưu vector vào Qdrant cực nhanh
- Không cần viết code – chỉ cần n8n kéo-thả
📌 Yêu cầu cần chuẩn bị
Để workflow chạy trơn tru, các sếp cần:
- n8n Cloud
- OpenAI API (embedding + chat model)
- Tài khoản Qdrant + Collection “imdb”
- Dataset phim lưu trên GitHub (workflow đã lấy file
Top_1000_IMDB_movies.csv) - Bật n8n Chat UI (để dùng Chat Trigger)
Các sếp phải tạo trước collection Qdrant trùng tên workflow đang dùng:
imdb_1000_open_ai hoặc imdb (tùy config).
🧩 Logic hoạt động của workflow
Workflow chia thành 2 phần lớn — đúng như file JSON
Phần 1 — Upload dữ liệu phim vào Vector Store
Các node chính:
- GitHub → Extract From File
Lấy CSV danh sách 1000 phim IMDB - Default Data Loader + Token Splitter
Tách mô tả phim thành chunks nhỏ - OpenAI Embeddings
Tạo embedding cho từng mô tả phim - Qdrant Vector Store (Insert)
Lưu toàn bộ embedding + metadata (năm sản xuất, tên phim, mô tả)
Sau bước này, Qdrant trở thành “bộ nhớ phim” của chatbot.
Phần 2 — Chatbot trả lời gợi ý phim
Khi người dùng gửi tin nhắn:
- Chat Trigger → nhận câu hỏi
- OpenAI Chat Model + Memory Buffer → xử lý hội thoại
- Tool: movie_recommender → gọi workflow con
- Workflow con thực hiện:
- Tạo embedding cho yêu cầu “positive example”
- Tạo embedding cho “negative example”
- Gọi Qdrant API để tìm phim phù hợp
- Lấy metadata từ Qdrant
- Merge dữ liệu → trả về chatbot
Chatbot trả về Top 3 bộ phim gợi ý, nội dung rõ ràng, tự nhiên, không hiển thị điểm số vector.
🚀 Cách import workflow vào n8n
- Vào n8n Cloud
- Chọn Workflows → Import
- Upload file
.json - Bấm Save → Activate
- Trong phần Credentials:
- Kết nối OpenAI
- Kết nối Qdrant
- Kết nối GitHub (nếu dùng file CSV từ GitHub)
Nhớ test từng phần bằng “Execute Node” để xem dữ liệu vector có đẩy vào Qdrant chưa.
⚙️ Lưu ý khi “lên đồ” workflow
- Embedding dùng model text-embedding-3-small → nhẹ, rẻ, nhanh
- Dataset phải có trường:
Movie Name, Year of Release, Description - Qdrant URL và Collection phải trùng 100%
- Luôn test với 1 câu prompt:
“positive: romantic comedy / negative: horror bloody movie”
→ đã có sẵn trong pinData của workflow xếp gửioaicite:3
Nếu chatbot trả sai phim hoặc lỗi API → 90% là do Collection chưa tạo đúng tên.
🎉 Hoàn tất!
Vậy là các sếp đã có một workflow RAG Chatbot chuẩn chỉnh, dùng được ngay, không cần biết lập trình.
Chỉ việc mở Chat UI, hỏi:
“Gợi ý tôi 3 phim giống Titanic nhưng đừng có buồn quá.”
Là bot trả về liền!