Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Ngày xuất bản
Ngày xuất bản

Nâng cấp Chatbot n8n + ChatGPT với Vector DB và RAG

Chatbot tích hợp giữa n8nChatGPT đã là một công cụ tự động hóa mạnh mẽ — nhưng nếu bạn muốn chatbot thực sự hiểu ngữ cảnh, nhớ thông tinphản hồi chính xác dựa trên tài liệu riêng của doanh nghiệp, thì việc tích hợp Vector DatabaseRetrieval-Augmented Generation (RAG) là bước tiến bắt buộc.

Bài viết này sẽ hướng dẫn bạn:

  1. Hiểu rõ RAG là gì
  2. Cách hoạt động của RAG trong chatbot
  3. Tích hợp Vector DB (FAISS / Pinecone / Chroma) với n8n
  4. Thiết lập workflow hoàn chỉnh: User → n8n → VectorDB → ChatGPT → Response

🧠 1. Hiểu về RAG (Retrieval-Augmented Generation)

RAG (Retrieval-Augmented Generation) là kỹ thuật kết hợp giữa:

  • Retrieval (Truy xuất): Tìm kiếm dữ liệu liên quan từ cơ sở tri thức (Vector DB)
  • Generation (Sinh): Sử dụng mô hình ngôn ngữ (LLM như ChatGPT hoặc Ollama) để tổng hợp câu trả lời dựa trên dữ liệu vừa truy xuất.

Ví dụ:

Người dùng hỏi: "Chính sách nghỉ phép của công ty tôi là gì?"
Chatbot không chỉ dựa vào training data chung, mà còn tìm thông tin trong file PDF nội bộ, sau đó ChatGPT sẽ tạo câu trả lời chính xác và có ngữ cảnh.


🧩 2. Kiến trúc tổng thể của Chatbot n8n + ChatGPT + Vector DB

User Message
     ↓
n8n Workflow Trigger (HTTP / Telegram / Slack)
     ↓
Embedding (convert text → vector)
     ↓
Vector DB (FAISS / Pinecone / Chroma)
     ↓
Retrieve top N similar documents
     ↓
ChatGPT / OpenAI node (context + user message)
     ↓
Response → Send back to user

🧰 3. Chuẩn bị công cụ và môi trường

Thành phần Vai trò Gợi ý
n8n Workflow automation engine Cài bằng Docker hoặc cloud.n8n.io
ChatGPT (OpenAI) Xử lý ngôn ngữ API key từ OpenAI
Vector DB Lưu embedding & tìm kiếm ngữ nghĩa FAISS (local) / Pinecone (SaaS) / Chroma
Embedding model Tạo vector từ text text-embedding-3-small (OpenAI) hoặc sentence-transformers (local)

⚙️ 4. Thiết lập workflow trong n8n

Bước 1: Trigger

  • Dùng Webhook node hoặc Telegram Trigger để nhận tin nhắn người dùng.

Bước 2: Embedding Node

  • Gọi HTTP Request → gửi dữ liệu đến OpenAI Embedding API:
{
  "input": "Nội dung người dùng",
  "model": "text-embedding-3-small"
}
  • Nhận về vector (list 1536 giá trị float).

Bước 3: Search Vector DB

  • Nếu dùng Pinecone / Chroma / FAISS, thực hiện API search để lấy top 3–5 tài liệu tương tự.
  • Kết quả sẽ bao gồm đoạn văn bản liên quan nhất.

Bước 4: Compose Context

  • Kết hợp user message + retrieved text:
Context:
{{retrieved_documents}}

User question:
{{user_input}}

Bước 5: Gọi ChatGPT Node

  • Gửi prompt đầy đủ đến ChatGPT:
{
  "model": "gpt-4-turbo",
  "messages": [
    {"role": "system", "content": "Bạn là chatbot hỗ trợ khách hàng của công ty."},
    {"role": "user", "content": "{{context_and_question}}"}
  ]
}

Bước 6: Trả kết quả về người dùng

  • Nếu workflow là Telegram → trả về qua Send Message
  • Nếu webhook → trả JSON response về client

🧮 5. Lưu trữ và huấn luyện tri thức nội bộ

Bạn có thể import tài liệu doanh nghiệp (PDF, DOCX, Markdown) vào Vector DB:

python ingest_docs.py --source ./docs/company_policies \
                      --db chroma \
                      --embedding text-embedding-3-small

Sau khi chạy xong, Vector DB sẽ có thể được truy xuất qua API hoặc thông qua HTTP Node trong n8n.


💡 6. Mẹo nâng cao

  • Dùng Ollama hoặc LLaMA 3 cho mô hình on-premise (không phụ thuộc OpenAI).
  • Thêm Memory Node trong n8n để giữ lịch sử trò chuyện.
  • Tạo workflow song song: Chatbot trả lời + gửi log lưu trữ đến Notion / Google Sheet.
  • Dùng Filter node để tránh lặp lại kết quả cũ.

📈 7. Kết quả thực tế

Sau khi tích hợp RAG: ✅ Chatbot hiểu rõ thông tin nội bộ doanh nghiệp ✅ Trả lời chính xác hơn 80–90% so với chỉ dùng ChatGPT thuần túy ✅ Giảm chi phí API do truy xuất dữ liệu cụ thể thay vì hỏi tổng quát ✅ Hỗ trợ đa ngôn ngữ (vi, en, ja) tùy dataset embedding


🔚 Kết luận

n8n + ChatGPT là nền tảng tuyệt vời cho automation. Khi thêm Vector DBRAG, bạn đã tạo ra một AI Agent thông minh, có trí nhớ và ngữ cảnh riêng, không chỉ phản hồi tự động mà còn hiểu doanh nghiệp bạn thực sự đang nói gì.


🧠 Tài liệu tham khảo