零基础学AI大模型之Milvus部署架构选型+Linux实战:Docker一键部署+WebUI使用

零基础学AI大模型之Milvus部署架构选型+Linux实战:Docker一键部署+WebUI使用
大家好,我是工藤学编程 🦉一个正在努力学习的小博主,期待你的关注
实战代码系列最新文章😉C++实现图书管理系统(Qt C++ GUI界面版)
SpringBoot实战系列🐷【SpringBoot实战系列】SpringBoot3.X 整合 MinIO 存储原生方案
分库分表分库分表之实战-sharding-JDBC分库分表执行流程原理剖析
消息队列深入浅出 RabbitMQ-RabbitMQ消息确认机制(ACK)
AI大模型零基础学AI大模型之Milvus核心:分区-分片-段结构全解+最佳实践

前情摘要

前情摘要
1、零基础学AI大模型之读懂AI大模型
2、零基础学AI大模型之从0到1调用大模型API
3、零基础学AI大模型之SpringAI
4、零基础学AI大模型之AI大模型常见概念
5、零基础学AI大模型之大模型私有化部署全指南
6、零基础学AI大模型之AI大模型可视化界面
7、零基础学AI大模型之LangChain
8、零基础学AI大模型之LangChain六大核心模块与大模型IO交互链路
9、零基础学AI大模型之Prompt提示词工程
10、零基础学AI大模型之LangChain-PromptTemplate
11、零基础学AI大模型之ChatModel聊天模型与ChatPromptTemplate实战
12、零基础学AI大模型之LangChain链
13、零基础学AI大模型之Stream流式输出实战
14、零基础学AI大模型之LangChain Output Parser
15、零基础学AI大模型之解析器PydanticOutputParser
16、零基础学AI大模型之大模型的“幻觉”
17、零基础学AI大模型之RAG技术
18、零基础学AI大模型之RAG系统链路解析与Document Loaders多案例实战
19、零基础学AI大模型之LangChain PyPDFLoader实战与PDF图片提取全解析
20、零基础学AI大模型之LangChain WebBaseLoader与Docx2txtLoader实战
21、零基础学AI大模型之RAG系统链路构建:文档切割转换全解析
22、零基础学AI大模型之LangChain 文本分割器实战:CharacterTextSplitter 与 RecursiveCharacterTextSplitter 全解析
23、零基础学AI大模型之Embedding与LLM大模型对比全解析
24、零基础学AI大模型之LangChain Embedding框架全解析
25、零基础学AI大模型之嵌入模型性能优化
26、零基础学AI大模型之向量数据库介绍与技术选型思考
27、零基础学AI大模型之Milvus向量数据库全解析
28、零基础学AI大模型之Milvus核心:分区-分片-段结构全解+最佳实践

本文章目录

零基础学AI大模型之Milvus部署架构选型+Linux实战:Docker一键部署+WebUI使用

上一篇我们吃透了Milvus的“分区-分⽚-段”核心结构,知道了它如何高效组织海量数据。但理论再好,落地才是关键——到底该选哪种部署方式?Linux服务器上怎么快速部署?部署后怎么验证是否成功?今天就来解决这些“落地问题”,从部署架构选型到Linux Docker实战,再到WebUI使用,一步步带你搞定Milvus部署,新手也能跟着做!

请添加图片描述

一、部署架构选型:按项目阶段选对方案

Milvus提供多种部署选项,核心是“按需选择”——不同项目规模、不同阶段,对应不同部署方式,不用盲目追求复杂架构。

1. 三大核心部署方案对比
部署方案适用场景支持数据量核心优势限制
Milvus Lite快速原型开发、Jupyter Notebook测试、边缘设备最多几百万向量轻量(Python库)、无需复杂部署、一键启动不支持Windows系统、无高可用
Milvus Standalone(单机版)个人学习、小团队测试、中型项目(非核心业务)最高1亿向量Docker一键部署、组件集成、支持主从复制高可用横向扩展能力有限
Milvus Distributed(分布式版)企业级生产、核心业务、大规模数据1亿-千亿向量云原生架构、水平扩展、冗余备份、高性能部署复杂、需K8S集群、运维成本高
2. 额外选择:云服务版(懒人首选)

如果不想自己搭建和运维,直接选择云厂商提供的Milvus服务(如阿里云Milvus),开箱即用,支持弹性扩容,适合企业快速落地。
官方链接:阿里云Milvus文档

3. 选型建议
  • 新手/学习者:优先选Milvus Standalone,部署简单,能覆盖大部分学习和测试场景;
  • 原型开发:用Milvus Lite,直接集成到Python代码,快速验证想法;
  • 生产环境:数据量1亿以下且预算有限,用Standalone+主从复制;数据量超1亿或核心业务,用Distributed(K8S部署)或云服务。

二、Milvus分层架构:看懂部署的核心组件

不管哪种部署方案(Docker版),核心分层架构都一致,只是分布式版会将组件拆分到不同节点,单机版打包在一个容器中。

