安装milvus以及向量库增删改操作

首先电脑已经安装了docker
windows电脑可下载yml文件
https://github.com/milvus-io/milvus/releases/download/v2.4.6/milvus-standalone-docker-compose.yml
创建milvus文件夹,并在这个目录下创建五个文件夹:conf、db、logs、pic、volumes、wal
在这里插入图片描述

然后在文件夹执行命令

docker compose up -d

安装完成在docker里面启动
在这里插入图片描述
然后下载attu工具
attu工具下载地址
如果是centos服务器的话可以直接用宝塔无脑安装milvus
在这里插入图片描述

插入数据到milvus

from pymilvus import connections
from langchain_community.vectorstores import Milvus
from langchain.embeddings.huggingface import HuggingFaceEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.docstore.document import Document
from langchain_community.embeddings import DashScopeEmbeddings
from milvus import default_server# 定义嵌入模型(本地部署的embedding模型)
embedding = HuggingFaceEmbeddings(model_name='model/conan-embedding-v1/')
# 可以用自己本地的embedding模型,也可以用阿里和百度的embedding模型
#hfembedding = DashScopeEmbeddings(model="text-embedding-v2", dashscope_api_key="阿里云的apikei")
documentArray = [Document(page_content="在中国办理身份证的流程如下:准备材料:本人户口簿原件及复印件。原有身份证(如是换领)。如果是首次申领,需要提供监护人的户口簿和身份证。近期一寸免冠彩色照片(部分地区可能现场采集,无需自带)。其他可能需要的证明文件,具体可以咨询当地公安机关。预约:一些地区可能要求先在网上或通过电话预约办理时间。你可以访问当地的公安局官方网站或者使用“交管12123”等官方APP进行预约。前往户籍所在地派出所:携带上述所有材料到户籍所在地的公安分局或派出所的身份信息管理科申请办理。如果你是在异地工作或生活,某些情况下也可以在居住地的指定地点办理。填写表格:到达后,工作人员会给你一份《居民身份证申领登记表》,你需要如实填写个人信息。",metadata={"source": "https://www.baidu.com/","title": "如何办理身份证?","createTime": "2024-12-11 08:47"}),
]# 使用递归字符文本分割器拆分文档
text_splitter = RecursiveCharacterTextSplitter(chunk_size=100,  # 设置块大小chunk_overlap=10,  # 设置重叠区域length_function=len
)# 拆分文档
documents = text_splitter.split_documents(documentArray)# 将文档和嵌入一起存入 Milvus 向量库
# db_name选择数据库
# collection_name选择表
vector_db = Milvus.from_documents(collection_name='test',documents=documents,  # 拆分后的文档embedding=embedding,  # 嵌入模型connection_args={"host": "127.0.0.1", "port": default_server.listen_port,"db_name":'test'},  # Milvus 连接参数
)

在milvus中查询

from langchain_community.vectorstores import Milvus
from langchain.embeddings.huggingface import HuggingFaceEmbeddings# 定义嵌入模型
embedding = HuggingFaceEmbeddings(model_name='model/conan-embedding-v1/')# 设置vector_db 
vector_db = Milvus(collection_name='test',embedding_function=embedding,  # 使用关键字参数传递connection_args={"host": "127.0.0.1", "port": 19530}
)query = "如何办理身份证"
#expr参数可以灵活设置条件
documents_all = vector_db.similarity_search(query,expr = "source == 'https://www.baidu.com/' and title like '%身份证%'")
print(documents_all)
#查询文档pk主键
listpks = vector_db.get_pks("source == 'https://www.baidu.com/'")print(listpks)

在milvus中删除数据

from langchain_community.vectorstores import Milvus
from langchain.embeddings.huggingface import HuggingFaceEmbeddings# 定义嵌入模型
embedding = HuggingFaceEmbeddings(model_name='model/conan-embedding-v1/')# 设置vector_db 
vector_db = Milvus(collection_name='test',embedding_function=embedding,connection_args={"host": "127.0.0.1", "port": 19530}
)
#查询出相关的pks
listpks = vector_db.get_pks("source == 'https://www.baidu.com/'")
#根据pks批量删除数据
res = vector_db.delete(listpks)
print(res)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/493796.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARP..

ARP 0 前言 真正接触到现网才发现ARP十分重要,无论是排错还是S-MLAG都需要用到ARP这个协议,以前对于ARP的理解比较混乱;所以这次对其中的主要内容做个梳理;一定要学好ARP!!! 1 ARP的概念 Ar…

单片机上电后程序不运行怎么排查问题?

1.电源检查。使用电压表测量单片机的电源电压是否正常,确保电压在规定的范围内,如常见的5V。 2.复位检查。检查复位引脚的电压是否正常,在单片机接通电源时,复位引脚通常会有一个高电平,按下复位按钮时,复位…

SKETCHPAD——允许语言模型生成中间草图,在几何、函数、图算法和游戏策略等所有数学任务中持续提高基础模型的性能

概述 论文地址:https://arxiv.org/pdf/2406.09403 素描是一种应用广泛的有效工具,包括产生创意和解决问题。由于素描能直接传达无法用语言表达的视觉和空间信息,因此从古代岩画到现代建筑图纸,素描在世界各地被用于各种用途。儿童…

Linux应用开发————mysql数据库表

mysql数据库表操作 查看表的结构 mysql> desc / describe 表名; 或者: mysql> show create table 表名; 常见数据库引擎: innodb, myISAM... 删除表 mysql> drop tabl…

【C#】实现Json转Lua (Json2Lua)

