什么是 Qdrant Edge?
Qdrant Edge 是一款轻量级的嵌入式向量搜索引擎,专为进程内检索设计,内存占用极低,且无需后台服务。Qdrant Edge 专为需要在受限或间歇性网络环境(如机器人、信息亭、家庭助手和移动设备)中进行低延迟向量搜索的应用程序而设计。
与采用客户端-服务器架构的 Qdrant Server 不同,Qdrant Edge 在应用程序进程内运行。可以将其视为向量搜索领域的 SQLite。数据在本地存储和查询,确保了低延迟访问并增强了隐私保护,因为数据无需传输到外部服务器。尽管如此,Qdrant Edge 仍提供了用于与 Qdrant 服务器同步数据的 API。这使您能够将索引构建等繁重的计算任务卸载到性能更强的服务器实例上,进行数据备份与恢复,并集中聚合来自多个边缘设备的数据。
Qdrant Edge 分片 (Edge Shard)
Qdrant Edge 是围绕边缘分片 (Edge Shard) 的概念构建的:这是一种可以独立运行的自包含存储单元。每个边缘分片管理其自身的数据,包括向量和载荷 (payload) 存储,并能执行本地搜索和检索操作。

若要使用 Qdrant Edge 分片,请使用 Qdrant Edge 的 Python 绑定包或 qdrant-edge Rust crate。该库提供了一个 EdgeShard 类,其中包含管理数据、查询数据以及恢复快照的方法。
new(Rust) /create(Python):在指定路径下使用提供的配置创建一个新的边缘分片。如果该路径下已存在数据,则会失败。load:通过从磁盘读取现有数据以及可选的配置文件来初始化边缘分片。update:更新数据。query:查询数据。facet:返回载荷字段中出现次数最多的前 N 个不同值,按包含该值的点数排序。scroll:返回所有点。count:返回点的数量。retrieve:根据给定的 ID 检索点。flush:刷新数据,确保所有写入操作已持久化到磁盘。close:彻底销毁分片实例,确保数据已刷新(Python)。数据会持久化在磁盘上,可用于创建另一个分片。在 Rust 中,请使用Drop特征 (trait) 以确保分片在超出作用域时关闭。optimize:通过移除标记为删除的数据、合并段 (segments) 和创建索引来优化边缘分片。info:返回有关分片的元数据信息。unpack_snapshot:解压磁盘上的快照。snapshot_manifest:返回当前分片的快照清单。recover_partial_snapshot(Rust) /update_from_snapshot(Python):将快照应用到分片。
使用 Qdrant Edge
| 类型 | 指南 | 您将学到什么 |
|---|---|---|
| 入门 | Qdrant Edge 快速入门 | 开始使用 Qdrant Edge,了解管理和查询数据的基本知识 |
| 入门 | 设备端嵌入 (On-Device Embeddings) | 使用 FastEmbed 直接在边缘设备上生成向量嵌入 |
| 参考 | 数据同步模式 | 边缘分片与 Qdrant 服务器集合之间的数据同步模式概览 |
| 进阶 | 与服务器同步 | 将边缘分片与 Qdrant 服务器集合同步,以卸载索引任务并同步设备间的数据 |