1. 分层架构图解(简化版)
┌───────────────────────────────┐ │ Coordinator(协调层) │ → 管理元数据、调度任务、负载均衡 ├───────────────┬───────────────┤ │ Query Node │ Data Node │ → 业务层:Query Node处理查询,Data Node处理数据存储 ├───────────────┴───────────────┤ │ Object Storage(存储层) │ → 持久化存储:支持MinIO、AWS S3等 └───────────────────────────────┘ 
2. 核心组件作用(新手无需深入,了解即可)
  • Coordinator:整个系统的“大脑”,管理集群元数据(如Collection、分区信息),分配任务给其他节点;
  • Query Node:“查询执行者”,处理向量搜索、标量过滤,支持内存索引和GPU加速;
  • Data Node:“数据管理者”,处理数据插入、日志持久化,保障数据一致性;
  • Object Storage:“数据仓库”,存储持久化数据,避免容器重启后数据丢失。

三、Linux实战:Docker一键部署Milvus Standalone

这是最适合新手的部署方式,全程用脚本操作,无需手动配置组件,以阿里云Linux服务器为例(其他Linux发行版通用)。

1. 部署前准备
  • 服务器要求:Linux系统(CentOS、Ubuntu均可),建议2核4G以上配置(学习测试足够);
  • 开放端口:云服务器(如阿里云)需在安全组开放3个端口——2379(etcd端口)、9091(WebUI端口)、19530(Milvus服务端口);
  • 依赖检查:服务器已安装Docker(若未安装,脚本会自动处理,无需手动操作);
  • 版本注意:必须和课程保持一致,避免兼容性问题,下文脚本已适配稳定版本。
2. 部署步骤(全程命令行操作)
步骤1:下载部署脚本

下载官方整合脚本

curl -sfL https://raw.githubusercontent.com/milvus-io/milvus/master/scripts/standalone_embed.sh -o standalone_embed.sh 
步骤2:执行脚本启动Milvus

下载完成后,执行以下命令启动服务(无需修改,直接复制):

# 给脚本执行权限(若提示权限不足时执行)chmod +x standalone_embed.sh # 启动Milvus服务bash standalone_embed.sh start 
  • 执行过程:脚本会自动拉取镜像、创建容器,耐心等待3-5分钟(取决于服务器带宽);

成功标识:命令行输出“Milvus standalone started successfully”,表示启动成功。

在这里插入图片描述
步骤3:验证部署是否成功
# 查看Docker容器状态 docker ps|grep milvus 
  • 若输出包含“milvusdb/milvus-standalone”,且状态为“Up”,说明服务正常运行;

核心端口验证:用netstat -tuln | grep 19530,若能看到端口监听,说明服务端口已开放。

在这里插入图片描述
3. 常用脚本命令(后续管理用)
# 停止Milvus服务bash standalone_embed.sh stop # 重启Milvus服务bash standalone_embed.sh restart # 删除Milvus服务(含数据,谨慎使用)bash standalone_embed.sh delete # 升级Milvus版本(需群内提供新版本脚本)bash standalone_embed.sh upgrade 
4. 数据存储说明
  • 数据卷路径:Milvus数据默认映射到当前目录的volumes/milvus文件夹;
  • 数据安全性:容器重启或重建时,数据不会丢失(存储在宿主机文件夹);
  • 备份建议:重要数据定期备份volumes/milvus文件夹,避免服务器故障导致数据丢失。

四、Milvus WebUI使用:验证服务与查看信息

部署成功后,通过WebUI可快速查看服务状态,无需命令行操作。

1. 访问WebUI

打开浏览器,输入地址:http://服务器IP:9091/webui(示例:http://127.0.0.1:9091/webui/)

  • 注意:服务器IP需是公网IP(云服务器),若为内网服务器,需在同一内网访问;

无需登录:默认无权限校验,直接访问即可。

在这里插入图片描述
2. WebUI核心功能(新手重点关注)

Milvus WebUI是内置工具,功能简洁,主要用于“验证服务”和“查看基础信息”,不支持数据操作(如创建Collection、插入数据):

  • 运行环境:查看Milvus版本、服务器配置、组件状态(Coordinator、Query Node等是否正常);
  • 数据详情:查看已创建的Collection、分区、分片信息;

任务监控:查看查询任务、插入任务的执行状态,以及慢查询记录(便于排查性能问题)。

在这里插入图片描述
3. 补充:数据操作工具推荐

若需可视化操作数据(创建Collection、插入向量、执行查询),推荐使用Attu工具(Milvus官方可视化客户端),支持Windows/Mac/Linux,后续会单独出实战教程。

五、部署关键注意事项(避坑指南)

  1. 权限校验:默认部署无权限校验,生产环境务必部署在内网,或配置IP白名单,避免公网暴露;
  2. 端口开放:云服务器必须在安全组开放3个端口(2379、9091、19530),否则无法访问服务和WebUI;
  3. 版本兼容:必须使用课程指定版本的脚本,不同版本的API和配置可能不兼容,导致后续实战报错;
  4. 资源配置:学习测试建议2核4G以上,若数据量超过1000万,建议升级到4核8G,避免内存不足;

