Agent 的「知识仓库」。将文本转化为向量存入数据库,让 AI 能从海量文档中快速检索最相关的信息——这是 RAG 的存储侧核心。
适用场景:快速原型、个人项目
优点
缺点
适用场景:中小型生产项目
优点
缺点
适用场景:大规模生产环境
优点
缺点
适用场景:需要高精度的场景
优点
缺点
适用场景:不想运维的场景
优点
缺点
如果你已经在用 Supabase(已有数据库基础设施),直接开启 pg_vector 扩展即可,无需额外部署。
Step 1:开启扩展
-- 在 Supabase SQL Editor 中执行 CREATE EXTENSION IF NOT EXISTS vector;Step 2:创建向量表
CREATE TABLE documents ( id bigserial PRIMARY KEY, content text NOT NULL, metadata jsonb, embedding vector(1536) -- 1536 维,与 OpenAI text-embedding-3-small 一致 );Step 3:创建向量索引(加速检索)
CREATE INDEX ON documents USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);Step 4:TypeScript 检索示例
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
async function searchDocuments(queryEmbedding: number[]) {
const { data } = await supabase.rpc('match_documents', {
query_embedding: queryEmbedding,
match_threshold: 0.78,
match_count: 5
});
return data;
}| 维度 | 模型 | 特点 |
|---|---|---|
| 1536 | text-embedding-3-small / ada-002 | 性价比最高,存储和计算成本低 |
| 3072 | text-embedding-3-large | 精度最高,适合高精度需求 |
| 1024 | BGE / Cohere | 开源模型常用,中文场景推荐 |
0.7 - 0.85
推荐区间。高相关,结果干净。
< 0.7
过低,噪声多,相关性差。
> 0.85
过高,可能漏掉有价值的结果。
向量检索擅长语义相似,关键词搜索(BM25)擅长精确匹配。两者结合效果最好: