用途
本技能面向生产环境的向量数据库运维,用于支撑 AI 驱动的搜索、RAG(检索增强生成)和推荐系统。适用场景包括:为 RAG 或语义搜索应用搭建向量数据库;在 Qdrant、Weaviate、pgvector、Pinecone 之间做选型;管理集合、索引与数据迁移;针对生产负载优化查询性能与索引;实现带命名空间隔离的多租户向量搜索。
向量数据库对比
资料给出的对比维度如下:
- Qdrant:适合高性能、丰富过滤、自托管场景;托管方式为自托管/云;过滤能力优秀;扩展性非常高。
- Weaviate:适合 schema 优先、混合搜索、多模态场景;托管方式为自托管/云;过滤能力良好;扩展性高。
- pgvector:适合已使用 Postgres、简单用例;托管方式为自托管;过滤能力良好;扩展性中等。
- Pinecone:适合零运维托管、无服务器场景;仅托管;过滤能力良好;扩展性非常高。
- Chroma:适合本地开发与原型验证;仅自托管;过滤能力基础;扩展性低到中等。
主要能力
Qdrant 生产部署
提供 Docker 单节点部署命令,支持挂载数据卷与自定义配置文件。配置示例涵盖存储路径、磁盘 payload、请求大小上限、HNSW 索引参数(m、ef_construct、full_scan_threshold)、标量量化(int8、quantile、always_ram)以及关闭遥测。
Qdrant 集合管理
通过 Python 客户端创建优化集合,可配置向量维度、距离度量、向量是否落盘、HNSW 参数与量化配置;可为 tenant_id、created_at 等字段创建 payload 索引以加速过滤;可查询集合信息(向量数量、状态)。
Qdrant 过滤检索
支持带过滤条件的查询,示例展示多租户隔离检索:must 条件匹配 tenant_id 与 doc_type,should 条件按 created_at 范围过滤,并返回 payload。
pgvector
提供启用扩展、创建带向量列的表、创建 HNSW 索引(m、ef_construction)或 IVFFlat 索引(lists)、带元数据过滤的语义搜索 SQL,以及通过 Docker 部署 pgvector 的命令。
Weaviate 部署
提供 docker-compose 配置,包含端口、查询默认上限、API Key 认证、持久化路径、启用 text2vec-openai 与 generative-openai 模块、OpenAI API Key、集群主机名与数据卷。
备份与恢复
Qdrant 支持快照备份、下载快照与恢复;pgvector 使用标准 pg_dump 与 pg_restore 进行备份恢复。
性能调优
Qdrant 可在批量导入后通过 optimizer_config 强制立即索引,并轮询集合状态直至 green。
常见问题
资料列出常见问题及修复:查询慢(HNSW 索引未建好,等待索引完成并检查状态为 green);内存占用高(向量在内存中,启用 on_disk=True);召回差(ef 搜索参数偏低,查询时提高 ef);pgvector 慢(IVFFlat 未 vacuum,执行 VACUUM ANALYZE);Weaviate OOM(对象过多,启用异步索引并增加堆内存)。
使用方式
按资料提供的 Docker 命令、配置文件、Python 客户端代码与 SQL 语句进行部署、建集合、建索引、检索、备份与调优。所有代码与命令保持原样,未做改动。
最佳实践
- 归一化嵌入使用余弦距离,未归一化使用点积。
- 始终在过滤字段(tenant_id、doc_type)上创建 payload 索引。
- 数据集超过 1000 万向量时,使用向量落盘加 always_ram 量化。
- 在选择 IVFFlat 与 HNSW 前,用实际查询模式做基准测试。
- 任何批量删除或迁移操作前先做快照。
相关技能
- rag-infrastructure:完整 RAG 流水线
- databases:通用数据库管理
- postgresql:pgvector 宿主数据库运维
限制
资料未提供具体收费、价格、平台支持范围、性能基准数值或效果承诺,相关内容暂未提供。