AI & AUTOMATION

Hướng dẫn xây dựng RAG Agent với n8n và OpenAI: Cách đơn giản hóa quy trình gấp 10 lần

Nếu bạn đã từng dành hàng giờ, thậm chí hàng ngày để xây dựng các hệ thống RAG (Retrieval-Augmented Generation) từ con số không, bạn sẽ hiểu nỗi đau mà mình đang nói đến. Việc thiết lập cơ sở dữ liệu vector (Vector Databases), cấu hình các mô hình embedding, viết logic truy xuất dữ liệu (retrieval logic), và xử lý phân mảnh tài liệu (chunking) là một quy trình cực kỳ phức tạp và tốn kém thời gian.

Tuy nhiên, tin vui là cuộc chơi đã thay đổi hoàn toàn. OpenAI vừa tung ra những cập nhật mới nhất giúp biến toàn bộ quy trình phức tạp trên trở nên lỗi thời. Giờ đây, họ đã tích hợp RAG trực tiếp vào các mô hình chat của mình thông qua Responses API. Không cần Pinecone, không cần Supabase, và cũng chẳng cần lo về custom embeddings.

Chia sẻ của Nick Puru

Trong bài viết này, mình sẽ hướng dẫn bạn cách xây dựng RAG Agent với n8n và OpenAI sử dụng tính năng File SearchWeb Search tích hợp sẵn, tất cả trong một hệ thống duy nhất mà không cần quản lý hạ tầng phức tạp.

Tại sao quy trình RAG truyền thống đang trở nên lỗi thời?

Trước khi đi sâu vào giải pháp mới, hãy cùng nhìn lại xem một quy trình xây dựng RAG Agent thông thường tốn kém tài nguyên như thế nào.

Download workflow n8n: https://romhub.io/n8n/OpenAI_Responses_API_Agent

Cách làm cũ cho RAG (File Search)

  1. OpenAI Chat Model node – Cấu hình model gpt-4.1-mini với responsesApiEnabled: false
  2. Embeddings OpenAI node – Để chuyển đổi văn bản thành vector
  3. Supabase Vector Store node – Cấu hình mode retrieve-as-tool, kết nối với bảng documents
  4. AI Agent node – Kết hợp tất cả lại với System Message

Cách làm cũ cho Web Search

Tương tự, nếu muốn Agent có khả năng tìm kiếm web, bạn phải:

  1. Sử dụng Perplexity Tool node riêng biệt
  2. Kết nối với OpenAI Chat Model node khác
  3. Gắn vào AI Agent node như một tool

Điều này đồng nghĩa với việc quản lý nhiều API key, nhiều hóa đơn thanh toán, và nhiều điểm có thể gây lỗi hệ thống.

Giải pháp “All-in-One” từ OpenAI Responses API

Giải pháp cho tất cả sự phức tạp trên chính là Responses API mới của OpenAI, được tích hợp trực tiếp vào node OpenAI Chat Model phiên bản 1.3 trong n8n. Node này cho phép bạn bật builtInTools bao gồm:​

  • fileSearch: RAG tích hợp sẵn với Vector Store của OpenAI
  • webSearch: Tìm kiếm web thời gian thực

Ba cách triển khai trong workflow

Workflow đính kèm minh họa 3 cách triển khai riêng biệt:

1. Web Search riêng lẻ (Node “Web” → Agent “Research”)

Cấu hình trong node OpenAI Chat Model:

{
  "model": "gpt-5-mini",
  "builtInTools": {
    "webSearch": {
      "searchContextSize": "medium",
      "allowedDomains": "google.com"
    }
  }
}
  • searchContextSize: Có thể đặt low, medium, hoặc high tùy mức độ chi tiết mong muốn
  • allowedDomains: Giới hạn nguồn tìm kiếm (ví dụ chỉ cho phép google.com)

2. File Search riêng lẻ (Node “File Search” → Agent “RAG”)

Cấu hình:

