向量存的是语义,不是文件
向量数据库存储由文本、图片或记录生成的 Embedding,让系统按语义距离找相似内容。
向量数据库是 RAG、语义搜索、推荐和 AI 知识库背后的检索层。免费层选型不只看原始存储,更要看向量数量、元数据过滤、内存、冷启动和索引重建方式。
向量和业务数据需要放在一起时,用 Supabase pgvector。
检索是独立子系统时,用 Qdrant 或 Pinecone。
不要把向量库当作文件的唯一存储。
向量数据库存储由文本、图片或记录生成的 Embedding,让系统按语义距离找相似内容。
向量库负责找到可能相关的切片,但原始文档和权威元数据仍应放在对象存储或 SQL。
租户 ID、时间、权限、文档类型和语言过滤,经常和相似度一样重要。
HNSW 和混合索引能让查询变快,但免费层很容易撞到内存、存储或冷启动限制。
表格用于查看存储、查询、连接和索引约束。做 RAG 时,还要评估切片、元数据过滤、重建任务和引用质量。
| 提供商 | 免费存储 | 月流量 | 规格 / 算力 | 连接限制 | 关键限制 | 操作 |
|---|---|---|---|---|---|---|
Qdrant CloudRust 原生向量数据库 | 4 GB 存储 | 包含 1 GB 专用内存限制 | 基于 Rust 的高速引擎,支持高级 Payload 过滤机制 | 可扩展性较强的 API 连接池 | 1GB 内存为硬上限;接近极限时会明显掉性能 | 访问官网 ↗ |
Pinecone无服务器向量数据库 | 2 GB 存储 | 每月 100 万读单元 / 200 万写单元 | 支持稠密/稀疏混合索引,Starter 每组织最多 5 个索引 | 无状态 AWS 单区域端点 | 每个向量 Metadata 限制为 40KB;空闲层会有明显冷启动查询延迟 | 访问官网 ↗ |
Supabase(pgvector)Postgres 扩展 | 共享 500 MB | 共享项目出站流量额度 | 可直接在业务表与向量数据之间执行 SQL JOIN | 受主 PostgreSQL 连接限制约束 | 存储与数据库共用;重度 HNSW 索引构建会快速消耗主库内存 | 访问官网 ↗ |
Upstash Vector无服务器边缘向量库 | 10,000 个向量 | 每天 10,000 次查询 + 写入 | 原生 REST HTTP API,适合从 Cloudflare Workers 直接调用 | 无连接 REST 执行池 | 10k 向量上限非常低,更适合边缘轻量场景,不适合大规模 RAG | 访问官网 ↗ |
一千份源文档切片后可能变成几万条向量。免费向量上限消耗速度会比原始文件大小暗示的更快。
多租户应用中,每条向量都应携带租户和权限元数据,避免检索泄漏私有内容。
维度、语言质量、成本和模型升级会影响所有存量向量。后续重建 Embedding 是一次批处理工程。
不要只用演示问题判断向量检索。应建立一小组带预期来源切片和引用的评测集。
元数据字段常有大小限制,也会让索引变重。只有服务商明确适合时,才把切片全文放进去。
RAG 系统需要处理文件删除、文档更新、Embedding 迁移和过期切片的生命周期任务。
向量库优化的是检索,不是事务型业务数据。权威记录应放在 SQL 或文档存储。
没有来源引用,用户无法验证生成答案,你也很难调试错误召回。
租户和权限用 Postgres,Embedding 用 pgvector,源文件放 Storage,导入流程用边缘函数。
PDF 和 Markdown 放对象存储,切片写入 Qdrant,导入状态表放 SQL。
在边缘函数旁放小型向量索引,用于路由、短片段、个性化或语义白名单。
它存储 Embedding,让应用按语义相似度找到文档、商品、工单、图片或切片。常见用途包括 RAG、语义搜索、推荐、去重和聚类。
不需要。如果模型只依赖用户输入和少量结构化数据,SQL 或缓存可能足够。只有需要在大量非结构化文档中检索时,才需要向量检索。
应保存稳定 ID、源文档 ID、切片位置、租户/权限字段、语言、时间戳,以及足以重建引用的元数据。
切片不佳、元数据过滤弱、Embedding 模型不合适、索引过期和缺少重排,都可能返回看似相关但实际无关的切片。