当前位置: 首页 > article >正文

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

前序

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

一、向量数据库简介

向量数据库(Vector Database)也叫矢量数据库,是专为存储、处理、分析「向量数据」而生的,能够基于目标向量快速进行相似度搜索,并返回最相近的数据。总而言之,就是用来存储和处理向量数据的数据库。

随着大型AI语言模型的崛起,向量数据库成为了解决模型“幻觉”问题的关键。它号称是LLM记忆的海马体,是大模型的记忆和存储核心,通过注入实时&私域数据的形式,可以使得LLM能够在更多通用场景中落地应用,缓解模型”幻觉“的问题。

常见的向量数据库:MilvusChromaWeaviateFaiss、Elasticsearch、PGVector、opensearch、腾讯VectorDB,ClickHouse

在这里插入图片描述

二、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 失败的。可能是以下问题
在这里插入图片描述

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

也是极其耗时的操作。
在这里插入图片描述
很容易就拉取失败了,还是配置一下docker,使用国内镜像源吧
在这里插入图片描述
docker设置新增国内镜像源

...
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://hub.rat.dev",
    "https://docker.1panel.live"
  ]

在这里插入图片描述
再次运行就可以慢慢等它拉取镜像了zzz

在这里插入图片描述
这样就是启动成功了。

关闭数据库服务镜像,命令如下:

docker-compose -f milvus-standalone-docker-compose.yml down

三、连接Milvus数据库

首先安装三方库

pip install pymilvus[model]
# 如果上面这个识别不了的,就用下面这种
pip install "pymilvus[model]"

# 如果觉得慢的一批,可以换一下国内镜像源哈
pip install  "pymilvus[model]" -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')

在这里插入图片描述
方式2:

from pymilvus import MilvusClient

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

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

"""
输出结果 :['root'] 
"""

可以看到运行成功,能输出结果。针不戳。就可以继续后续的更多数据库相关的学习了。


http://www.kler.cn/a/562090.html

相关文章:

  • Chromedriver与Chrome版本映射表
  • 案例解析:中国卖家如何通过智能宠物用品抢占eBay细分市场
  • 【Java】集成easyexcel
  • “零信任+AI”将持续激发网络安全领域技术创新活力
  • 猿大师播放器:智慧交通Web网页低延迟播放监控RTSP H.265视频解决方案
  • 三星Galaxy S24系列手机被曝3月推送One UI 7稳定版更新
  • 游戏行业洞察 | AI技术助力游戏开发
  • 多源最短路径求解: Floyd-Warshall算法和Johnson 算法
  • 大规模 RDMA AI 组网技术创新:算法和可编程硬件的深度融合
  • PostgreSQL的学习心得和知识总结(一百七十)|深入理解PostgreSQL数据库之 处理HAVING子句 的使用和实现
  • 物联网智能终端-低成本方案(HC32L196+EC800G+BLE+2.8寸串口屏)
  • C#基础总结:常用的数据结构
  • Kotlin 知识点二 延迟初始化和密封类
  • SGLang中context-length参数的默认值来源解析
  • 【MySQL】安装MySQL
  • 【学习笔记】Kubernetes
  • 【星云 Orbit-F4 开发板】03b. 按键玩法二:独立按键双击双击触发
  • IOS网络安全体系结构 网络安全体系架构
  • 【Java 常用注解学习笔记3】——Java 常用注解扩展与完善
  • MySQL 数据库基础详细解释和示例