六、核心总结

  1. 部署选型:新手优先Milvus Standalone(Docker一键部署),原型开发用Milvus Lite,生产环境选分布式版或云服务;
  2. 实战关键:下载正确脚本、开放端口、验证容器状态,三步搞定部署;
  3. WebUI作用:仅用于查看服务状态和基础信息,数据操作需用Attu或代码调用API;

Read more

深入理解强化学习:近端策略优化(PPO)算法详解

深入理解强化学习:近端策略优化(PPO)算法详解

深入理解强化学习:近端策略优化(PPO)算法详解 近端策略优化(Proximal Policy Optimization, PPO)是强化学习领域最具影响力和应用最广泛的算法之一。自2017年由OpenAI提出以来,它凭借其出色的稳定性、高效的性能和相对简单的实现,成为了许多复杂决策任务的首选算法。本文将带你深入剖析PPO的每一个细节,从算法的起源、核心数学原理,到公式的详细推导和广泛的实际应用。 1. 算法的由来:为什么我们需要PPO? 在PPO诞生之前,策略梯度(Policy Gradient, PG)方法是解决强化学习问题的主流选择。然而,传统的PG方法存在两个棘手的问题: 1. 更新步长敏感性:策略网络的更新步长(即学习率)极难选择。如果步长太大,一次糟糕的更新就可能让策略性能急剧下降,甚至“万劫不复”;如果步长太小,训练过程又会变得异常缓慢,难以收敛。 2. 数据利用率低:大多数基础的PG算法(如REINFORCE)是On-policy的,这意味着它们只能使用当前策略采样的数据进行学习。一旦策略更新,所有旧数据都将被丢弃,导致采样效率极低。

By Ne0inhk
数据结构:双向链表(2)

数据结构:双向链表(2)

目录  前言  一、实现双向链表 1.双向链表查找  2.双向链表在指定位置插入 双向链表在指定位置之后插入 双向链表在指定位置之前插入  3.双向链表指定位置删除 4.总代码展示:(加入了测试代码) 二、顺序表与链表的分析 一、相同点 二、不同点(核心差异) 三、关键结论 三、链表算法题 一、移除链表元素  二、反转链表     总结  前言    上一篇文章讲解了双向链表概念与结构,实现双向链表(双向链表的初始化,双向链表的尾插,双向链表的头插,双向链表的尾删,双向链表的头删)等知识的相关内容,其中实现双向链表其余部分,顺序表与链表的分析,链表算法题为本章节知识的内容。 一、实现双向链表 1.双向链表查找 双向链表的查找操作与单链表类似,但可利用创建一个暂时的指针实现遍历。 函数形式:

By Ne0inhk
Flutter 组件 easter 适配鸿蒙 HarmonyOS 实战:天文学节气算法,构建全球化复活节周期与民俗历法治理架构

Flutter 组件 easter 适配鸿蒙 HarmonyOS 实战:天文学节气算法,构建全球化复活节周期与民俗历法治理架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 easter 适配鸿蒙 HarmonyOS 实战:天文学节气算法,构建全球化复活节周期与民俗历法治理架构 前言 在鸿蒙(OpenHarmony)生态迈向全球化部署、涉及跨区域文化适配(I18n)及复杂变动日期计算的背景下,如何精确推演具备“阴阳历混合特性”的全球性节日(如复活节),已成为决定跨国类应用“运营确定性”的核心技术难点。在鸿蒙设备这类强调 AOT 极致性能与低功耗常驻服务(AOD)的环境下,如果应用依然依赖手动配置的“节日死表”,由于由于复活节日期在全球范围内的复杂游移性,极易由于由于配置滞后导致海外营销活动的时序错乱。 我们需要一种能够实现高精度天文学推演、支持百年尺度计算且具备纯 Dart 离线运作能力的历法预判方案。 easter 为 Flutter 开发者引入了基于高斯算法(Gauss's algorithm)或曼氏算法(Meeus&

By Ne0inhk
从零破局:LeetCode 1 & 2 超详细解剖 - 算法思维的第一块敲门砖

从零破局:LeetCode 1 & 2 超详细解剖 - 算法思维的第一块敲门砖

前言:         “各位老铁,好久不见。是的,博客又双叒叕长草了。这次停更的理由,简单到令人发指:纯粹是因为懒。不是没想法,不是没选题,就是单纯的……不想动。那种下班后只想‘葛优躺’、周末只想‘游戏宅’的状态,懂的都懂。每次打开编辑器,感觉手指头有千斤重。         但心里总有个声音在嘀咕:再懒下去,脑子怕是要生锈得更快了。是时候重启一下了!思来想去,决定回归最基础、也最经典的起点——LeetCode上的‘两数之和’(第1题)和‘两数相加’(第2题)。别小看这两道题,它们就像算法世界的‘Hello World’,看似简单,却是理解哈希、链表、模拟等核心思想的绝佳入口。今天就让我们从这‘最初的记忆’开始,一起重新找回敲代码的节奏和乐趣吧!” 1.两数之和 1.1.题目来源

By Ne0inhk