Qdrant:用 Rust 写的向量数据库,32k Star
文章目录Qdrant用 Rust 写的向量数据库32k StarQdrant用 Rust 写的向量数据库32k StarQdrant 是一个向量相似度搜索引擎也是一个向量数据库。它用 Rust 编写目前在 GitHub 上有 32k 的 Star。Qdrant 的定位很明确为 AI 应用提供向量搜索能力。你可以把 embeddings 或神经网络编码器的输出存进去然后做匹配、搜索、推荐这些事。它提供了一个生产级的服务带 REST 和 gRPC 接口支持存储、搜索和管理带有附加 payload 的向量点。核心能力Qdrant 支持三种向量搜索稠密向量用于语义相似度稀疏向量用于全文搜索多向量用于一个对象有多个 embedding 的场景比如 ColBERT 这类晚期交互模型。过滤能力是它的一个重点。你可以给向量附加任意 JSON payload然后用关键词匹配、全文搜索、数值范围、地理位置等条件组合过滤支持 must、should、must_not 逻辑。混合搜索把语义理解和关键词精度结合到一个查询里结果通过可配置的融合策略合并比如 Reciprocal Rank Fusion 和 Distribution-Based Score Fusion。内置量化可以把内存占用降低最多 97%在搜索速度和精度之间做权衡。分布式部署支持分片和副本可以在不停机的情况下更新或调整集合规模。其他特性还包括分面聚合、基于正负样本的推荐、向量空间区域约束发现、Maximal Marginal Relevance 搜索调优、多租户分区、可观测性指标和审计日志、payload 索引优化查询计划、SIMD 硬件加速、GPU 索引加速、异步 I/O、写前日志保障数据持久化。客户端与部署官方提供了 Go、Rust、JavaScript/TypeScript、Python、.NET/C#、Java 客户端库社区有 PHP 版本。最简单的启动方式是 Dockerdockerrun-p6333:6333 qdrant/qdrantPython 连接示例fromqdrant_clientimportQdrantClient clientQdrantClient(urlhttp://localhost:6333)Qdrant 还有一个 Edge 版本是面向边缘设备和资源受限环境的轻量方案。它跑在应用进程内数据本地存储和查询可以和 Qdrant Server 同步。适合需要低延迟和离线功能的场景。适用场景Qdrant 适合需要向量搜索的 AI 应用语义文本搜索、相似图片推荐、电商商品分类等。它的 demo 项目里有这些场景的在线体验。Qdrant Cloud 提供托管服务包含免费额度。demo 项目里有这些场景的在线体验。Qdrant Cloud 提供托管服务包含免费额度。