将矢量数据库嵌入桌面应用程序

问题描述 投票:0回答:3

理想情况下使用像 Electron 或 Flutter Desktop 这样的跨平台桌面框架,我想在其中打包一个矢量数据库。这意味着应用程序将能够插入/查询该数据库,而无需用户自己下载和运行数据库。

我尝试使用带有 FTS5 扩展的 SQLite,但它对于我的用例来说并不理想,因为我预计会有数千个条目并且需要亚秒级的查询时间。我研究过使用 Milvus Embedded,但没有 Windows 二进制文件(而且我无法使用 Windows 编译源代码)。

如有任何指点,我们将不胜感激。

database vector electron embedded-database vector-database
3个回答
1
投票

我为独立 Milvus 初始化了一个特殊版本:https://github.com/matrixji/python-milvus-server

支持windows,内部使用msys2/mingw64编译Milvus,可以得到2.2.3版本的windows二进制文件。您也可以自行查看补丁获取来源以及如何在 Windows 下构建 Milvus。

顺便说一句:这个项目现在正在迁移到 milvus-io/embd-milvus,2.2.4 版本现在已经支持 Linux 和 macOS,Windows 支持将在稍后推出。


0
投票

我建议使用 ObjectBox。 它适用于许多不同的语言,包括 Dart/Flutter(在 Windows、移动设备等上),并且他们最近(2023 年 6 月 13 日)添加了对向量的支持:https://objectbox.io/category/vector-数据库/


0
投票

您可以尝试https://closevector.getmegaportal.com/,这是一个基于HNSWlib的矢量数据库,并提供Web和node.js版本,使数据库可以在用户设备上运行。如果你打算使用 Electron,它将是一个合适的选择。

© www.soinside.com 2019 - 2024. All rights reserved.