当前位置: 首页 > news >正文

milvus client操作简单示例

1 安装 milvus client库

pip install -U pymilvus -i https://pypi.tuna.tsinghua.edu.cn/simple

2 创建milvus库

创建milvus client之前需要本地或服务器启动milvus数据库

本地数据库连接

from pymilvus import MilvusClientclient = MilvusClient("milvus_demo.db")

远程数据库连接

from pymilvus import MilvusClientclient = MilvusClient(uri="http://localhost:19530", token="root:Milvus")

3 创建collections

if client.has_collection(collection_name="demo_collection"):client.drop_collection(collection_name="demo_collection")
client.create_collection(collection_name="demo_collection",dimension=768,  # The vectors we will use in this demo has 768 dimensions
)

4 准备数据

docs为文档库,vectors表示基于docs计算好的向量数据,这里采用本地定制模型计算。

data = [{"id": i, "vector": vectors[i], "text": docs[i], "subject": "history"}for i in range(len(vectors))
]print("Data has", len(data), "entities, each with fields: ", data[0].keys())
print("Vector dim:", len(data[0]["vector"]))

milvus提供了计算向量的库,示例如下

pip install "pymilvus[model]"

from pymilvus import model# If connection to https://huggingface.co/ failed, uncomment the following path
# import os
# os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'# This will download a small embedding model "paraphrase-albert-small-v2" (~50MB).
embedding_fn = model.DefaultEmbeddingFunction()# Text strings to search from.
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 = embedding_fn.encode_documents(docs)
# The output vector has 768 dimensions, matching the collection that we just created.
print("Dim:", embedding_fn.dim, vectors[0].shape)  # Dim: 768 (768,)

5 插入数据

res = client.insert(collection_name="demo_collection", data=data)
print(res)

{'insert_count': 3, 'ids': [0, 1, 2], 'cost': 0}

6 向量搜索

# query_vectors = embedding_fn.encode_queries(["Who is Alan Turing?"])
# If you don't have the embedding function you can use a fake vector to finish the demo:
# query_vectors = [ [ random.uniform(-1, 1) for _ in range(768) ] ]
query_vectors = [xxx] # 这里query向量已经计算好,采用和准备数据是一样的模型和参数计算。res = client.search(collection_name="demo_collection",  # target collectiondata=query_vectors,  # query vectorslimit=2,  # number of returned entitiesoutput_fields=["text", "subject"],  # specifies fields to be returned
)print(res)

data: ["[{'id': 2, 'distance': 0.5859944820404053, 'entity': {'text': 'Born in Maida Vale, London, Turing was raised in southern England.', 'subject': 'history'}}, {'id': 1, 'distance': 0.5118255615234375, 'entity': {'text': 'Alan Turing was the first person to conduct substantial research in AI.', 'subject': 'history'}}]"] , extra_info: {'cost': 0}

reference

---

quick start with mivus lite.

https://milvus.io/docs/v2.5.x/quickstart.md

http://www.dtcms.com/a/314511.html

相关文章:

  • 数据与模型优化随机森林回归进行天气预测
  • PyTorch深度学习实战(48)——基于Transformer实现机器翻译
  • 1.kotlin数组、集合常用方法
  • Day31:文件的规范拆分与写法
  • 三维模型轻量化双杀技:GISBox的纹理压缩与顶点压缩联合
  • 交叉验证:原理、作用与在机器学习流程中的位置
  • 【笔记】ROS1|1 ROS基本命令介绍及创建工作空间与功能包【旧文转载】
  • 从知识管理到智能协作:Gitee Wiki如何重塑软件研发效率范式
  • AI聊天:虚拟主播的角色提示词
  • HTTPS有哪些优点
  • LLM嵌入特征工程
  • Coze Studio 概览(七)--记忆管理功能
  • 单调栈|图
  • 电脑上不了网怎么办?【图文详解】wifi有网络但是电脑连不上网?网络设置
  • 【C++】——类和对象(下)
  • SpringBoot3.x入门到精通系列:3.3 整合 Elasticsearch 详解
  • Oracle EBS ERP接口开发 — 修复bug基本流程
  • 《人形机器人的觉醒:技术革命与碳基未来》——类人关节设计:气动人工肌肉PAM及其对材料技术要求与限制
  • 安装MySQL可视化管理工具DBeaver教程
  • Armoury Crate无法通过BIOS卸载
  • 微信小程序本地存储与Cookie的区别
  • 华为OD机考2025C卷 - 开源项目热度榜单 (Java Python JS C++ C )
  • Java反射的Field
  • 消息系统技术文档
  • 抽像代数概念理解——陪集(coset)
  • 华为2288H V5服务器闪红灯 无法开机案例
  • SpringBoot整合t-io是websocket实时通信
  • 题单【排序】
  • linux中 多进程 导致cuda错误的问题解决
  • 【测试】⾃动化测试常⽤函数