linux安装milvus数据库lite版本

linux安装milvus数据库lite版本

https://milvus.io/docs/milvus_lite.md

参考上述教程,直接安装该包即可。标准版和分布式版要运行docker。

pip install -U pymilvus

下面是官方的demo,一起看看

from pymilvus import MilvusClient # 导入库,客户端
import numpy as np # 

# 创建客户端,并连接到一个名为 milvus_demo.db 的本地数据库。这个文件将用于存储 Milvus 数据库的索引和数据
client = MilvusClient("/root/RAG/milvus/milvus_demo.db")
client.create_collection(
    collection_name="demo_collection",
    dimension=4  # The vectors we will use in this demo has 384 dimensions
) # 创建集合,设置名称和向量维度数


# 待加入的文本,三条。
docs = [
    "Artificial intelligence was founded as an academic discipline in 1956.",
    "Alan Turing was the first person to conduct substantial research in AI.",
    "Born in Maida Vale, London, Turing was raised in southern England.",
]
# 为这些文本构建虚拟向量
vectors = [[ np.random.uniform(-1, 1) for _ in range(4) ] for _ in range(len(docs)) ]
print(vectors)


# 构建json字典,这是真正传入数据库的东西
data = [ {"id": i, "vector": vectors[i], "text": docs[i], "subject": "history"} for i in range(len(vectors)) ]
# insert方法插入数据
res = client.insert(
    collection_name="demo_collection",
    data=data
)
print(data)

# 检索数据,传入Query向量,结合布尔检索
res = client.search(
    collection_name="demo_collection",
    data=[vectors[0]],
    filter="subject == 'history'",
    limit=2,
    output_fields=["text", "subject"],
)
print(res)

# 查询数据,纯布尔检索
res = client.query(
    collection_name="demo_collection",
    filter="subject == 'history'",
    output_fields=["text", "subject"],
)
print(res)

# 根据布尔条件删除记录
res = client.delete(
    collection_name="demo_collection",
    filter="subject == 'history'",
)
print(res)

输出:
vector:

[[-0.18993033343249377, -0.853204716673974, -0.6934232192055412, -0.7363553533144986], [0.6506801349937705, -0.5114297246706443, -0.6227428721418204, -0.4484672597247552], [0.3325751425210133, -0.5403168744637166, 0.6497994854622242, -0.7438264838676247]]

data:

[{'id': 0, 'vector': [-0.18993033343249377, -0.853204716673974, -0.6934232192055412, -0.7363553533144986], 'text': 'Artificial intelligence was founded as an academic discipline in 1956.', 'subject': 'history'}, {'id': 1, 'vector': [0.6506801349937705, -0.5114297246706443, -0.6227428721418204, -0.4484672597247552], 'text': 'Alan Turing was the first person to conduct substantial research in AI.', 'subject': 'history'}, {'id': 2, 'vector': [0.3325751425210133, -0.5403168744637166, 0.6497994854622242, -0.7438264838676247], 'text': 'Born in Maida Vale, London, Turing was raised in southern England.', 'subject': 'history'}]

search的res:

data: ["[{'id': 0, 'distance': 1.0, 'entity': {'text': 'Artificial intelligence was founded as an academic discipline in 1956.', 'subject': 'history'}}, {'id': 1, 'distance': 0.7123634815216064, 'entity': {'text': 'Alan Turing was the first person to conduct substantial research in AI.', 'subject': 'history'}}]"]

query的res:

data: ["{'id': 0, 'text': 'Artificial intelligence was founded as an academic discipline in 1956.', 'subject': 'history'}", "{'id': 1, 'text': 'Alan Turing was the first person to conduct substantial research in AI.', 'subject': 'history'}", "{'id': 2, 'text': 'Born in Maida Vale, London, Turing was raised in southern England.', 'subject': 'history'}"] 

delete的res:

[0, 1, 2]

在创建集合并插入数据时,Milvus 会默认使用 FLAT(扁平)索引。
可以在插入数据之后随时创建或修改索引。

PDF解析

安装llama-index:q是指安静模式

pip install -qU llama-index llama-parse

在https://cloud.llamaindex.ai/api-key创建key

demo:

import nest_asyncio
 
nest_asyncio.apply()
 
import os
 
os.environ["LLAMA_CLOUD_API_KEY"] = "llx-3WKY267STksBoUy22M61zilLkzjHCno6AK6QF6LtX8oE5BNl"

from llama_parse import LlamaParse
 
parser = LlamaParse(
    result_type="text", # markdown
    language="ch_sim",
    verbose=True,
    num_workers=4,
)

documents = parser.load_data("/root/RAG/data/刘浩东_应届_LMM.pdf")

print(documents)

