反转基因福娃 发表于 2025-5-18 13:51:29

学习旅程四 向量数据库Milvus安装与连接

前序

在之前,已经简单完成了文档的加载,分割,向量化这些步骤,末了得到告终果。但是这些数据都是一次性的。假设一个状师所,有几千上万份卷宗,不可能每次利用都重新向量化数据吧。
所以我们需要有一个地方存储起来,比如关系型数据库MySQL,非关系性数据库MangoDB如许,对应类型数据存放起来。
而向量化的数据,需要利用到向量数据库
一、向量数据库简介

向量数据库(Vector Database)也叫矢量数据库,是专为存储、处理、分析「向量数据」而生的,可以或许基于目标向量快速进行相似度搜索,并返回最相近的数据。总而言之,就是用来存储和处理向量数据的数据库。
随着大型AI语言模型的崛起,向量数据库成为了办理模型“幻觉”题目标关键。它号称是LLM影象的海马体,是大模型的影象和存储焦点,通过注入实时&私域数据的情势,可以使得LLM可以或许在更多通用场景中落地应用,缓解模型”幻觉“的题目。
常见的向量数据库:Milvus、Chroma、Weaviate、Faiss、Elasticsearch、PGVector、opensearch、腾讯VectorDB,ClickHouse。
https://i-blog.csdnimg.cn/direct/df99be0f7563443badf6b163de13e0d3.png
二、Milvus 向量数据库

根本先容

Milvus(米尔乌斯)是一个高性能、高度可扩展的开源的向量数据库,诞生于2019年,由Zilliz开发并维护,后成为LF AI & Data Foundation的托管项目之一,支持针对 TB 级向量的增删改操作和近实时查询,具有高度机动、稳定可靠以及高速查询等特点。Milvus 集成了 Faiss、NMSLIB、Annoy 等广泛应用的向量索引库,Milvus 支持数据分区分片、数据长期化、增量数据摄取、标量向量混合查询、time travel 等功能,同时大幅优化了向量检索的性能,可满足任何向量检索场景的应用需求,提供了一整套简单直观的 API,让你可以针对不同场景选择不同的索引类型。还可以对标量数据进行过滤,进一步进步了召回率,增强了搜索的机动性。
Milvus可在从笔记本电脑到大规模分布式系统的各种情况中高效运行。
官网:https://milvus.io/
文档:https://milvus.io/docs/zh/overview.md
仓库:https://github.com/milvus-io/milvus
安装Milvus数据库

1. 安装docker

目前Milvus运行的情况都是在docker上,所以在安装Milvus之前,我们需要先确认docker和docker-compose已经安装到本地机子上了。
注意:
   默认情况下,假如安装的docker是docker-desktop默认会顺便已经安装了docker-compose,则不需要再继承安装docker-compose,否则会报错题目,这时间需要卸载掉python安装的。
假如本地机子没有安装docker-compose,提前按以下命令安装一下:
# 这个命令必须保证自己的机子已经安装了docker和python3.8+
pip install docker-compose
跟我一样利用Mac的也需要注意。假如安装了docker desktop,但是在命令行运行docker-compose --version 失败的。可能是以下题目
https://i-blog.csdnimg.cn/direct/56f7977441754978b46cd8e5498895f1.png
sudo rm /usr/local/bin/docker-compose
sudo ln -s /Applications/Docker.app/Contents/Resources/cli-plugins/docker-compose /usr/local/bin/docker-compose
我通过上面这个方法后,可以乐成办理题目。
2.下载Milvus镜像服务设置文件

   下载链接:https://github.com/milvus-io/milvus/releases/download/v2.4.12/milvus-standalone-docker-compose.yml
下载完成以后,执行如下命令即可启动Milvus数据库:
docker-compose -f milvus-standalone-docker-compose.yml up -d
也是极其耗时的操作。
https://i-blog.csdnimg.cn/direct/d2356876cc7f4132b1754e4711530acd.png
很容易就拉取失败了,还是设置一下docker,利用国内镜像源吧
https://i-blog.csdnimg.cn/direct/7804376fab1d4bb8b3725f0667aeb2eb.png
docker设置新增国内镜像源
...
"registry-mirrors": [
    "https://docker.1ms.run",
    "https://hub.rat.dev",
    "https://docker.1panel.live"
]
https://i-blog.csdnimg.cn/direct/9b8ba3926fcc4050b5ba77a4d4301864.png
再次运行就可以慢慢等它拉取镜像了zzz
https://i-blog.csdnimg.cn/direct/99bd615bb44745cd9e73e9181df1bd0b.png
如许就是启动乐成了。
关闭数据库服务镜像,命令如下:
docker-compose -f milvus-standalone-docker-compose.yml down
三、连接Milvus数据库

首先安装三方库
pip install pymilvus
# 如果上面这个识别不了的,就用下面这种
pip install "pymilvus"

# 如果觉得慢的一批,可以换一下国内镜像源哈
pip install"pymilvus" -i https://mirrors.aliyun.com/pypi/simple/
启动docker时,可以看到,默认端口是19530
方式1:
from pymilvus import connections, db

# 连接milvus数据库服务器
connections.connect(
    host="127.0.0.1",# 连接服务端地址,
    port=19530,      # 连接端口,milvus默认监听19530
    alias='default',   # 连接的别名,如果不设置,默认为default,
    db_name='default'# 连接的数据库,默认是default
)

# 判断是否连接成功
res = db.connections.has_connection('default')
print(res)

# 断开数据库连接
# 此处必须填写断开的连接别名
connections.disconnect('default')

https://i-blog.csdnimg.cn/direct/71db33747aae4287b504f1a5da676de1.png
方式2:
from pymilvus import MilvusClient

client = MilvusClient("http://localhost:19530")
# client = MilvusClient()# 上面的内容可以简写
res = client.list_users()

print(res)
# 断开连接
client.close()

"""
输出结果 :['root']
"""
可以看到运行乐成,能输出结果。针不戳。就可以继承后续的更多数据库相干的学习了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 学习旅程四 向量数据库Milvus安装与连接