SuperAPI AI 工具集

zvec

数据与分析

查看项目

更新于 10-15 22:38

技能介绍

用途:Zvec 是一个轻量级、进程内(in-process)向量数据库,用于直接嵌入应用程序中,而不是以客户端/服务器模式部署,被类比为“面向向量的 SQLite”。适合需要在应用内完成向量存储与检索的场景。

主要能力:支持集合(collections)的创建与管理、索引与量化(含 HNSW、DiskANN、IVF、HNSW-RaBitQ 等)、嵌入与重排流水线、CRUD 与检索操作、配置与持久化、全文检索(FTS)、混合检索(MultiQuery 组合稠密向量、稀疏向量、标量过滤与文本)、分组检索(group-by,返回每组 top-K)等。提供 C++、C、Python 绑定,以及 Go、Rust、Dart/Flutter SDK 和 Zvec Studio(pip install zvec-studio)。

必要用法:可在启动时通过 zvec.init(...) 配置全局项(日志、query_threads);用 create_and_open(path=..., schema=..., option=...) 在磁盘创建集合并打开;通过 insert() 或 upsert() 写入 Doc(id=..., fields=..., vectors=...);用 collection.query(vectors=VectorQuery(...), topk=...) 查询;大量写入后定期调用 collection.optimize()。批量写入建议使用批量 insert()/upsert(),并通过 collection.stats 监控、在 flat 缓冲增长时执行 optimize()。向量与过滤可同时传入;多向量融合可传多个 VectorQuery 并用 WeightedReRanker 或 RRF 重排。

限制与注意事项:Zvec 是进程内数据库,不应假设为客户端/服务器模型;HNSW-RaBitQ 当前文档限定在 x86_64 且具备 AVX2 或更高指令集的硬件上使用;标量索引可通过 create_index()/drop_index() 管理,但向量索引无法删除。0.7.0 起 C++ API 改为 snake_case(破坏性变更),C 与 Python API 名称不变;具体迁移说明见 references/data-operations.md。

版本要点:0.5.0 引入全文检索、混合检索与 DiskANN;0.5.1 加入外部向量源与零拷贝查询路径;0.6.0 引入可插拔 Turbo 量化器、INT8/INT4 随机旋转、分组检索与更完整的 FTS 分词;0.7.0 扩展 DiskANN 平台支持、新增量化选项、运行时 SIMD 调度、FTS ngram 分词器与 DocIterator,并支持并发 optimize()。

官方文档:https://zvec.org/en/docs/ ;GitHub:https://github.com/alibaba/zvec

资料未提供具体收费或价格信息。