N8N Hybrid RAG Chatbot with Multi-Agent System Architecture

Was ₫5,000,000 Now ₫250,000
Sale

Template này là một phần nằm trong khoá học “Advanced RAG Chatbot”. Nếu bạn đã mua khoá học thì bạn sẽ được cung cấp template này kèm hướng dẫn videeo chi tiết cách cài đặt và sử dụng.

Template này tạo ra một hybrid RAG (Retrieval-Augmented Generation) chatbot mạnh mẽ, và đa agent, có khả năng xử lý các truy vấn đa dạng của người dùng bằng cách định tuyến chúng đến một “Supervisor AI agent”. Supervisor agent này sau đó sẽ gửi yêu cầu đến các “Expert AI agents”, là những agent chuyên về các lĩnh vực cụ thể. Ngoài ra, hệ thống này còn tự động hóa việc thu thập dữ liệu từ nhiều nguồn khác nhau (bao gồm trang web và Google Drive), xử lý và lưu trữ thông tin trong cơ sở dữ liệu vector, đồng thời tương tác với người dùng qua Telegram bằng nhiều ngôn ngữ.

Hybrid RAG Chatbot với kiến trúc Multi-Agents

Template này là một phần nằm trong khoá học “Advanced RAG Chatbot”. Nếu bạn đã mua khoá học thì bạn sẽ được cung cấp template này kèm hướng dẫn videeo chi tiết cách cài đặt và sử dụng.

Template này tạo ra một chatbot RAG (Retrieval-Augmented Generation) lai, mạnh mẽ, và đa agent, có khả năng xử lý các truy vấn đa dạng của người dùng bằng cách định tuyến chúng đến một “Supervisor AI agent”. Supervisor agent này sau đó sẽ gửi yêu cầu đến các “Expert AI agents”, là những agent chuyên về các lĩnh vực cụ thể. Ngoài ra, hệ thống này còn tự động hóa việc thu thập dữ liệu từ nhiều nguồn khác nhau (bao gồm trang web và Google Drive), xử lý và lưu trữ thông tin trong cơ sở dữ liệu vector, đồng thời tương tác với người dùng qua Telegram bằng nhiều ngôn ngữ.

Dành cho ai?

Template này lý tưởng cho:

  • Lập trình viên và Doanh nghiệp muốn xây dựng một chatbot mạnh mẽ dựa trên kiến thức để hỗ trợ khách hàng, quản lý kiến thức nội bộ hoặc tạo khách hàng tiềm năng.
  • Những người đam mê AI muốn khám phá các khái niệm nâng cao như hệ thống đa agent, RAG và các quy trình dữ liệu tự động.
  • Người dùng n8n muốn xây dựng một giải pháp AI có khả năng mở rộng và tùy chỉnh, tích hợp nhiều dịch vụ.

Các tính năng chính

  • Kiến trúc Đa Agent: Sử dụng một agent giám sát để định tuyến các truy vấn đến các agent chuyên biệt cho các lĩnh vực khác nhau (ví dụ: Sản phẩm, Tin tức, Học viện).
  • Thu thập Dữ liệu Tự động: Tự động lấy dữ liệu từ các trang web và đồng bộ hóa các tệp mới hoặc được cập nhật từ Google Drive.
  • Retrieval-Augmented Generation (RAG): Làm giàu kiến thức của chatbot bằng cách truy xuất thông tin liên quan từ kho vector Supabase và cơ sở dữ liệu Postgres.
  • Tích hợp Telegram: Cung cấp giao diện trò chuyện đa ngôn ngữ, liền mạch để người dùng tương tác với bot.
  • Xử lý Dữ liệu Động: Tự động xử lý và nhúng dữ liệu từ nhiều nguồn khác nhau như Google Docs, PDF và tài liệu Word.
  • Quản lý Dữ liệu: Giữ cho cơ sở kiến thức luôn được cập nhật bằng cách tự động xử lý việc tạo, cập nhật và xóa tài liệu.

Cách hoạt động

Workflow được chia thành ba phần chính: thu thập dữ liệu, quản lý dữ liệu và giao diện trò chuyện.

  1. Thu thập & Xử lý Dữ liệu:
    • Lấy dữ liệu web: Workflow tìm nạp các URL từ một Google Sheet, lấy nội dung bằng Crawl4ai, làm sạch nó bằng một AI agent và lưu vào Google Doc.
    • Đồng bộ hóa Google Drive: Giám sát các thư mục cụ thể trên Google Drive để tìm các tệp mới hoặc được cập nhật (Google Docs, PDF, tài liệu Word).
    • Nhúng & Lưu trữ: Nội dung từ các nguồn này sau đó được chia nhỏ, chuyển đổi thành các vector nhúng bằng OpenAI và được lưu trữ trong cơ sở dữ liệu vector Supabase để truy xuất hiệu quả.
  2. Xóa Dữ liệu:
    • Một trình kích hoạt theo lịch trình sẽ định kỳ kiểm tra một Google Sheet để tìm các bản ghi được đánh dấu là “đã xóa”.
    • Sau đó, nó sẽ xóa dữ liệu tương ứng khỏi kho vector Supabase và xóa tệp khỏi Google Drive để đảm bảo kiến thức của chatbot luôn được cập nhật.
  3. Giao diện & Logic Trò chuyện (Telegram):
    • Đầu vào của người dùng: Chatbot nhận tin nhắn của người dùng qua một trình kích hoạt Telegram.
    • Phát hiện Ngôn ngữ: Đầu tiên, nó phát hiện ngôn ngữ của truy vấn và dịch sang tiếng Anh nếu cần.
    • Agent Giám sát: Một AI agent trung tâm có tên “Supervisor” sẽ phân tích truy vấn của người dùng.
    • Định tuyến Agent: Dựa trên truy vấn, Supervisor sẽ ủy quyền nhiệm vụ cho AI agent chuyên biệt phù hợp nhất:
      • News AI Agent: Xử lý các câu hỏi về sự kiện thời sự.
      • Product AI Agent: Trả lời các truy vấn về chi tiết sản phẩm từ cơ sở dữ liệu Postgres.
      • Academy AI Agent: Phản hồi các câu hỏi về khóa học và nội dung giáo dục.
    • Tạo Phản hồi: Agent được chọn sẽ xử lý truy vấn, truy xuất thông tin cần thiết bằng RAG, tạo phản hồi và dịch lại sang ngôn ngữ gốc của người dùng trước khi gửi qua Telegram.

