Milvus使用指南

1、 安装Docker DeskTop

生产环境推荐Docker安装

1.1 下载安装包

bash 复制代码
https://www.docker.com/

1.2 安装

安装比较简单,仅提供一些截图

个别首次安装的小伙伴会被windows系统提示需要安装 适用于Linux的Windows子系统 。这里选择确认安装。稍等片刻后会完成安装。

1.3 设置Proxy

后续下载的Milvus是最新版,在国内可能没有对应镜像,所有建议"科学上网"

1.4 配置加速器(备选)

2、安装Milvus

  1. 以管理员身份打开Docker Desktop,确保Docker Engine状态正常后进行下一步
  2. 打开powershell,后续操作都在powershell命令行完成
  3. 切换文件目录

注意:developTools\Milvus是你期望保存Milvus数据库的目录,执行前需要确保此文件目录

存在。不存在,提前创建好。

  1. 下载启动脚本
bash 复制代码
Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat

执行完以后,会在当前路径下生成standalone.bat文件

  1. 执行命令
bash 复制代码
.\standalone.bat start

第三步我们将启动脚本安装在当前目录下,通过bat文件传递启动命令。

如果更换了启动脚本的下载位置,更改命令指向该文件即可

  1. 查看状态

本地缺少Milvus镜像会自动从云端拉取,看到上图所示 Start successfully 则启动成功。若失败,可重试几次。

  1. 停止容器
bash 复制代码
.\standalone.bat stop

此外,在Docker容器中可见:

3、测试前准备工作

3.1 确保Milvus已启动

3.2 安装Milvus Python SDK

bash 复制代码
pip install pymilvus

3.3 Milvus数据模型

3.3.1 整体结构

从业务角度,Milvus的数据模型层级如下

bash 复制代码
Database -> Collection -> Partition -> Entity

Database:Milvus的数据库,用来隔离不同业务数据

Collection:最核心的逻辑容器,类似于关系型数据库里的table

Partition:分区,是collection的子集,不是必须手动创建;一个collection至少会有默认partition

Entity:可以理解为collection中的一条记录。类似于关系型数据库的一行数据

3.3.2 具体说明

在向量数据库中,我们要存储的是成千上万个"特征向量"以及它们对应的文本。为了把不同用途的向量分门别类地存放,我们就要创建不同的Collection。比如,COLLECTION_NAME = "docs" 就是给这张"表"取名叫docs,专门用来存放你切分好的文档片段向量

4 、基本用法

4.1 DDL操作

4.1.1 Database

查看数据库
  1. 创建客户端
bash 复制代码
from pymilvus import MilvusClient
client = MilvusClient("http://localhost:19530")
  1. 列出所有数据库
创建数据库
删除数据库

如果数据库下有Collection则无法删除,需要先删除它的所有Collection才能删除Database

4.1.2 Collection

切换数据库
查看数据库下的collections
创建collection

dimension:嵌入向量维度,应和嵌入模型的向量维度保持一致

metric_type:表示向量相似度的计算方式,COSINE表示余弦相似度

当用户提问时,系统会把提问也变成向量,然后去数据库里找"最相似"的本地文本向量。但怎么定义"相似"呢?向量数据库需要知道计算规则。COSINE(余弦相似度)关注的是两个向量在方向上的夹角:

如果两个向量方向完全一致(代表文本意思极度接近),余弦值接近1

如果方向正交(毫无关系),值接近0

结论:在RAG检索时,Milvus会帮你计算用户问题与数据库中所有文本的余弦相似度,并把得分从大到小排序,把得分最高(最相似)的前k个片段还给你。(注:除了COSINE之外,常见的还有L2欧氏距离、IP内积等。)

删除collection
相关推荐
TheBestRucy5 天前
从零构建企业级“中文法律智能问答系统”:FastAPI+Milvus+混合检索+真流式RAG实战
fastapi·milvus
Flynn Liang6 天前
内存/Redis/PGVector/Milvus/ES 怎么选?Spring AI VectorStore 抽象与向量库选型对照表
redis·elasticsearch·milvus·rag·springai·pgvector·向量库
kyrie_sakura7 天前
大模型学习19 大模型学习 - LangChain2_Retrieval(RAG-文档处理-向量处理检索-Milvus)
学习·langchain·milvus
Maiko Star7 天前
*【HM-LC】Milvus向量库详解:Collection、索引、混合检索与LangChain实战
langchain·milvus
霸道流氓气质9 天前
AI 图片管理平台:Spring AI 原生多模态、Milvus 向量语义检索与 MinIO 预签名安全管控的 React + 全栈生产级实战
人工智能·spring·milvus
一枕槐安48710 天前
多模态RAG实战:PDF图文混合文档检索问答本地跑通
langchain·pdf·milvus·ai应用开发·多模态rag
ai大模型-探索者14 天前
BGE-M3三种向量在Milvus怎么存(稠密、稀疏、多向量)
milvus·稀疏·多向量·稠密
唠点键盘之外的16 天前
29 切片的权限隔离(实战篇):Milvus + Spring AI,从 0 搭一条带权限过滤的检索链路
人工智能·spring·milvus
ai大模型-探索者16 天前
Milvus向量数据库(介绍与使用)
数据库·milvus
Crayon Lin17 天前
Milvus向量数据库入门
数据库·milvus