安装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

然后在文件夹执行命令

cpp 复制代码
docker compose up -d

安装完成在docker里面启动

然后下载attu工具
attu工具下载地址

如果是centos服务器的话可以直接用宝塔无脑安装milvus

插入数据到milvus

python 复制代码
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中查询

python 复制代码
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中删除数据

python 复制代码
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)
相关推荐
2301_794333913 天前
Docker Compose 运行 Milvus (Mac) 并与 python 连接测试
macos·docker·milvus
勇往直前plus6 天前
Milvus快速入门以及用 Java 操作 Milvus
java·spring boot·embedding·milvus
乔公子搬砖14 天前
构建企业级RAG系统:基于Milvus的模块化实现与全流程解析
大数据·人工智能·python·ai·milvus·rag·向量库
runfarther15 天前
Milvus 向量数据库开发实战指南
python·ai·大语言模型·数据库开发·milvus
耳东哇18 天前
在使用spring ai进行llm处理的rag的时候,选择milvus还是neo4j呢?
人工智能·neo4j·milvus
Code_Geo19 天前
向量库Qdrant vs Milvus 系统详细对比
milvus·向量库·qdrant
LiRuiJie19 天前
基于LangChain + Milvus 实现RAG
python·langchain·milvus·rag
秋天枫叶3522 天前
【AI应用】修改向量数据库Milvus默认密码
运维·服务器·数据库·ubuntu·milvus·milvus_cli
计算机小手23 天前
基于 Flask 与 Milvus 构建高效图片搜索引擎,可通过API接入,支持Docker一键部署
经验分享·docker·flask·开源软件·milvus
linweidong1 个月前
如何设计和实施高效的向量化数据检索解决方案
人工智能·机器学习·大模型·agent·milvus·faiss·向量索引