window10添加向量数据库以及调用

创建docker

1,在windows功能中打开Hyper-V 和 容器

2,进入https://www.docker.com/ ,下载windows版本进行安装

创建milvus及连接

1,创建milvus文件夹,在文件夹下建立conf,db,logs,pic,wal五个文件夹,把docker-compose.yml和server_config.yaml放如conf文件夹中,使用命令提示符进入到conf文件夹中,执行docker-compose up -d,执行结束后,再执行docker-compose up -d来查看运行状态,然后运行docker run -p 3000:3000 -e HOST_URL=http://192.168.10.171:3000 -e MILVUS_URL=192.168.10.171:19530 milvusdb/milvus-insight:latest 。在docker中即可看到

点击3000端口,通过3000接口进入到milvus界面。

2,python程序

1》创建集合

from pymilvus import FieldSchema, DataType, CollectionSchema, connections, Collection

#创建存储字段

id = FieldSchema(

name="id",

dtype=DataType.INT64,

is_primary=True,

)

vec = FieldSchema(

name="vec",

dtype=DataType.FLOAT_VECTOR,

dim=2048

)

schema = CollectionSchema(

fields=[id, vec],

description="Test search"

)

collection_name = "animal"

print("#########连接数据库##############")

connections.connect(

alias="default",

host='192.168.10.171',

port='19530'

)

print("#########根据上面得信息创建集合##############")

collection = Collection(

name=collection_name,

schema=schema,

using='default',

shards_num=2

)

print("#########关闭连接##############")

connections.disconnect("default")

2》添加数据

#print("#########连接数据库##############")

from towhee import pipeline

from pymilvus import connections, Collection

connections.connect(

alias="default",

host='192.168.10.171',

port='19530'

)

#print("#########插入数据##############")

p = pipeline('image-embedding')

output = p('http://localhost:54867/7.jpg')

data = [

[7],

[output],

]

collection = Collection("animal")

mr = collection.insert(data)

print(mr)

3》查询数据

import towhee

from django.http import HttpResponse

from pymilvus import connections,Collection

from towhee import pipeline

#获取图片向量查询的数据

def selectData(request):

connections.connect(host='192.168.10.171', port='19530')

t = (

towhee.glob['path']('E://milvus//coreCode//getImages//getImages//wwwroot//7.jpg')

.image_decode['path', 'img']()

.image_embedding.timm['img', 'vec'](model_name='resnet50')

.milvus_search['vec', 'results'](collection='animal')

.select['results']()  # 选择指定列;

.to_list()

)

tr = "";

for i in t:

for j in i.results:

tr = tr + "  " + str(j.id)

return HttpResponse(tr, content_type="application/json")

def selectvector(request):

#print("#########连接数据库##############")

connections.connect(

alias="default",

host='192.168.10.171',

port='19530'

)

#print("#########查询数据##############")

p = pipeline('image-embedding')

output = p('http://localhost:54867/7.jpg')

collection = Collection("animal")

search_params = {"metric_type": "L2", "params": {"nprobe": 1}, "search_length": 100}

tt = collection.search(

data=[output],

anns_field="vec",

param=search_params,

offset=0,

limit=3,

expr=None

)

#print("#########查询结果##############")

return HttpResponse(tt, content_type="application/json")

最新文章

  1. apache http server 局域网无法访问
  2. android学习日记21--消息提示之Toast和Notification
  3. ios之UI中自定义cell
  4. js中的模块化编写思维
  5. poj 1759 Garland (二分搜索之其他)
  6. 运行yum报错Error: Cannot retrieve metalink for reposit
  7. IOS发展--他们控制的定义
  8. 第三章 Netty入门应用
  9. 算法-java代码实现堆排序
  10. linux读取Windows的txt文件问题
  11. Python基础整理
  12. Centos6安装FreeSWITCH 1.5时./configure问题解决记录
  13. linux使用pam_tally2.so模块限制登录3次失败后禁止5分钟
  14. 什么是渲染目标(render target)&& 渲染到纹理(Render To Texture, RTT)详解
  15. AIX挂载NFS写入效率低效解决
  16. ElasticSearch 2 (26) - 语言处理系列之打字或拼写错误
  17. H5地理位置定位
  18. 【转】【WebStorm】利用WebStorm来管理你的Github
  19. 相似变换 SimilarityTransform 以及skimage源码
  20. Python Web学习笔记之WebSocket 通信过程与实现

热门文章

  1. toastr.js 便捷弹框怎么用?怎么本地化?
  2. ONNX模型分析与使用
  3. 软件安装——idea的安装和使用
  4. CodeForces 构造题专项解题报告
  5. npm 中设置环境NODE_ENV变量,判断失败打印process.env.NODE_ENV确实是"development",但是判断process.env.NODE_ENV === "development" 是false
  6. 12月6日内容总结——BOM、DOM、两者查找标签的方式和操作标签的方式、操作class和css的方法、事件、jQuery类库
  7. 面向对象程序设计(三):C++模板operator Type类型转换
  8. Thymeleaf中判断Security权限 - SpringBoot
  9. WPF 使用动画绘制一个点赞大拇指
  10. 计算机网络14 Internet网络层主要功能 IP协议 路由协议 ICMP协议