milvus入门使用

news/2024/10/1 3:24:47

插入数据后的效果:

 代码如下:

import configparser
from pymilvus import connections, Collection, DataType, FieldSchema, CollectionSchema
import numpy as npdef create_collection():# Define the schemafields = [FieldSchema(name="sentence_id", dtype=DataType.INT64, is_primary=True, auto_id=True),FieldSchema(name="sentence", dtype=DataType.VARCHAR, max_length=512),FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128)]schema = CollectionSchema(fields, description="Sentence collection")# Create the collectioncollection = Collection(name="sentence_collection", schema=schema)return collectiondef insert_data(collection):sentences = ["这是第一句。","这是第二句。","这是第三句。"]embeddings = np.random.rand(len(sentences), 128).tolist()  # Generate 128-dimensional vectorsentities = [sentences,embeddings]insert_result = collection.insert(entities)print(f"Inserted {len(insert_result.primary_keys)} records into collection.")def create_index(collection):index_params = {"index_type": "IVF_FLAT","params": {"nlist": 128},"metric_type": "L2"}collection.create_index(field_name="embedding", index_params=index_params)print("Index created.")def search_data(collection, query_sentence):query_embedding = np.random.rand(1, 128).tolist()  # Generate a vector for the query sentencesearch_params = {"metric_type": "L2", "params": {"nprobe": 10}}results = collection.search(data=query_embedding,anns_field="embedding",param=search_params,limit=3,expr=None,output_fields=["sentence"])for hits in results:for hit in hits:print(f"Match found: {hit.id} with distance: {hit.distance}, sentence: {hit.entity.get('sentence')}")if __name__ == '__main__':# Connect to Milvuscfp = configparser.RawConfigParser()cfp.read('config.ini')milvus_uri = cfp.get('example', 'uri')token = cfp.get('example', 'token')connections.connect("default",uri=milvus_uri,token=token)print(f"Connecting to DB: {milvus_uri}")# Create collectioncollection = create_collection()# Insert datainsert_data(collection)# Create indexcreate_index(collection)# Load the collection into memorycollection.load()# Search datasearch_data(collection, "这是一个查询句子。")

  

运行效果:

python hello_zilliz_vectordb.py
Connecting to DB: https://in03-ca69f49bb65709f.api.gcp-us-west1.zillizcloud.com
Inserted 3 records into collection.
Index created.
Match found: 450140263656791260 with distance: 19.557846069335938, sentence: 这是第二句。
Match found: 450140263656791261 with distance: 20.327802658081055, sentence: 这是第三句。
Match found: 450140263656791259 with distance: 20.40052032470703, sentence: 这是第一句。

 

注意事项:

  1. 向量转换:上面的代码使用了随机向量来模拟句子向量。在实际应用中,您需要使用 NLP 模型(例如中文 BERT)来将中文句子转换为向量。
  2. 字符编码:确保在读取和处理中文文本时使用正确的字符编码(通常是 UTF-8)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

vulhub - INFOSEC PREP: OSCP

泡面机 :指泡一桶泡面的时间就能打完的靶机vulhub - INFOSEC PREP: OSCP 信息收集 nmap 192.168.157.0/24nmap -sT --min-rate 10000 -p- 192.168.157.162sudo nmap -sT -sV -sC -O -p22,80,33060 192.168.157.162ssh登录 明显看到web页面有./secret.txt文件web首页提到了唯一…

vulnhub - hackme1

简单的入门靶机vulnhub - hackme1 信息收集 端口扫描详细扫描目录扫描跟漏洞探测没发现什么可用信息,除了登录还有一个uploads目录应该是进入后台之后才能使用 web主页是个登录注册页面,爆了一下admin没进去,随便注册个账户登入SQL注入 点击search按钮发现是个书本目录,这个…

el-upload拍照上传多个文件报错 ERR_UPLOAD_FILE_CHANGED问题

最近同事使用el-upload上传图片时出现一个问题,连续拍照多个图片的时候,循环调用接口上传会报错: ERR_UPLOAD_FILE_CHANGED,网上找了很多方案没有解决,下面是我自己的解决过程。 1. 问题描述我们用的套壳Android,网页发布在远程服务器,Android壳安装在ipad上 前端用的组…

基于蛙跳优化的神经网络数据预测matlab仿真

1.程序功能描述通过蛙跳优化算法,优化神经网络的权值参数,然后使用优化后的神经网络模型对数据进行预测,输出预测曲线。2.测试软件版本以及运行结果展示 MATLAB2022a版本运行 3.核心程序% 数据归一化预处理 Vmin1 = min(X); Vmax1 = max(X); Vmin2 = min(Y…

uni-app在微信小程序端自定义组件中样式穿透失效

前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验非常棒,公司项目就是主推uni-app。 坑位 最近因UI有别的事忙,导致手上暂时没什么活了,我于是抽时间优化项目代码,第一件事就是抽取复用组件。正好项目…

ASP.NET Core应用程序10:使用表单标签助手

本章描述用于创建 HTML 表单的内置标签助手。这些标签助手确保表单提交到正确的操作或页面处理程序方法,并确保元素准确地表示特定的模型属性。本章解释 ASP.NET Core 提供的创建 HTML 表单的功能。展示如何使用标签助手来选择表单目标和关联的 imput、textarea 和 select 元素…

m基于PSO-GRU粒子群优化长门控循环单元网络的电力负荷数据预测算法matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下:优化前: 优化后: 对比如下:2.算法涉及理论知识概要基于粒子群优化(Particle Swarm Optimization, PSO)和长门控循环单元(Gated Recurrent Unit, GRU)网络的电力负荷预测算法,是一种融合了优化技术和深度学习的先进预测模型。…

如何更改IIS中应用程序的虚拟路径

这边的虚拟路径查出来配置错了。 显示的是新建的时候的别名。修改目前我这边是删除重新加一个。