[Document(id_=‘7f37e73f-b251-4c76-9c50-1e3c0a271e8a’, embedding=None, metadata={}, excluded_embed_metadata_keys=[], excluded_llm_metadata_keys=[], relationships={}, text=’ 刘浩东\n 156-9160-4654 2272463882@qq.com\n\n 教育经历\n江苏大学 信息资源管理 硕士 2022.09 - 2025.07\n西北大学 信息资源管理 本科 2018.09 - 2022.07\n 主修课程:Python语言、信息检索、知识组织、数据挖掘\n\n 实习经历\n医者AI 研发部 大模型算法实习生 2024.06 - 2024.08\n口腔健康模型训练\n 数据工程:调研华佗、好大夫等开源医学和口腔领域对话数据集,筛选、清洗并整理数据。\n 指令微调:使用DeepSpeed和PEFT基于Qwen1.5-32B-chat进行单机多卡分布式训练,根据训练和验证集loss曲线调整超\n 参数。在测试集上计算BLEU,ROUGE等指标验证微调效果。\n 业务场景对比测试:使用vLLM部署模型,嵌入Dify工作流测试,封装为大模型竞技场,和Qwen1.5-32B-chat、Qwen2-\n 72B-Instruct和真实回复内容进行主观评价。经过10余人的共计6000次投票,微调模型elo得分高出第二名210分,验证了\n 微调模型的在口腔领域的专业性与用户接受度。\n滴滴出行 效能平台部 nlp算法实习生 2023.10 - 2024.05\n企业知识百科AI搜索框架设计和搭建,支持员工信息和公司内部文档问答\n 数据工程:对多源异构数据进行清洗和集成,确保数据的质量和一致性;构建高质量的自我认知微调数据集;基于员工信\n 息,构建监督微调数据集;使用大模型对内部文档进行语义摘要,与员工信息一起进行向量化处理,存入Milvus数据库,\n 便于高效检索。\n 模型微调:基于百川13B-chat进行自我认知微调和员工信息对话数据微调;构造相应测试集,准确率近75%;构造通用能\n 力测试集,测试模型在提升特定领域性能的同时,不影响其通用能力。\n 企业级RAG系统搭建:使用Milvus向量数据库存储员工信息和公司内部文档,建立高效的向量索引系统;通过多路召回机\n 制提高检索相关性,结合BGE进行重排,确保检索结果的高相关性和精确度;设计并优化提示词,提升模型回复的质量和连\n 贯性。在测试集上进行端到端的效果评测,整体准确率提升了近20%。\n\n 项目经历\n舆情评论情感细粒度分析 负责人 2023.12 - 2024.02\n改进含表情符号评论的细粒度情感分析能力\n 数据处理:基于SMP2020开源数据集构造包含评论和表情符号的图文多模态数据集。\n 模型构建:利用CLIP和BERT对表情图像和文本进行特征提取,通过交叉注意力机制实现两者的有效融合。\n 研究成果:模型在测试集上的表现优越,六分类任务的F1得分达到75.31%,准确率为75.99%。论文正在审稿中。\n微博舆情主题及情感演化的时空分析 负责人 2021.05 - 2021.07\n分析新冠疫苗微博舆情主题和情感的时空变化\n 数据采集与预处理:使用 Python 爬虫采集近2万微博和20万评论数据,并进行去重和清洗。\n 分析框架搭建:使用Python实现LDA主题模型,采用飞桨训练BI-LSTM模型用于情感分类。\n 研究成果:研究被提交至全国高校数据创新大赛并获优秀奖。此研究为公共卫生机构和医药公司提供了可复用的社交网络\n 分析流程和有价值的公众情感洞察。代码在GitHub开源,已有543个star。\n\n 技能描述\n LLM微调和应用:熟悉Linux,DeepSpeed分布式训练,PEFT参数高效微调,RAG系统构建及优化,实践经验丰富。\n pytorch和SQL:熟悉pytorch模型开发全流程,擅长高效的数据查询和管理。\n CET-6:具备良好的英文读写和沟通能力。\n\n 自我评价\n 熟悉大模型微调应用全流程:从数据采集、预处理、构造到大模型微调和 RAG 系统搭建,都有深入的参与和实践。\n 较强的自驱力及团队协作能力:能够积极探索新技术,与团队成员顺利协作,推进项目进展。‘, mimetype=‘text/plain’, start_char_idx=None, end_char_idx=None, text_template=’{metadata_str}\n\n{content}‘, metadata_template=’{key}: {value}‘, metadata_seperator=’\n’)]

向量化

https://docs.llamaindex.ai/en/stable/examples/embeddings/huggingface/

采用本地的,直接用抱抱脸的接口

数据库

集合实例化,字段设置
https://milvus.io/docs/schema.md#Field-schema
https://blog.csdn.net/qq_43814415/article/details/134446263

数据搜索:
https://milvus.io/docs/index.md?tab=floating

实践教程

https://docs.llamaindex.ai/en/stable/use_cases/q_and_a/

rag的prompt:
https://docs.llamaindex.ai/en/stable/examples/prompts/prompts_rag/

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Milvus是一个分布式、高性能的向量相似度检索系统,非常适合于处理大规模高维数据集。以下是关于如何安装 Milvus 数据库的基本步骤: ### 安装 Milvus #### 准备工作 1. **操作系统**:推荐使用 Linux 环境(如 CentOS、Ubuntu 或者 Debian)。如果您在 Windows 上运行,您需要使用 Docker 来运行 Milvus。 2. **Python**: 需要 Python 3.x 版本,并且确保您的环境已经安装了用于运行 Milvus 的所有依赖包。 3. **端口**:确保您的服务器上可以访问所需的端口(通常为默认的 `9000` 和 `8000`),并且它们未被其他服务占用。 4. **网络**:确保 Milvus 能够通过网络连接到其节点之间,如果部署的是集群模式。 ### 使用 Docker 安装 Milvus Docker 提供了一个简单的方式启动并运行 Milvus 实例。以下是在 Linux 系统上使用 Docker 运行 Milvus 的命令示例: ```bash # 下载 Milvus 的最新镜像 docker pull milvusdb/milvus:latest # 创建一个新的容器并运行 Milvus docker run -d \ --name milvus_db \ -p 9000:9000 \ -p 8000:8000 \ milvusdb/milvus:latest ``` ### 检查 Milvus 是否成功启动 打开浏览器访问 `http://localhost:8000` 来验证 Milvus 控制面板是否正常启动。 ### 后续操作 一旦 Milvus 成功启动,您可以开始构建索引、导入数据以及执行查询等操作。通常,这会涉及到 Python SDK 或 RESTful API 的使用,例如通过 `pip install milvus-sdk` 安装客户端库并在应用程序中调用相应的 API 方法。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灵海之森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值