Skip to main content

🎬 Workflow RAG Chatbot Gợi Ý Phim Tự Động bằng n8n + Qdrant + OpenAI

ƯU ĐÃI CHO CÁC SẾP

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

oaicite:1
.

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

LỢI ÍCH NỔI BẬT
  • 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:

  1. n8n Cloud
  2. OpenAI API (embedding + chat model)
  3. Tài khoản Qdrant + Collection “imdb”
  4. Dataset phim lưu trên GitHub (workflow đã lấy file Top_1000_IMDB_movies.csv)
  5. Bật n8n Chat UI (để dùng Chat Trigger)
QUAN TRỌNG

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

oaicite:2
.


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ả)
tip

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:

  1. Chat Trigger → nhận câu hỏi
  2. OpenAI Chat Model + Memory Buffer → xử lý hội thoại
  3. Tool: movie_recommender → gọi workflow con
  4. 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
KẾT QUẢ CUỐI CÙNG

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

  1. Vào n8n Cloud
  2. Chọn Workflows → Import
  3. Upload file .json
  4. Bấm Save → Activate
  5. 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)
tip

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ửi
    oaicite:3
warning

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!

success

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!