关键词: C#、JsonToLua、Json2Lua、对象序列化Lua 前提需引入NewtonsofJson,引入方法可先在Visual Studio 2019 将Newtonsoft.Json.dll文件导入Unity的Plugins下。 Json格式字符串转Lua格式字符串,效果如下: json字符串 {"1": &q…

2.4 网络概念(分层、TCP)

网络层与传输层概述 网络层: 抽象概念:网络层是基于 IP 的抽象概念,与数据链路层用 MAC 地址标记设备不同。MAC 地址是一种具体化的概念,绑定于所在的物理网络,而 IP 地址可以是固定的,也可以通过路由动态…

LabVIEW伸缩臂参数监控系统

LabVIEW开发伸缩臂越野叉车参数监控系统主要应用于工程机械中的越野叉车,以提高车辆的作业效率和故障诊断能力。系统通过PEAK CAN硬件接口和LabVIEW软件平台实现对叉车作业参数的实时监控和故障分析,具有良好的实用性和推广价值。 系统组成 系统主要由P…

多目标优化常用方法:pareto最优解

生产实际中的许多优化问题大都是多目标问题,举个例子:我们想换一份工资高、压力小、离家近的新工作,这里工资高、压力小、离家近就是我们的目标,显然这是一个多目标问题,那我们肯定想找到这三个目标同时最优的工作&…

跨站脚本攻击的多种方式——以XSS-Labs为例二十关详解解题思路

一、XSS-Labs靶场环境搭建 1.1、XSS介绍 跨站脚本攻击(XSS)_跨站脚本测试-CSDN博客https://coffeemilk.blog.csdn.net/article/details/142266454 1.2、XSS-Labs XSS-Labs是一个学习XSS攻击手法的靶场,方便我们系统性的学习掌握跨站脚本攻击…

【win10+RAGFlow+Ollama】搭建本地大模型助手(教程+源码)

一、RAGFlow简介 RAGFlow是一个基于对文档深入理解的开源RAG(Retrieval-augmented Generation,检索增强生成)引擎。 主要作用: 让用户创建自有知识库,根据设定的参数对知识库中的文件进行切块处理,用户向大…

54、库卡机器人轴的软限位设置

步骤1:将用户组改为“专家”。 步骤2:点击“投入运行”----“售后服务”-----“软件限位开关” 步骤3:就可以针对每个轴修改对应的角度值,然后点击“保存”。

0基础学前端-----CSS DAY9

0基础学前端-----CSS DAY9 视频参考:B站Pink老师 今天是CSS学习的第九天,今天开始的笔记对应Pink老师课程中的CSS第四天的内容。 本节重点:常见网页布局以及清除浮动 2. 常见网页布局 2.1 常见网页布局 有以下三种: 参考代码…

【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等

【自动化】Python SeleniumUtil 工具 【Python】使用Selenium 操作浏览器 自动化测试 记录-CSDN博客文章浏览阅读58次。文章浏览阅读42次。【附件】Selenium chromedriver 驱动及浏览器下载。【附件】Selenium chromedriver 驱动及浏览器下载-CSDN博客。3.安装Chrome浏览器驱动…

UE5 移植Editor或Developer模块到Runtime

要将源码中的非运行时模块移植到Runtime下使用,个人理解就是一个解决编译报错的过程,先将目标模块复制到项目的source目录内,然后修改模块文件夹名称,修改模块.build.cs与文件夹名称保持一致 修改build.cs内的类名 ,每…

全志H618 Android12修改doucmentsui选中图片资源详情信息

背景: 由于当前的文件管理器在我们的产品定义当中,某些界面有改动的需求,所以需要在Android12 rom中进行定制以符合当前产品定义。 需求: 进入file文件管理器后,点击选中图片资源,选中功能按钮,获取信息,不显示“调试信息(仅开发者)”;现状是,获取信息,显示“调试信…

【WPS安装】WPS编译错误总结:WPS编译失败+仅编译成功ungrib等

WPS编译错误总结:WPS编译失败仅编译成功ungrib等 WPS编译过程问题1:WPS编译失败错误1:gfortran: error: unrecognized command-line option ‘-convert’; did you mean ‘-fconvert’?解决方案 问题2:WPS编译三个exe文件只出现u…

Spring(二)---基于注解的方式实现Bean管理和注入属性

目录 引入 什么是注解 Spring针对Bean管理中创建对象提供的注解 用注解的方式创建对象 ①:编写接口和实现类 ②:在需要管理的类上添加Component注解(上边四个都可以) ③:编写配置文件,重点是开启注解…

集成自然语言理解服务,让应用 “听得懂人话”

如今,应用程序智能化已成趋势,开发者想要实现智能化,那么首先需要赋予应用理解自然语言的能力,使其能够准确地听懂人话,进而响应用户需求,并提供一系列智能化服务。比如用户语音控制应用程序帮忙订票&#…

Redis常见阻塞原因总结

O(n) 命令 Redis 中的大部分命令都是 O(1)时间复杂度,但也有少部分 O(n) 时间复杂度的命令,例如: KEYS *:会返回所有符合规则的 key。HGETALL:会返回一个 Hash 中所有的键值对。LRANGE:会返回 List 中指定…

golang自定义MarshalJSON、UnmarshalJSON 原理和技巧

问题出现的原因:在前后端分离的项目中,经常出现的问题是时间戳格式的问题。 后端的日期格式兼容性强,比较完善。前端由于各种原因,日期格式不完善。 就会产生矛盾。 ms int64比较通用,但是unix时间没有可读性&#xff…