vectordb 的未来过滤能力、更多 ANN 算法与 Serverless 路线图功能全景一览【免费下载链接】vectordbA Python vector database you just need - no more, no less.项目地址: https://gitcode.com/gh_mirrors/vect/vectordbvectordb 是一款够用就好的 Python 向量数据库A Python vector database you just need - no more, no less内置精确搜索与 HNSW 两种 ANN 近似最近邻算法支持完整的增删改查CRUD、本地运行、作为 gRPC/HTTP 服务部署以及一键上云。这篇文章带你完整了解它的功能现状以及即将发布的过滤能力、更多 ANN 算法和 Serverless 扩展路线图。一、vectordb 是什么一款极简的 Python 向量数据库向量数据库Vector Database是存放文本、图片等嵌入向量的仓库擅长按语义相似度检索是大模型 RAG、以图搜图等应用的核心组件。vectordb的设计哲学可以用官方一句话概括你刚好需要它——不多也不少Pythonic 体验用 DocArray 的 dataclass 语法定义文档 Schema几行代码就能定义一个带embedding字段的文档类型两种内置 ANN 算法InMemoryExactNNVectorDB精确暴力搜索和HNSWVectorDB基于 HNSW 近似搜索源码分别位于 vectordb/db/inmemory_exact_vectordb.py 和 vectordb/db/hnsw_vectordb.py完整 CRUDindex、search、update、delete四大操作本地库与远程客户端共用同一套 API见 vectordb/db/base.py 中的VectorDB基类☁️三种部署方式本地进程内使用、本地 serve 成服务、一键部署到云端二、当前功能全景两种 ANN 算法怎么选两种数据库对应不同规模与精度需求核心差异一览数据库类型搜索方式适用场景关键配置InMemoryExactNNVectorDB全量精确搜索Exact NN中小规模、要求 100% 准确workspace持久化路径HNSWVectorDBHNSW 图索引近似搜索大规模数据、追求高查询速度spacel2/ip/cosine、M、ef、ef_construction等 小贴士HNSW 的ef控制查询速度 vs 精度的权衡M控制图的最大出边数调参时参考 HNSW 索引器实现中的默认值ef10、M16起步即可。两种数据库都遵循Schema 泛型写法——把文档类型通过[]传进去例如HNSWVectorDB[MyDoc]底层会由 vectordb/db/executors/typed_executor.py 自动生成对应类型的执行器。完整可运行的最小示例见 example.py定义一个 128 维MyDoc建索引后对查询批量搜索。三、路线图前瞻三大升级方向详解官方 README.md 的 Roadmap 板块透露了接下来的演进方向以下三项最值得新手关注1. 增强的过滤能力Filtering在 ANN 搜索之上加筛选条件目前vectordb的搜索是纯相似度检索。未来将支持在 ANN 搜索之上叠加过滤条件比如只在我收藏的文档里搜相似图片只检索 2024 年后的记录。这对真实业务非常关键——生产环境中先过滤元数据、再算相似度几乎是刚需。等该功能启用后官方会把它加进 Features 列表README 中已预留了占位说明。2. 更多 ANN 算法不止 InMemory 和 HNSW官方目标是支持更宽的 ANN 搜索算法谱系。目前InMemoryExactNNVectorDB与HNSWVectorDB是起步组合后续还会有新的向量索引实现加入让你可以在精度、速度、内存占用之间按需挑选而不必更换整个数据库框架。3. Serverless 扩展从 0~1 到 0~N 副本这是路线图中最具想象空间的一项现状云端部署已支持 serverless 模式副本可在0 到 1之间自动伸缩——没请求时缩到 0省成本部署配置见 vectordb/db/base.py 中deploy()的autoscale参数目标扩展到0 到 N副本既能零闲置又能在流量高峰自动横向扩容配套计划支持在更多云平台部署Expanded Deployment Options不再局限于单一云环境4. 彩蛋方向更强的可定制性官方还希望让 Python 开发者能轻松定制vectordb的搜索行为与输入输出 Schema打造你要的数据库。这与它底层由 DocArray 驱动搜索逻辑、Jina 驱动服务与扩展的架构一脉相承。四、本地 → 服务 → 云端三步部署指南vectordb的部署路径设计得非常顺滑三种模式可以无缝切换1️⃣ 本地使用pip 安装即用pip install vectordb2️⃣ 本地 Serve 成服务gRPC / HTTP / Websocket 三协议本地建好的库可以直接serve出来并支持Shards分片降延迟与Replicas副本提吞吐与可用性多副本间用 RAFT 算法同步索引两个扩展参数。也可以直接用内置 CLIvectordb serve --db example:db实现见 vectordb/main.py。3️⃣ 云端部署一条命令上线把数据库实例写进一个 Python 文件参考 example.py然后执行vectordb deploy --db example:db即可部署到 Jina AI Cloud获得专属访问端点。部署后的实例还可以用jc命令列表、暂停、恢复或删除全程 Serverless 计费。客户端访问统一走 vectordb/client/client.py 的ClientMyDoc与本地库调用方式完全一致——这正是no more, no less的体现。五、总结新手该关注什么一句话总结vectordb用最小的 API 面覆盖了向量数据库的核心能力CRUD ANN 搜索 服务化 上云而路线图瞄准的过滤能力、更多 ANN 算法、0~N Serverless 弹性恰好补齐了它走向生产环境的关键拼图。给新手的建议数据量小、要求精确 → 先跑InMemoryExactNNVectorDB数据量大、要低延迟 → 换HNSWVectorDB调ef/M需要对外提供服务 →db.serve()三行代码起服务想省运维 → 直接vectordb deploy上云享受 0~1 自动伸缩并关注 0~N 扩容进展如果你有自己的需求或遇到使用问题官方 README 中提供了社区交流渠道欢迎参与共建。【免费下载链接】vectordbA Python vector database you just need - no more, no less.项目地址: https://gitcode.com/gh_mirrors/vect/vectordb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考