Yêu cầu

Để sử dụng template này, bạn sẽ cần tài khoản và thông tin xác thực cho các dịch vụ sau:

  • n8n
  • OpenAI
  • Supabase (để lưu trữ vector)
  • Google Workspace (Google Drive, Google Sheets, Google Docs)
  • Telegram Bot
  • Cơ sở dữ liệu Postgres
  • Crawl4AI

Hướng dẫn Cài đặt từng bước

  1. Cấu hình Thông tin xác thực: Thêm khóa API và thông tin xác thực của bạn cho tất cả các dịch vụ được yêu cầu (OpenAI, Supabase, Google, Telegram, Postgres) trong mục Credentials của n8n.
  2. Thiết lập Google Drive: Tạo hai thư mục trong Google Drive của bạn: một cho các tài liệu được lấy từ trang web và một thư mục khác để tải lên tài liệu thủ công. Ghi lại ID của các thư mục này.
  3. Thiết lập Google Sheets:
    • Sao chép template Google Sheet hoặc tạo một Google Sheet mới với hai trang tính: Website Links và Manual Documents.
    • Trong trang tính Website Links, thêm các cột cho Link, Category Code, Is Scraped, và Is Deleted.
    • Trong trang tính Manual Documents, thêm các cột cho Document ID, Title, Category Code, và Is Deleted.
  4. Thiết lập Supabase:
    • Tạo một dự án mới trong Supabase.
    • Chạy tập lệnh SQL 1 được cung cấp để tạo bảng documents cho việc lưu trữ vector.
  5. Thiết lập Postgres:
    • Thiết lập một cơ sở dữ liệu Postgres (trong Supabase).
    • Chạy tập lệnh SQL 2 được cung cấp để tạo bảng products để lưu trữ chi tiết sản phẩm.
  6. Cấu hình Workflow chính:
    • Mở workflow chính có tên “AIAutomationPro Ultimate RAG Chatbot”.
    • Cập nhật các node Google Drive, Google Sheets, Supabase và Postgres với Folder ID, Sheet Names và tên bảng cụ thể của bạn.
    • Liên kết ba sub-workflow (News AI Agent, Product AI Agent, Academy AI Agent) trong các node Workflow Tool tương ứng.
  7. Kích hoạt Workflows: Kích hoạt workflow chính và cả ba sub-workflow.
  8. Bắt đầu Trò chuyện: Gửi tin nhắn đến Telegram bot của bạn để bắt đầu tương tác với chatbot RAG mới của mình.

Cách tùy chỉnh Workflow

  • Thêm nhiều Agent hơn: Bạn có thể tạo các sub-workflow mới với các agent chuyên biệt cho các chủ đề khác nhau (ví dụ: một “Finance AI Agent”). Chỉ cần thêm một node Workflow Tool mới trong flow chính và cập nhật lời nhắc hệ thống của Supervisor Agent để bao gồm các khả năng của agent mới.
  • Thay đổi Nguồn Dữ liệu: Sửa đổi phần thu thập dữ liệu của workflow để lấy dữ liệu từ các nguồn khác như Notion, HubSpot hoặc CRM bằng cách thêm các node n8n liên quan.
  • Thay đổi Mô hình AI: Bạn có thể chuyển sang một LLM khác bằng cách thay thế các node OpenAI Chat Model.
  • Sửa đổi Prompt: Tinh chỉnh các lời nhắc hệ thống trong các node Agent để thay đổi tính cách, hướng dẫn hoặc định dạng đầu ra của chatbot và các agent chuyên biệt của nó.

SQL Script 1: tạo bảng documents cho việc lưu trữ vector.

-- Enable the pgvector extension to work with embedding vectors
create extension vector;

-- Create a table to store your documents
create table documents (
  id bigserial primary key,
  content text, -- corresponds to Document.pageContent
  metadata jsonb, -- corresponds to Document.metadata
  embedding vector(1536) -- 1536 works for OpenAI embeddings, change if needed
);

-- Create a function to search for documents
create function match_documents (
  query_embedding vector(1536),
  match_count int default null,
  filter jsonb DEFAULT '{}'
) returns table (
  id bigint,
  content text,
  metadata jsonb,
  similarity float
)
language plpgsql
as $$
#variable_conflict use_column
begin
  return query
  select
    id,
    content,
    metadata,
    1 - (documents.embedding <=> query_embedding) as similarity
  from documents
  where metadata @> filter
  order by documents.embedding <=> query_embedding
  limit match_count;
end;
$$;

SQL script 2: tạo bảng products để lưu trữ chi tiết sản phẩm.

create table public.products (
  id bigint generated by default as identity not null,
  created_at timestamp with time zone not null default now(),
  name character varying null,
  type character varying null,
  sku character varying null,
  price real null,
  description text null,
  constraint products_pkey primary key (id)
) TABLESPACE pg_default;