Milvus向量数据库批量导入数据
前言Milvus作为使用最广泛的向量数据库之一在市场中占据了很大的份额我们想要学习大模型RAG向量数据库是逃不开的一环根据上一篇文章我们已经配置好了milvus接下来我们来学习一下如何向Milvus中批量导入数据。一、准备工作1、准备环境博主用的是linux中的ubuntu系统此处推荐使用linux系统进行操作2、下载embedding模型我们在modelscope社区下载对应模型首先安装modelscope包方便下载pipinstallmodelscope下载到当前文件夹此处下载的是bge模型如需其他模型请自行更改mkdirbge-m3 modelscope download--modelBAAI/bge-m3--local_dir./dir等待下载完成即可二、主要代码讲解1、连接数据库首先连接服务器创建databaseclientMilvusClient(urihttp://xx.xx.xx.xx:19530,tokenroot:Milvus#此处使用token登录方式默认用户名密码)client.create_database(db_nametests_db)#此命令只在第一次运行添加后续运行注释掉client.use_database(db_nametests_db)#使用该database进行后续操作2、创建集合#schema 参数编写 定义表结构schemaMilvusClient.create_schema(auto_idFalse)schema.add_field(field_nameid,datatypeDataType.INT64,is_primaryTrue)#IDschema.add_field(field_namevector,datatypeDataType.FLOAT_VECTOR,dim1024)#存入内容展示schema.add_field(field_namecontent,datatypeDataType.VARCHAR,max_length65535)#内容转换成的向量结果展示ifclient.has_collection(collection_namedemo_collection): client.drop_collection(collection_namedemo_collection)#根据编写的schema进行集合创建 只第一次使用后续再运行将会进行覆盖操作client.create_collection(collection_namedemo_collection,schemaschema)3、embedding模型引入bge_m3_efBGEM3EmbeddingFunction(model_name/data/models/embedding/bge-m3/,#此处为本地模型地址也可使用BAAI/bge-m3地址格式会在huggingface上下载devicecpu,#CPU或者cuda:0use_fp16False)4、数据准备docs[无边落木萧萧下不尽长江滚滚来。,在天愿作比翼鸟在地愿为连理枝。,千山鸟飞绝万径人踪灭。,]docs_embeddingsbge_m3_ef.encode_documents(docs)#将上述文本向量化处理time_numberdatetime.now().strftime(%Y%m%d%H%M%S)#id编写#按照集合创建格式进行内容对齐data[{id:int(str(time_number)str(i)),vector:docs_embeddings[dense][i],content:docs[i]}foriinrange(len(docs_embeddings[dense]))]5、批量导入数据# 创建向量索引 只需在第一次集合创建时使用给新的集合创建向量索引index_paramsMilvusClient.prepare_index_params()index_params.add_index(field_namevector,index_typeHNSW,metric_typeL2,params{M:16,efConstruction:200})client.create_index(collection_namedemo_collection,index_paramsindex_params)# 插入数据client.insert(collection_namedemo_collection,datadata)# 加载集合到内存需在创建索引后执行client.load_collection(collection_namedemo_collection)完成之后即可在Attu中查看到导入的数据三、完整代码复制 填写空白参数即可运行from pymilvusimportMilvusClient, DataType from pymilvus.model.hybridimportBGEM3EmbeddingFunction from datetimeimportdatetime clientMilvusClient(uri,# http://xx.xx.xx.xx:19530token# root:Milvus)client.create_database(db_nametests_db)client.use_database(db_nametests_db)schemaMilvusClient.create_schema(auto_idFalse)schema.add_field(field_nameid,datatypeDataType.INT64,is_primaryTrue)schema.add_field(field_namevector,datatypeDataType.FLOAT_VECTOR,dim1024)schema.add_field(field_namecontent,datatypeDataType.VARCHAR,max_length65535)ifclient.has_collection(collection_namedemo_collection): client.drop_collection(collection_namedemo_collection)client.create_collection(collection_name,#demo_collectionschemaschema)bge_m3_efBGEM3EmbeddingFunction(model_name,#本地bge-m3 Embedding模型绝对路径devicecpu,use_fp16False)docs[无边落木萧萧下不尽长江滚滚来。,在天愿作比翼鸟在地愿为连理枝。,千山鸟飞绝万径人踪灭。,]docs_embeddingsbge_m3_ef.encode_documents(docs)time_numberdatetime.now().strftime(%Y%m%d%H%M%S)data[{id:int(str(time_number)str(i)),vector:docs_embeddings[dense][i],content:docs[i]}foriinrange(len(docs_embeddings[dense]))]# 创建向量索引index_paramsMilvusClient.prepare_index_params()index_params.add_index(field_namevector,index_typeHNSW,metric_typeL2,params{M:16,efConstruction:200})client.create_index(collection_namedemo_collection,index_paramsindex_params)# 插入数据client.insert(collection_namedemo_collection,datadata)# 加载集合到内存需在创建索引后执行client.load_collection(collection_namedemo_collection)结语运行上述代码后即可成功实现批量导入数据到milvus向量数据库。如果在运行中遇到问题可以在评论区留言我看到会积极回复后续我还会出更多关于dify与大模型相关的实用教程记得关注我我们下次再见

相关新闻

tweetback与Eleventy整合开发:静态站点生成实战

tweetback与Eleventy整合开发:静态站点生成实战

tweetback与Eleventy整合开发:静态站点生成实战 【免费下载链接】tweetback Take ownership of your Twitter data and get your tweets back 项目地址: https://gitcode.com/gh_mirrors/tw/tweetback tweetback是一个帮助用户掌控自己Twitter数据的开源项目…

2026/10/17 5:54:43 阅读更多 →
RAG 系统设计拆招:同样一道题,为什么有人拿 offer

RAG 系统设计拆招:同样一道题,为什么有人拿 offer

进阶拆招第一卷。6 道大厂 RAG 真题方向,每题先摆三种最常见的错误答法,逐层拆破绽,再给优化回答。数据均为示意性,重点看思路。 怎么读:每题给三种典型答法——① 概念混淆(方向就错)、② 似是…

2026/10/17 5:56:59 阅读更多 →
工业4-20mA信号有源与无源的本质区别、快速区分与正确接线指南

工业4-20mA信号有源与无源的本质区别、快速区分与正确接线指南

1. 项目概述:从一次现场调试的困惑说起 上个月,我带着新来的工程师小张去一个老旧的化工车间做仪表改造前的摸底。现场有一排老式的压力变送器,我们需要把它们输出的4-20mA信号接到新的PLC上。小张拿着万用表,熟练地找到信号线&am…

2026/10/17 5:57:46 阅读更多 →

最新新闻

MCP协议:解决AI模型调用外部服务的权限、状态与链路失控问题

MCP协议:解决AI模型调用外部服务的权限、状态与链路失控问题

简介:本资源是一份聚焦人工智能前沿连接标准的深度研究报告,面向AI开发者、研究人员及企业技术决策者,系统解析MCP(模型上下文协议)如何破解大模型与外部数据源、工具及开发环境之间的集成难题,推动AI从孤立…

2026/10/18 0:50:31 阅读更多 →
Unity项目接入APNs远程推送:证书配置、deviceToken获取与原生交互全流程

Unity项目接入APNs远程推送:证书配置、deviceToken获取与原生交互全流程

1. APNs远程推送接入前的关键认知:先搞懂一整条链路如果你的Unity项目要在iOS上接入远程推送,第一反应大概率是:这不就是申请个推送证书,后端调个接口,手机弹个通知吗?等真的动手才发现,Unity这…

2026/10/18 0:49:30 阅读更多 →
提高LCD屏幕刷新效率:基于TaoToken的ST7789驱动配置与LCD_Fill优化实践

提高LCD屏幕刷新效率:基于TaoToken的ST7789驱动配置与LCD_Fill优化实践

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

2026/10/18 0:49:30 阅读更多 →
从零部署OpenClaw到阿里云ECS:打造云端AI助手的实践指南

从零部署OpenClaw到阿里云ECS:打造云端AI助手的实践指南

简介:基于阿里云ECS的OpenClaw一键部署方案,是一份面向无运维经验技术爱好者与开发者的实操指南,旨在帮助用户借助一台低配云服务器,在十五分钟内完成个性化AI助手的云端搭建与管理。整份指南以单个PDF文档呈现,压缩包…

2026/10/18 0:49:30 阅读更多 →
公钥密码学与伪随机数:密钥生成中的随机源与熵池管理

公钥密码学与伪随机数:密钥生成中的随机源与熵池管理

1. 从一个看似矛盾的问题说起公钥密码学里有一个特别反直觉的事实:你用来加密的密钥是公开的,任何人都能拿到,但别人依然解不开你的密文。这件事第一次接触会觉得像魔术,但支撑它的数学基础其实相当朴素——单向函数。正向计算容易…

2026/10/18 0:48:30 阅读更多 →
信息安全意识PPT设计:从知道到做到的行为转化工具包

信息安全意识PPT设计:从知道到做到的行为转化工具包

简介:本资源是一份面向全民网络安全素养提升的国家网络安全宣传周主题PPT课件,适用于企事业单位安全培训、高校通识教育及社区科普宣讲等场景。内容紧扣信息泄露风险防范与网络安全意识培养,系统梳理了网络安全四大核心特征(机密性…

2026/10/18 0:48:30 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →