สร้างระบบ RAG ด้วย n8n: AI ตอบจากข้อมูลของคุณ
วิธีสร้างระบบ RAG (Retrieval-Augmented Generation) ด้วย n8n ให้ AI ตอบจากเอกสาร ฐานข้อมูล หรือ knowledge base ของคุณ
ปัญหาใหญ่ที่สุดของ AI Chatbot คือ “มันไม่รู้เรื่องของเรา” ChatGPT ตอบได้ดีเรื่องทั่วไป แต่ถามเรื่อง manual ของบริษัท นโยบายภายใน หรือ catalog สินค้าเฉพาะของคุณ มันจะตอบผิดหรือบอกว่าไม่รู้
RAG (Retrieval-Augmented Generation) แก้ปัญหานี้ได้ โดยให้ AI ค้นหาข้อมูลที่เกี่ยวข้องก่อนตอบ เหมือนเปิดหนังสือก่อนทำข้อสอบ แทนที่จะตอบจากความจำล้วนๆ
RAG ทำงานอย่างไร
กระบวนการ RAG แบ่งเป็น 2 phase:
Phase 1: Indexing (ทำครั้งเดียว)
- โหลดเอกสาร (PDF, Word, CSV, เว็บไซต์ ฯลฯ)
- แบ่งเอกสารเป็น chunk เล็กๆ
- แปลงแต่ละ chunk เป็น Vector (ตัวเลขที่แทนความหมาย) ด้วย Embedding Model
- บันทึก Vector ลง Vector Database
Phase 2: Retrieval + Generation (ทุกครั้งที่มีคำถาม)
- แปลงคำถามเป็น Vector
- ค้นหา Vector ที่คล้ายกันมากที่สุดใน Database (Similarity Search)
- นำ chunk ที่ค้นพบมาใส่ใน context ของ AI
- AI ตอบโดยอิงจาก context นั้น
สิ่งที่ต้องเตรียม
- n8n ที่ติดตั้งแล้ว
- OpenAI API Key (สำหรับ Embedding และ LLM)
- Vector Database — แนะนำ Supabase (มี free tier) หรือ Qdrant (self-host ได้)
- เอกสารที่ต้องการให้ AI รู้
ขั้นตอนที่ 1: ตั้งค่า Vector Database
สำหรับผู้เริ่มต้น แนะนำ Supabase เพราะมี free tier และตั้งค่าง่าย
ไปที่ supabase.com สร้างโปรเจคใหม่ ใน SQL Editor รัน:
CREATE EXTENSION vector;
CREATE TABLE documents (
id bigserial PRIMARY KEY,
content text,
metadata jsonb,
embedding vector(1536)
);
CREATE INDEX ON documents USING ivfflat (embedding vector_cosine_ops);
Copy URL และ anon key จาก Project Settings → API
ใน n8n ไปที่ Credentials สร้าง Supabase Credentials ใส่ URL และ API Key
ขั้นตอนที่ 2: สร้าง Indexing Workflow
Workflow นี้ทำหน้าที่ “ป้อนข้อมูล” เข้า Vector Database
ลำดับ Node:
- Manual Trigger หรือ Schedule Trigger (ถ้าต้องการอัปเดตอัตโนมัติ)
- Read Binary File หรือ HTTP Request — โหลดเอกสาร
- Default Data Loader — แปลงเอกสารเป็น text chunk (ตั้ง chunk size ที่ 500-1000 ตัวอักษร)
- Embeddings OpenAI Node — แปลง chunk เป็น Vector
- Supabase Vector Store Node (Insert mode) — บันทึกลง Database
ทดสอบโดยรัน Workflow แล้วดูว่า Supabase table มีข้อมูลเพิ่มขึ้น
ขั้นตอนที่ 3: สร้าง Query Workflow
Workflow นี้ทำหน้าที่ “ตอบคำถาม”
ลำดับ Node:
- Chat Trigger หรือ Webhook — รับคำถาม
- AI Agent Node — ใช้เป็นตัวประมวลผล
- Chat Model: OpenAI Chat Model (gpt-4o)
- Memory: Window Buffer Memory
- Vector Store Tool — ลาก Supabase Vector Store Node เป็น Tool ให้ AI Agent
ใน Vector Store Tool ตั้ง description ว่า “ค้นหาข้อมูลจาก knowledge base ของบริษัท ใช้เมื่อผู้ใช้ถามเรื่องนโยบาย สินค้า หรือข้อมูลเฉพาะ”
- Respond to Webhook — ส่งคำตอบกลับ
ขั้นตอนที่ 4: ปรับแต่ง Retrieval ให้แม่นขึ้น
ค่า default อาจไม่เหมาะกับทุก use case ลองปรับ:
Similarity Threshold — กรองผลที่ similarity ต่ำกว่า 0.7 ออก ป้องกัน AI ตอบจากข้อมูลที่ไม่เกี่ยวข้อง
Top K — จำนวน chunk ที่ดึงมาใส่ context ค่า default คือ 4 ถ้าเอกสารซับซ้อนอาจเพิ่มเป็น 6-8 แต่ระวัง context window ของ LLM
Chunk Size — ถ้าคำตอบมักตัดกลางเรื่อง ให้ลด chunk overlap ลงและเพิ่ม chunk size
ขั้นตอนที่ 5: รองรับหลาย Document Type
n8n รองรับ Document Loader หลายประเภท:
| ประเภทไฟล์ | Node ที่ใช้ |
|---|---|
| Binary Data → PDF Loader | |
| Word (.docx) | Binary Data → Docx Loader |
| CSV | CSV → Text แล้ว chunk เอง |
| เว็บไซต์ | HTTP Request → HTML Extractor → Text |
| Notion | Notion API → Text |
| Google Drive | Google Drive → Binary |
ถ้ามีหลาย source ให้สร้าง Indexing Workflow แยกต่างหากสำหรับแต่ละประเภท แต่บันทึกลง Vector Database เดียวกัน
Use Case จริงสำหรับธุรกิจไทย
HR Chatbot — อัปโหลด handbook, นโยบาย, สัญญาจ้างงาน ให้พนักงานถามได้ตลอดเวลา
Product Catalog Bot — สินค้าหลายพัน SKU ให้ลูกค้าค้นหาด้วยภาษาธรรมชาติ
Legal Document Q&A — สัญญา, เงื่อนไข, ข้อกฎหมาย ให้ทีมค้นหาได้รวดเร็ว
Support Knowledge Base — ดึง FAQ และ ticket เก่ามาให้ AI ตอบคำถาม support ได้อัตโนมัติ
ความแตกต่างระหว่าง RAG กับ Fine-tuning
หลายคนสงสัยว่าทำไมไม่ Fine-tune Model แทน RAG ตอบสั้นๆ ว่า:
- RAG — ข้อมูลอัปเดตได้ทันที ไม่ต้อง retrain ราคาถูก เหมาะกับข้อมูลที่เปลี่ยนบ่อย
- Fine-tuning — Model เรียนรู้ style การตอบ ดีกว่าสำหรับ tone และ format แต่ราคาแพงและ update ยาก
สำหรับธุรกิจส่วนใหญ่ RAG เพียงพอและคุ้มกว่ามาก
ถ้าต้องการเลือก Vector Database สำหรับ Production ดูเพิ่มเติมที่ เชื่อมต่อ Vector Database กับ n8n
อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co
Related posts
สร้าง AI Agent ด้วย n8n: ให้ AI ทำงานแทนคุณ
วิธีสร้าง AI Agent ใน n8n ที่วางแผนและใช้ Tools เองได้ ตั้งแต่ตั้งค่าจนถึง Agent หลายขั้นตอนขั้นสูง
เชื่อมต่อ Vector Database กับ n8n: Pinecone, Qdrant, Supabase
เปรียบเทียบและวิธีเชื่อมต่อ Vector Database กับ n8n ครบทุกตัว ทั้ง Pinecone, Qdrant, Supabase pgvector และ Chroma
n8n Advanced: 10 เทคนิคขั้นสูงสำหรับมืออาชีพ
รวม 10 เทคนิค n8n ขั้นสูงที่มืออาชีพใช้จริง ตั้งแต่ Error Handling, Sub-Workflow, Code Node ไปจนถึง API Pagination