Milvus Lite 已交卷!轻量版 Milvus,主打就是一个轻便、无负担

news2024/11/7 22:49:06

想要体验世界上最快的向量数据库?缺少专业的工程师团队作为支撑?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”,了解最新资讯。 alt

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/624654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

logstash启动时默认连接本机节点elasticsearch问题

背景 今天在排查处理一个logstash读取kafka数据写入到hdfs的问题时候,发现在启动日志中多了个 logstash.outputs.elasticsearch 连接的地址是localhost:9200 部分日志如下: 排查过程说明 1、首先确认 logstash 启动的配置文件中的 output 配置&#x…

SonarQube Data Center Edition 10.0 Crack

使用{SonarQube}为团队和企业提供干净的代码 SonarQube Data Center Edition为开发团队提供深度集成到企业环境中的代码质量和安全解决方案;使您能够一致且可靠地部署干净的代码。 灵活性和治理:完美的企业代码质量工具 与您的企业环境深度集成 自我管理&#xff0…

【软件测试】软件测试的基本概念和开发模型

1. 前言 在进行软件测试的学习之前,我们要了解软件测试一些基本概念. 这些基本概念将帮助我们更加明确工作的目标以及软件测试到底要做什么. 2. 软件测试的基本概念 软件测试的基本概念有3个,分别是需求,测试用例和BUG. 2.1 需求 这里的需求还可以分为 用户需求和软件需求,用户…

【博客646】将消息队列放在Prometheus前以提高可靠性并不总是“好主意“

将队列放在Prometheus前以提高可靠性并不总是"好主意" 为了防止突发流量,而在prometheus前加上消息队列以达到削峰填谷的目的 架构如下: 应用程序将指标推送到某种形式的队列(通常是 Kafka),暴露器二进制…

超详细IDEA创建Maven项目

文章目录 一、Maven概述二、创建Maven项目三、Maven项目简单介绍3.1 标准化的项目结构3.2 标准化的构建流程3.3 方便的依赖管理 一、Maven概述 Maven是一个专门用于管理和构建Java项目的工具。我们之所以要使用Maven,是因为Maven可以为我们提供一套标准化的项目结构…

Python单元测试框架《python 自动化框架 pytest》

​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) Pytest 简介 pytest 是python 的一种单元测试框架,不python 自带的unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。根据pyt…

智警杯半决赛知识点

hive: 启动hadoop 启动本地连接,连接外网 主机就是外网IP 1.修改云主机host文件,添加内网ip,对应映射名为hadoop000,实现云主机自身使用root用户ssh访问hadoop000免密登录 改host文件 vim/etc/hosts 比赛时会提…

【论文阅读】(2023.05.10-2023.06.03)论文阅读简单记录和汇总

(2023.05.10-2023.06.08)论文阅读简单记录和汇总 2023/05/10:今天状态,复阳大残,下午淋了点雨吹了点风,直接躺了四个小时还是头晕- -应该是阳了没跑了。 2023/06/03:前两周出差复阳,这两周调整作息把自己又…

第十三届蓝桥杯c++b组国赛题解(还在持续更新中...)

第十三届蓝桥杯Cb组国赛真题pdf自取 试题A:2022 解题思路: 有2022个物品,它们的编号分别是1到2022,它们的价值分别等于它们的编号。也就是说,有2022种物品,物品价值等于物品编号。 从2022个物品种选取10个…

虹科案例 | 虹科Dimetix激光测距传感器可实现无接触式监测采矿设备健康状况!

Part.01 行业挑战 采矿业机器的环境条件通常非常恶劣,损坏的设备会导致生产力和利润下降。虹科虹科Dimetix激光测距传感器为采矿设备和危险区域机器的机器健康监测提供了非接触式解决方案。 采矿操作中的处理设备通常包括分离、混合和粉碎矿石的机械设备。许多重型…

客户线上反馈:从信息搜集到疑难 bug 排查全流程经验分享

写在前面:本文是我在前端团队的第三次分享,应该很少会有开发者写客户反馈处理流程以及 bug 排查的心得技巧,全文比较长,写了一个多星期大概1W多字(也是我曾经2年工作的总结),如果你有耐心阅读&a…

因数据库字段可存储长度设置的小了,已达到设置字符类型的存储上限,导致数据存储时报错 及 常用的数据类型

项目场景: 提示:这里简述项目相关背景: 使用MySQL数据库,因数据库字段可存储长度设置的小了,已达到设置字符类型的存储上限,导致数据存储时报错 问题描述 提示:这里描述项目中遇到的问题&am…

2天刷完这套八股文,offer到手啦?

前言 大家好,最近有不少小伙伴在后台留言,得准备面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿…

我的GIT练习Three

目录 前言 GIT安装教程 Git作者 GIT优点 GIT缺点 为什么要使用 Git GIT练习Three 总结 前言 Git 是一个分布式版本控制及源代码管理工具;Git 可以为你的项目保存若干快照,以此来对整个项目进行版本管理 GIT安装教程 点击进入查看教程:点击进入 G…

(深入浅出)详解虚拟内存

概述 我们都知道一个进程是与其他进程共享CPU和内存资源的。正因如此,操作系统需要有一套完善的内存管理机制才能防止进程之间内存泄漏的问题。 为了更加有效地管理内存并减少出错,现代操作系统提供了一种对主存的抽象概念,即是虚拟内存&am…

从未尝试过的 7 种处理 CSS 的方法

啊,Web 开发的世界——您可以从学习 HTML、JavaScript,当然还有 CSS 等基础知识开始。 但是一旦你在现实世界中构建应用程序,纯 CSS 就不再适用了。 挣扎是真的。 因此,今天我们将深入探讨使用 NextJS 为 React 应用程序编写 CSS…

NLP与GPT联合碰撞:大模型与小模型联合发力

目录标题 NLP是什么东西?Al大小模型联合发力 NLP是自然语言处理,而GPT是自然语言生成模型。 它们的联合碰撞结果是大模型与小模型联合发力,是因为大模型可以提供更好的语言理解和生成能力,而小模型则可以更快地进行推理和预测。 …

考虑微网新能源经济消纳的共享储能优化配置(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【剑指offer专项突破版】字符串篇——“C“

前言 剑指offer专项突破版(力扣官网)——> 点击进入 本文所属专栏——>点击进入 一.字符串中的变位词 题目分析 总结 要求——在字符串2中找到字符串的1的排列顺序之一 数据格式——仅包含小写字母——哈希表! 返回值——bool值 思路分…

国产数据库有哪些?关键行业数据库为何一定要国产化?

国产数据库主要有以下几种: 1. 中国数据库(ChinaDB):由中国科学院计算技术研究所开发的关系型数据库系统。 2. 华为GaussDB(高斯数据库):国内首个软硬协同、全栈自主的国产数据库GaussDB&…