如何在 Jupyter Notebook 用一行代码启动 Milvus?
随着各种大语言模型(LLM)的涌现和 AI 技术变得越来越普遍,大家对于向量数据库的需求也变得越来越多。作为大模型的记忆体,向量数据库不仅可以帮助解决 LLM 面临的最大问题——缺乏特定领域知识和最新数据,还可以赋能相似性搜索应用,如产品推荐、以图搜图、文本语义搜索等。
此前,我们为那些想要快速体验向量数据库、没有专业运维团队支撑、安装部署环境受限的用户推出了轻量级版本的向量数据库——Milvus Lite,本文将基于此版本,为大家介绍如何在 Jupyter Notebook 中使用向量数据库。
轻量版 Milvus 能做什么?
Milvus 是一个分布式、云原生的向量数据库,可处理十亿级的向量数据,用于索引、存储和查询向量数据。
Milvus 系统分为四个层面,采用多种类型的执行节点(worker node),极大地增强了系统弹性和可扩展性。除了使用多个单一目的的节点外,Milvus 还使用分段(segment)数据以提升索引构建的效率。Milvus 的数据分段容量为 512 MB,查询时会并行查询多个分段,以确保系统低延迟(latency)。
Milvus 向量数据库的宏观架构
Milvus Lite 是 Milvus 的轻量级版本,拥有诸多优势,例如可以轻松将 Milvus Lite 集成到 Python 应用程序中,不需要任何其他依赖项;与 Google Colab 和 Jupyter Notebook 的集成变得更容易等,了解更多优势参见文章《Milvus Lite 已交卷!轻量版 Milvus,主打就是一个轻便、无负担》。
由于 Milvus Lite 和 Milvus 的工作原理相同,且可以在本地保存所有的数据,因此,用户可以使用 Docker Compose、Helm 或 Milvus Operator 来启动 Milvus 实例。当然,也可以从 Jupyter Notebook 或 Python 脚本直接启动 Miluvs Lite 实例。
如何在 Jupyter Notebook 中使用向量数据库?
为快速上手,大家可以通过 pip 在 Jupyter Notebook 中快速安装向量数据库 Milvus Lite。
在 Jupyter Notebook 第一行中运行 !pip install pymilvus milvus
以安装 pymilvus
和 milvus
。安装完成后,使用 iPython Notebook 启动并连接至向量数据库。milvus
模块提供 Milvus Lite,pymilvus
模块提供连接到 Milvus 的 Python 接口。
接下来可以按照以下步骤操作:
从 milvus 模块中导入 default_server。
从 pymilvus 模块中导入 connections。
从 pymilvus 模块中导入 utility。
使用 default_server 中的
start()
函数来启动服务器。服务器启动后,我们使用 connections 模块中的 connect 进行连接,传入主机 localhost 或 127.0.0.1 以及默认服务器的端口。
from milvus import default_server
from pymilvus import connections, utility
default_server.start()
connections.connect(host="127.0.0.1", port=default_server.listen_port)
连接至 Milvus 后,使用 utility 体验向量数据库。例如,调用get_server_version()
以确保数据库已更新至最新版本。或者,使用 utility 查看 Milvus 集合(可以将其理解为数据表)。大家还可以在新建集合时检查新集合的名称是否已被现有集合使用。如果已被使用,可以通过drop_collection
删除现有集合或者为新集合选择一个新名称。
utility.get_server_version()
if utility.has_collection(COLLECTION_NAME):
utility.drop_collection(COLLECTION_NAME)
还是那句话,我们不推荐在任何生产环境中使用 Milvus Lite,也不推荐在需要高性能、高可用性或高可扩展性时的场景下使用 Milvus Lite。相反,当大家有类似需求时,我们更推荐 Milvus 集群或 Zilliz Cloud(提供开箱即用的向量数据库服务,6 月底即将登陆阿里云)进行部署。
最后,本文内容同样适用于 CoLab Notebook。详情参见以图搜图应用(https://colab.research.google.com/drive/1qBVYsiNTp5w8zclqxkKp_hHIoKdCGwB8?usp=sharing)和文本语义搜索应用(https://colab.research.google.com/drive/1dTYiwmJrjojqGw_DTBX05wi0l5YoX1HU?usp=sharing)。
🌟全托管 Milvus SaaS/PaaS 即将上线,由 Zilliz 原厂打造!覆盖阿里云、百度智能云、腾讯云、金山云。目前已支持申请试用,企业用户 PoC 申请或其他商务合作请联系 business@zilliz.com。
技术干货
LLMs 诸神之战:LangChain ,以【奥德赛】之名
毫无疑问,大语言模型(LLM)掀起了新一轮的技术浪潮,成为全球各科技公司争相布局的领域。诚然,技术浪潮源起于 ChatGPT,不过要提及 LLMs 的技术发展的高潮,谷歌、微软等巨头在其中的作用不可忽视,它们早早地踏入 AI 的技术角斗场中,频频出招,势要在战斗中一争高下,摘取搜索之王的桂冠。而这场大规模的 AI 之战恰好为 LLMs 技术突破奏响了序曲。LangChain 的加入则成为此番技术演进的新高潮点,它凭借其开源特性及强大的包容性,成为 LLMs 当之无愧的【奥德赛】。
2023-5-17技术干货
向量数据库的行业标准逐渐清晰!Vector DB Bench 正式开源!
本文将从 Vector DB Bench 的特点和优点出发,帮助开发者全面、客观、高效地评估向量数据库。
2023-6-21技术干货
一次解决三大成本问题,升级后的 Zilliz Cloud 如何造福 AIGC 开发者?
对于应用开发而言,成本问题向来是企业和开发者关注的重点,更迭迅速、变化莫测的 AIGC 时代更是如此。这里的成本既指软件开发成本,也包括硬件成本、维护成本。Zilliz Cloud 可以一次性解决这三大问题,帮助开发者降低开发成本、优化硬件成本、减少维护成本。
2023-7-6