MinAI - Về trang chủ
Lý thuyết
4/1335 phút
Đang tải...

Vector Databases

Tìm hiểu Vector Databases - Pinecone, Supabase, Qdrant cho RAG

🗄️ Vector Databases

0

🎯 Mục tiêu bài học

TB5 min

Sau bài học này, bạn sẽ:

✅ Hiểu Vector Database là gì và vai trò trong RAG

✅ So sánh các Vector DB phổ biến: Pinecone, Supabase, Qdrant, ChromaDB

✅ Biết cách setup Pinecone, Supabase pgvector, và Qdrant

✅ Nắm cách sử dụng Embeddings nodes trong n8n

✅ Thực hành index documents và similarity search

Vector databases lưu trữ embeddings và cho phép similarity search — trái tim của mọi RAG system.

1

🔍 Vector DB là gì?

TB5 min
Diagram
Đang vẽ diagram...

Checkpoint

Vector Database lưu trữ gì và cho phép thao tác gì? Mô tả flow từ text đến search results.

2

📊 So sánh Vector Databases

TB5 min
FeaturePineconeSupabaseQdrantChroma
HostingCloudCloud/SelfCloud/SelfSelf
Free tier100K vectors500MB1GBUnlimited
n8n supportNativeNativeNativeCommunity
SetupEasyEasyMediumEasy
Best forProductionFull-stackAdvancedLocal dev

Checkpoint

So sánh Pinecone, Supabase, Qdrant, ChromaDB về hosting, free tier, và best use case.

3

🌲 Pinecone Setup

TB5 min

Step 1: Create Index

  1. Đăng ký tại pinecone.io
  2. Create new index
  3. Dimension: 1536 (for OpenAI embeddings)
  4. Metric: cosine
  5. Copy API key

Step 2: n8n Credential

  1. n8n Settings, Credentials
  2. Add "Pinecone" credential
  3. Paste API key
  4. Test connection

Step 3: Index Documents

Diagram
Đang vẽ diagram...
JavaScript
1// Workflow: Index documents to Pinecone
2// Node 1: Read documents (Google Drive, HTTP, File)
3// Node 2: Text Splitter (Recursive Character)
4// Node 3: Embeddings (OpenAI)
5// Node 4: Pinecone Vector Store (Insert)
6
7// Pinecone node configuration:
8// - Operation: Upsert
9// - Index: your-index-name
10// - Namespace: "documents"

Checkpoint

Liệt kê 3 bước setup Pinecone trong n8n. Dimension và metric cần chọn cho OpenAI embeddings là gì?

4

🗄️ Supabase Vector Store

TB5 min

Setup pgvector

SQL
1-- Enable pgvector extension
2create extension if not exists vector;
3
4-- Create documents table
5create table documents (
6 id bigserial primary key,
7 content text,
8 metadata jsonb,
9 embedding vector(1536)
10);
11
12-- Create similarity search function
13create or replace function match_documents (
14 query_embedding vector(1536),
15 match_threshold float,
16 match_count int
17)
18returns table (
19 id bigint,
20 content text,
21 metadata jsonb,
22 similarity float
23)
24language sql stable
25as $$
26 select
27 documents.id,
28 documents.content,
29 documents.metadata,
30 1 - (documents.embedding <=> query_embedding) as similarity
31 from documents
32 where 1 - (documents.embedding <=> query_embedding) > match_threshold
33 order by similarity desc
34 limit match_count;
35$$;

n8n Integration

JavaScript
1// Supabase Vector Store node in n8n
2// Operation: Insert Documents
3// Table: documents
4// Content Column: content
5// Embedding Column: embedding
6// Metadata Columns: metadata

Checkpoint

Cần tạo những gì trong Supabase để setup pgvector? (extension, table, function)

5

⚙️ Qdrant Setup

TB5 min
JavaScript
1// Docker compose for Qdrant
2// docker-compose.yml:
3// services:
4// qdrant:
5// image: qdrant/qdrant
6// ports:
7// - "6333:6333"
8// volumes:
9// - qdrant_data:/qdrant/storage
10
11// n8n Qdrant credential:
12// - URL: http://localhost:6333
13// - API Key: (optional for local)
14
15// Create collection via HTTP Request node:
16const createCollection = {
17 url: "http://qdrant:6333/collections/my-docs",
18 method: "PUT",
19 body: {
20 vectors: {
21 size: 1536,
22 distance: "Cosine"
23 }
24 }
25};

Checkpoint

Mô tả cách deploy Qdrant với Docker và kết nối từ n8n.

6

🧬 Embeddings trong n8n

TB5 min
Diagram
Đang vẽ diagram...
ModelDimensionsCost per 1M tokensQuality
text-embedding-3-small1536$0.02Good
text-embedding-3-large3072$0.13Best
Cohere embed-v31024$0.10Good
Recommendation

Dùng text-embedding-3-small cho hầu hết use cases. Chi phí thấp, chất lượng tốt. Chỉ upgrade lên large khi cần precision cao.

Checkpoint

So sánh text-embedding-3-small và text-embedding-3-large. Khi nào nên upgrade lên large?

7

📝 Bài tập thực hành

TB5 min
Exercises
  1. Setup Pinecone free tier, tạo index, connect từ n8n
  2. Hoặc setup Supabase pgvector, tạo table và function
  3. Index 5-10 sample documents
  4. Test similarity search với vài queries

Checkpoint

Bạn cần hoàn thành những exercises nào trong bài này?

🚀 Bài tiếp theo

n8n Vector Store Nodes → — Hướng dẫn chi tiết sử dụng Vector Store nodes trong n8n.