想要体验世界上最快的向量数据库?缺少专业的工程师团队作为支撑?Milvus 安装环境受限?
别担心,轻量版 Milvus 来啦!
在正式介绍 Milvus Lite 之前,先简单回顾一下 Milvus。Milvus 是一款开源的向量数据库,专门用于索引、存储以及查询那些由深度神经网络和其他机器学习(ML)模型生成的向量,支持十亿级别的数据规模,已成为许多公司、研究人员和开发者处理大规模数据集相似性搜索的首选工具。
不过,也有用户反馈刚开始接触 Milvus 或者想要在 Notebook 中进行快速实验时,安装或部署 Milvus 有些力不从心 。为此,Milvus 社区的 Committer 嵇斌开发出 Milvus Lite,即 Milvus 的轻量级版本,方便有相关需求的用户进行体验。可以这样理解,Milvus Lite 为没有专业运维团队支撑、安装部署环境受限的群体提供了新的可能。
Milvus Lite 的优势
作为 Milvus 的轻量级版本,Milvus Lite 有不少优势,例如:
- 可以轻松将 Milvus Lite 集成到 Python 应用程序中,不需要任何其他依赖项;
- 可以作为 library 导入到其他 Python 程序中,并使用命令行接口(CLI);
- 与 Google Colab 和 Jupyter Notebook 的集成变得更容易;
- 安全迁移,应用程序代码和数据都可以丝滑地迁移到 Milvus集群或 Zilliz Cloud中。
Milvus Lite 的适配场景
Milvus Lite 的典型使用场景:
- 用户在使用 Milvus 的过程中不方便使用 K8s、容器等技术工具(例如 Milvus Operator,Helm 或 Docker Compose)时;
- 想要将 Milvus 的功能集成到 Python 应用程序中;
- 想在 Colab 或 Notebook 中进行快速实验时迅速启动 Milvus 实例。
需要注意的是,我们不推荐在任何生产环境中使用 Milvus Lite,也不推荐在需要高性能、高可用性或高可扩展性时的场景下使用 Milvus Lite。相反,当大家有类似需求时,我们更推荐 Milvus 集群或Zilliz Cloud(提供开箱即用的向量数据库服务,6 月底即将登陆阿里云)进行部署。
如何安装、部署和使用 Milvus Lite?
准备工作
在正式安装 Milvus Lite 以前,需要做足以下准备:
- 安装 Python 3.7 或更高版本。
- 使用下述任何一个经过验证的操作系统:Ubuntu >= 20.04 (x86_64);CentOS >= 7.0 (x86_64);MacOS >= 11.0 (Apple Silicon)
值得注意的是,Milvus Lite 用 manylinux2014
作为基础镜像,以便与 Linux 用户的大多数发行版兼容。
安装 Milvus Lite
- Milvus Lite 可以在 PyPI 中下载安装,我们可以通过
pip
进行安装。
$ python3 -m pip install milvus
- 或者大家也可以通过 PyMilvus 进行安装,具体操作如下:
$ python3 -m pip install milvus[client]
使用并启动 Milvus Lite
从我们的项目库的示例文件夹中下载示例代码(https://github.com/milvus-io/milvus-lite/tree/main/examples)。有两种方式可以使用 Milvus Lite:将其作为 Python 库导入或用 CLI 在机器上将它作为独立服务器运行。
- 将 Milvus Lite 作为 Python 模块启动,执行以下命令:
from milvus import default_serverfrom pymilvus import connections, utility# Start your milvus serverdefault_server.start()# Now you can connect with localhost and the given port# Port is defined by default_server.listen_portconnections.connect(host='127.0.0.1', port=default_server.listen_port)# Check if the server is ready.print(utility.get_server_version())# Stop your milvus serverdefault_server.stop()
大家也可以将 server 实例,放在 with
语句的上下文中,以实现自动启停:
from milvus import default_serverwith default_server: # Milvus Lite has already started, use default_server here. connections.connect(host='127.0.0.1', port=default_server.listen_port)
- 通过 CLI 来启动 Milvus Lite,执行以下命令:
milvus-server
启动 Milvus Lite 后,大家就可以使用 PyMilvus 或自己顺手的工具来连接独立服务器了。
用调试模式启动 Milvus Lite
- 将 Milvus Lite 作为 Python 模块以调试模式运行,执行以下命令:
from milvus import debug_server, MilvusServerdebug_server.run()# Or you can create a MilvusServer by yourself# server = MilvusServer(debug=True)
- 在调试模式下运行 Milvus Lite,请执行以下命令:
milvus-server --debug
持久化数据和日志
- 执行以下命令创建一个本地目录,用于存储所有相关的 Milvus Lite 数据和日志:
from milvus import default_serverwith default_server: default_server.set_base_dir('milvus_data')
- 为了将 Milvus Lite 生成的所有数据和日志保存在本地磁盘上,执行以下命令:
$ milvus-server --data milvus_data
配置 Milvus Lite
配置 Milvus Lite 与使用 Python API 或 CLI 设置 Milvus 的实例相似。
- 用 Python API 配置 Milvus Lite ,可以使用
MilvusServer
实例的config.set
来设置基本和额外的设置:
from milvus import default_serverwith default_server: default_server.config.set('system_Log_level', 'info') default_server.config.set('proxy_port', 19531) default_server.config.set('dataCoord.segment.maxSize', 1024)
- 用 CLI 配置 Milvus Lite,运行以下命令进行基本设置:
$ milvus-server --system-log-level info$ milvus-server --proxy-port 19531
- 或者,运行以下命令以进行额外配置:
$ milvus-server --extra-config dataCoord.segment.maxSize=1024
所有配置参数都在 Milvus 工具包中附带的 config.yaml
模板中。想了解更多关于安装和配置 Milvus Lite 的技术细节,可以点击查看https://milvus.io/docs/milvus_lite.md#Prerequisites。
总结
总体而言,无论用户是何种身份(研究人员、开发者或者数据科学家),Milvus Lite 都是一个不错的选择,尤其对于那些想要在受限的环境中使用 Milvus 功能的用户而言,更是如此。
Milvus Lite 是开源社区或者说开源文化下的产物,背后折射出的是开发者们对于开源的热爱。在此,我们尤其要感谢 Milvus 社区 Committer 嵇斌,没有他就没有 Milvus Lite!我们也期待有更多开发者参与进来,和我们一起探讨 Milvus 的未来,在这个极具创新性与发展性的集市模式的加持下,Milvus 一定会变得越来越好,从而更好地满足用户的需求。
最后,如果大家在安装或使用 Milvus Lite 时遇到问题,可以点击链接提交问题,https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmilvus-io%2Fmilvus-lite%2Fissues%2Fnew,当然也可以扫码加入 Zilliz 技术交流群,我们的专业工程师将全程在线,为大家答疑解惑。
🌟注意!全托管 Milvus SaaS/PaaS 即将上线,由 Zilliz 原厂打造!覆盖阿里云、百度智能云、腾讯云、金山云。目前已支持申请试用,企业用户 PoC 申请或其他商务合作请联系 business@zilliz.com。
- 如果在使用 Milvus 或 Zilliz 产品有任何问题,可添加小助手微信 “zilliz-tech” 加入交流群。
- 欢迎关注微信公众号“Zilliz”,了解最新资讯。
本文由mdnice多平台发布
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 深度学习进阶篇-预训练模型[4]:RoBERTa、KBERT、ALBERT、ELECTRA算法原理模型结构应用场景等详解
深度学习进阶篇-预训练模型[4]:RoBERTa、SpanBERT、KBERT、ALBERT、ELECTRA算法原理模型结构应用场景区别等详解 1.SpanBERT: Improving Pre-training by Representing and Pre…