{
  "model": "gpt-4.1-mini",
  "builtInTools": {
    "fileSearch": {
      "vectorStoreIds": "[\"vs_6930814fe41c8191b934ac05de8d97a1\"]",
      "filters": "{\"filters\": [], \"type\": \"and\"}"
    }
  }
}
  • vectorStoreIds: ID của Vector Store bạn đã tạo trên OpenAI Platform
  • filters: Bộ lọc JSON để tinh chỉnh kết quả tìm kiếm

3. Combined – Kết hợp cả hai (Node “OpenAI Combined” → Agent “New”)

Đây là cách tiếp cận mạnh mẽ nhất, kết hợp cả File Search và Web Search trong một node duy nhất:

{
  "model": "gpt-5-mini",
  "builtInTools": {
    "webSearch": {
      "searchContextSize": "medium"
    },
    "fileSearch": {
      "vectorStoreIds": "[\"vs_6930761d7e20819199d554cb28876218\"]",
      "filters": "{\"filters\": [], \"type\": \"and\"}"
    }
  }
}

Hướng dẫn thiết lập từng bước

Bước 1: Tạo Vector Store trên OpenAI Platform

  1. Truy cập platform.openai.comStorageVector Stores
  2. Tạo mới Vector Store và đặt tên phù hợp
  3. Upload tài liệu (PDF, TXT, DOCX…)
  4. Copy lại Vector Store ID (dạng vs_xxxxxxxxxxxx)

Bước 2: Thiết lập workflow trong n8n

Dựa trên workflow mẫu, bạn cần các node sau:

  1. Chat Trigger node (chatTrigger v1.4) – Nhận tin nhắn từ người dùng
  2. OpenAI Chat Model node (lmChatOpenAi v1.3) – Cấu hình Responses API với builtInTools
  3. AI Agent node (agent v3) – Xử lý logic Agent với System Message: "You are a helpful assistant"

Bước 3: Cấu hình builtInTools

Trong node OpenAI Chat Model, bật tính năng cần thiết:

Tính năngTham số chínhMô tả
webSearchsearchContextSizelow/medium/high – Độ chi tiết ngữ cảnh
webSearchallowedDomainsGiới hạn domain được phép tìm kiếm​
fileSearchvectorStoreIdsMảng ID của Vector Store
fileSearchfiltersJSON filter với type: "and" hoặc "or"

So sánh cách làm cũ vs mới

Tiêu chíCách CũCách Mới (Responses API)
RAGSupabase + Embeddings OpenAI + AI AgentOpenAI Chat Model với fileSearch
Web SearchPerplexity Tool + OpenAI Chat Model + AI AgentOpenAI Chat Model với webSearch
Số node cần thiết4-5 nodes2-3 nodes
API keysNhiều (OpenAI, Supabase, Perplexity)Chỉ OpenAI
Quản lý embeddingsThủ côngTự động

Lợi ích thực tế

Tiết kiệm chi phí và thời gian

Bạn không còn phải trả phí hàng tháng cho nhiều dịch vụ rời rạc (Vector DB, Perplexity API). Mọi thứ được tính hợp vào chi phí sử dụng API của OpenAI.

Độ tin cậy cao

Agent “tự biết” khi nào dùng công cụ nào. Khi cần thông tin từ tài liệu nội bộ, nó dùng File Search. Khi cần thông tin thời gian thực, nó tự động chuyển sang Web Search.

Dễ dàng bảo trì

Cập nhật tài liệu chỉ cần vào OpenAI Dashboard, xóa file cũ và upload file mới. Không cần chạy lại pipeline embedding hay update database.


Việc xây dựng RAG Agent với n8n và OpenAI chưa bao giờ dễ dàng đến thế. Với workflow mẫu đính kèm, bạn có thể thấy rõ sự khác biệt giữa cách làm cũ (nhiều node, nhiều API) và cách làm mới (node OpenAI Combined duy nhất với cả File Search và Web Search).

Nếu bạn đang phát triển các ứng dụng AI cho doanh nghiệp, hãy thử ngay cách tiếp cận Combined này. Nó không chỉ giúp bạn đi nhanh hơn gấp 10 lần mà còn tạo ra những sản phẩm ổn định và dễ bảo trì hơn.

Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)
Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Next Article:

0 %