零基础Milvus快速上手指南,手把手搭建RAG向量检索
文章目录前言1 环境准备1.1 Windows下用Docker部署Milvus1.2 安装Python依赖1.3 准备嵌入模型API2 连接Milvus并创建数据库2.1 建立客户端连接2.2 创建自定义数据库3 创建Collection集合3.1 检查并创建集合3.2 查看集合元数据4 准备嵌入模型4.1 初始化模型4.2 生成测试向量5 插入数据6 数据查询与检索6.1 遍历所有数据6.2 按主键批量查询6.3 相似度检索7 清理资源8 踩坑提醒9 总结P.S. 无意间发现了一个巨牛的人工智能教程非常通俗易懂对AI感兴趣的朋友强烈推荐去看看 传送门https://blog.csdn.net/qq_34419312前言做RAG应用的同学十有八九都要跟向量数据库打交道。很多人上来就被环境劝退装个软件折腾一下午代码一行没写光重启电脑了。今天就拿Milvus开刀从装环境到跑通相似度检索一步一步给你捋明白。1 环境准备1.1 Windows下用Docker部署Milvus先说好前提Windows上装这个你得先有WSL。没装的打开PowerShell输一行命令就行装完乖乖重启电脑这步跳不过去。然后装Docker Desktop安装流程全程下一步别瞎改配置。装完别傻乎乎去注册登录直接跳过就行咱用的功能免费版完全够。接下来配镜像加速没代理的同学这步必做。不然下载镜像慢到你以为网断了喝杯茶回来进度条没动两格。点设置找到Docker Engine把国内镜像地址粘进去保存重启Docker。找个你想存放文件的文件夹用管理员身份开PowerShell切过去。下载官方的启动脚本存成standalone.bat。运行脚本启动Milvus等着Docker拉镜像就行。启动完成后服务默认跑在localhost:19530后面连接就用这个地址。以后想开想关直接在Docker界面点按钮不用再敲命令方便得很。1.2 安装Python依赖就四个包pip一行命令就能装完。pymilvus是官方客户端langchain用来统一调用嵌入模型剩下两个是辅助工具。1.3 准备嵌入模型API随便找个支持嵌入模型的平台搞个API Key就行。只要兼容OpenAI格式的服务都能用不用死磕某一家。整个.env文件存密钥和地址别硬写在代码里泄露了哭都来不及。2 连接Milvus并创建数据库2.1 建立客户端连接几行代码的事儿实例化MilvusClient传本地服务地址就行。打印一下现有数据库默认会自带一个default库。2.2 创建自定义数据库Milvus支持多数据库隔离咱自己整个rag_demo库跟默认的分开用。先查一下有没有重名的没有就创建创建完切换过去。友情提示删库之前得先把里面的集合全删干净不然直接报错。别问我怎么知道的踩过坑的人都懂。3 创建Collection集合Collection就相当于关系型数据库里的表专门存向量和附带的元数据。3.1 检查并创建集合创建的时候两个参数最关键向量维度和相似度度量类型。维度必须跟你用的嵌入模型输出严格对上比如bge-m3就是1024维。差一维都插不进去就像买鞋买错码硬塞肯定塞不进去。相似度算法选COSINE余弦相似度做语义检索就用这个准没错。先查一下集合是否存在没有就创建避免重复创建报错。3.2 查看集合元数据可以用describe_collection查看集合的详细信息。默认会有id主键和vector向量字段而且开了动态字段。意思就是你随便加额外字段都行不用提前定义表结构对新手很友好。4 准备嵌入模型4.1 初始化模型加载.env里的环境变量用langchain的接口初始化嵌入模型。填上模型名、api_key和base_url参数对齐就能用。4.2 生成测试向量准备几条测试文本调用embed_documents批量转成向量。打印一下向量数量和维度确认跟集合设置的对得上。别等插数据的时候才发现维度不匹配白忙活半天。5 插入数据把向量、原文、来源这些信息拼成字典组成一个列表。用upsert方法插入有相同id就更新没有就新增很省心。插完可以手动flush一下强制数据落盘心里踏实。再查一下集合统计信息看看行数对不对确认插成功了。6 数据查询与检索6.1 遍历所有数据数据量大的话用query_iterator分批读取。别一次性全捞出来把内存干爆分批拿稳得很。循环取数就行用完记得把迭代器关了。6.2 按主键批量查询知道数据id的话直接用get方法批量查效率很高。6.3 相似度检索这才是向量数据库的灵魂功能也是RAG的核心逻辑。用户提个问题先转成向量然后在库里找最相似的Top-K条内容。把问题向量传进去设好返回条数和要返回的字段。返回结果里的distance就是相似度得分余弦模式下数值越高越相关。你会发现语义最贴合的内容排在最前面这就是RAG能精准召回的底气。7 清理资源测试完不用了就顺手删掉集合和数据库省得占地方。再强调一遍删库前先删集合顺序别搞反反了就报错。8 踩坑提醒维度必须一致这是新手最高发的坑没有之一。度量类型别乱选做RAG语义检索闭眼选COSINE就行。动态字段虽然灵活但生产环境该定schema还是定别图省事乱加字段。插入和搜索都支持批量操作数据多了记得用效率能提一大截。示例用的是默认FLAT索引数据少没问题。真上生产环境得换HNSW这类索引不然检索慢到你怀疑人生。9 总结这么一套流程走下来从部署到检索的全链路就跑通了。Docker跑Milvus单机版pymilvus操作数据库langchain调用嵌入模型再加相似度检索。这就是RAG系统的数据层底子。接下来把召回的内容塞给大模型就能搭出自己的问答应用了。P.S. 无意间发现了一个巨牛的人工智能教程非常通俗易懂对AI感兴趣的朋友强烈推荐去看看传送门https://blog.csdn.net/qq_34419312

相关新闻

四端协同架构下的食堂数字化采购系统设计与实现——以好伙狮数字食堂为例

四端协同架构下的食堂数字化采购系统设计与实现——以好伙狮数字食堂为例

去年年底参与了一个中型连锁食堂的数字化改造项目,甲方信息科提了一个很明确的需求:采购验收环节要从纯人工模式升级为全流程数字化管理,覆盖下单、配送、称重验收入库一整条链路,而且数据的完整性和可追溯性必须经得起审计级别的…

2026/10/25 23:14:28 阅读更多 →
GTNH汉化终极指南:3步快速实现完美中文界面

GTNH汉化终极指南:3步快速实现完美中文界面

GTNH汉化终极指南:3步快速实现完美中文界面 【免费下载链接】Translation-of-GTNH GTNH整合包的汉化 项目地址: https://gitcode.com/gh_mirrors/tr/Translation-of-GTNH 还在为GTNH整合包的英文界面而烦恼吗?想要在复杂的格雷科技世界中畅游却因…

2026/10/24 9:54:14 阅读更多 →
终极RPA提取指南:5分钟掌握游戏资源解包神器

终极RPA提取指南:5分钟掌握游戏资源解包神器

终极RPA提取指南:5分钟掌握游戏资源解包神器 【免费下载链接】unrpa A program to extract files from the RPA archive format. 项目地址: https://gitcode.com/gh_mirrors/un/unrpa 你是否曾经下载了心仪的游戏,却发现所有资源都被打包成神秘的…

2026/10/26 18:28:55 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 13:55:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 19:19:37 阅读更多 →