n8n Thai
by n8n Thai

เชื่อมต่อ Vector Database กับ n8n: Pinecone, Qdrant, Supabase

เปรียบเทียบและวิธีเชื่อมต่อ Vector Database กับ n8n ครบทุกตัว ทั้ง Pinecone, Qdrant, Supabase pgvector และ Chroma

เชื่อมต่อ Vector Database กับ n8n: Pinecone, Qdrant, Supabase

Vector Database คือหัวใจของระบบ RAG และ AI ที่ต้องค้นหาข้อมูลจาก knowledge base ขนาดใหญ่ n8n รองรับ Vector Database หลักทุกตัว แต่แต่ละตัวมีจุดเด่นต่างกัน บทความนี้จะช่วยให้เลือกได้ถูกตัวและตั้งค่าได้ถูกต้อง

Vector Database คืออะไรและทำไมถึงต้องใช้

Database ทั่วไป (MySQL, Postgres) ค้นหาแบบ exact match เช่น WHERE name = 'สินค้า A' แต่ถามว่า “สินค้าไหนที่คล้ายกับที่ฉันเพิ่งซื้อ” หรือ “เอกสารไหนเกี่ยวข้องกับคำถามนี้มากที่สุด” ทำไม่ได้

Vector Database แก้ปัญหานี้ด้วย Similarity Search ค้นหาจาก “ความหมาย” ไม่ใช่แค่ตัวอักษรที่ตรงกัน เหมาะกับ:

  • RAG Chatbot
  • Product Recommendation
  • Image Search
  • Semantic Document Search

เปรียบเทียบ Vector Database ที่ n8n รองรับ

DatabaseHostingFree TierEase of SetupPerformanceเหมาะกับ
Supabase pgvectorCloud/Self-host500MB ฟรีง่ายมากดีเริ่มต้น, Production กลาง
QdrantCloud/Self-host1GB ฟรีปานกลางดีมากProduction, Self-host
PineconeCloud only2GB ฟรีง่ายมากดีมากEnterprise, Managed
ChromaSelf-hostฟรีทั้งหมดง่ายดีDev/Test, Local
WeaviateCloud/Self-hostมีซับซ้อนดีมากEnterprise
PGVector (standalone)Self-hostฟรีปานกลางดีใช้ Postgres อยู่แล้ว

Supabase pgvector: เริ่มต้นง่ายที่สุด

Supabase เหมาะที่สุดสำหรับคนที่เพิ่งเริ่ม เพราะตั้งค่าผ่าน Web UI ได้ และมี free tier ที่ใช้งานได้จริง

วิธีตั้งค่า:

  1. ไปที่ supabase.com สร้างโปรเจคใหม่
  2. ใน SQL Editor รัน CREATE EXTENSION vector;
  3. สร้าง table สำหรับเก็บ vector ตาม schema ที่ n8n ต้องการ
  4. Copy Project URL และ anon key จาก Settings → API
  5. ใน n8n สร้าง Supabase Credentials

ใน Workflow ลาก Supabase Vector Store Node เลือก Credentials ตั้งค่า Table Name และ Query Name

ข้อจำกัด: Supabase ไม่ได้ optimize มาสำหรับ Vector Search โดยเฉพาะ ถ้า dataset ใหญ่มากและต้องการ speed สูง ควรพิจารณา Qdrant หรือ Pinecone

Qdrant: Self-host ที่ดีที่สุด

Qdrant เป็น Vector Database ที่สร้างมาเพื่อ Vector Search โดยเฉพาะ performance ดีมาก และ self-host ได้บน Docker

ติดตั้ง Qdrant ด้วย Docker:

docker run -p 6333:6333 -p 6334:6334 \
  -v $(pwd)/qdrant_storage:/qdrant/storage \
  qdrant/qdrant

เข้าถึง dashboard ที่ http://localhost:6333/dashboard

ตั้งค่าใน n8n: สร้าง Qdrant Credentials ใส่ URL (http://localhost:6333) และ API Key (ถ้าตั้งไว้)

ลาก Qdrant Vector Store Node ตั้งชื่อ Collection และ Vector Dimension (ต้องตรงกับ Embedding Model ที่ใช้ เช่น OpenAI ada-002 ใช้ 1536 dimensions)

จุดเด่น: Filtering ที่ทรงพลัง ค้นหาแบบ hybrid (vector + keyword) ได้ และ performance ดีที่สุดในกลุ่ม

Pinecone: Managed ที่ไม่ต้องดูแล Server

Pinecone เหมาะกับทีมที่ไม่ต้องการดูแล infrastructure เอง ตั้งค่าง่าย scale ได้อัตโนมัติ

ตั้งค่า Pinecone:

  1. ไปที่ pinecone.io สร้างบัญชี
  2. สร้าง Index ใหม่ กำหนด Dimensions และ Metric (cosine สำหรับ text)
  3. Copy API Key จาก dashboard
  4. ใน n8n สร้าง Pinecone Credentials

ใช้ใน Workflow: ลาก Pinecone Vector Store Node ตั้งค่า Index Name และ Namespace (ถ้าต้องการแยก collection)

ข้อจำกัด: ราคาสูงเมื่อ scale ขึ้น ข้อมูลอยู่บน Pinecone cloud ไม่เหมาะถ้าต้องการ data sovereignty

Chroma: สำหรับ Dev และ Local Testing

Chroma เหมาะกับการทดสอบในเครื่อง local ก่อน deploy จริง ติดตั้งง่ายมาก

pip install chromadb
chroma run --path ./chroma_data

ใน n8n ลาก Chroma Vector Store Node ใส่ URL http://localhost:8000

ข้อควรระวัง: Chroma ไม่เหมาะสำหรับ Production ที่ต้องการ high availability เนื่องจากยังไม่มี built-in replication

เลือก Embedding Model ให้เหมาะกับภาษาไทย

Vector ที่ดีต้องมาจาก Embedding Model ที่รู้จักภาษาไทย ตัวเลือกที่แนะนำ:

OpenAI text-embedding-3-small — ราคาถูก รองรับหลายภาษารวมถึงไทย เหมาะกับงานทั่วไป (1536 dimensions)

OpenAI text-embedding-3-large — แม่นกว่า large แต่ราคาสูงกว่า เหมาะกับงานที่ต้องการ accuracy สูง

Multilingual-e5-large — Open source รัน local ได้ ผ่าน Ollama รองรับภาษาไทยได้ดี

ใน n8n เพิ่ม Embeddings OpenAI Node หรือ Embeddings Ollama Node แล้วเชื่อมกับ Vector Store Node

Best Practices สำหรับ Production

Chunking Strategy — ทดสอบ chunk size ต่างๆ งาน Q&A มักทำงานได้ดีกับ chunk 300-500 characters งาน summarization อาจต้องการ chunk ใหญ่กว่า

Metadata Filtering — เก็บ metadata ไว้กับทุก vector เช่น source, date, category ทำให้ filter ก่อน search ได้ ลด noise ในผลลัพธ์

Re-ranking — หลัง retrieval ลองใช้ cross-encoder re-rank ผลลัพธ์ก่อนส่งให้ LLM ได้ผลแม่นขึ้นมาก

Regular Re-indexing — ถ้าข้อมูลอัปเดตบ่อย ต้องสร้าง Workflow สำหรับ incremental indexing ไม่ใช่ index ใหม่ทั้งหมดทุกครั้ง

สำหรับวิธีสร้าง RAG Workflow แบบ end-to-end ดูที่ สร้างระบบ RAG ด้วย n8n

อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co

Related posts