轻量级milvus安装和应用示例
轻量级milvus适合需要向量库,但不方便使用k8s或docker,有将milvus集成到python中的场景。
1 安装milvus
pip install milvus -i https://pypi.tuna.tsinghua.edu.cn/simple
2 启动milvus
1)终端启动
# 终端启动
milvus-server
# 后台启动
nohup milvus-server > run.log &
2)在python模块中启动
from milvus import default_server
from pymilvus import connections, utility
# Start your milvus serverdefault_server.start()
# Now you can connect with localhost and the given port
# Port is defined by default_server.listen_portconnections.connect(host='127.0.0.1', port=default_server.listen_port)# Check if the server is ready.print(utility.get_server_version())
# Stop your milvus serverdefault_server.stop()
3 测试milvus
走完上述步骤后,就可以测试和正常使用milvus了。
具体操作参考milvus client操作简单示例-CSDN博客
1)测试服务启动和连接
from milvus import default_server
from pymilvus import connections# 配置数据存储路径(避免使用临时目录)
default_server.set_base_dir("milvus_data")# 启动服务(默认端口19530)
default_server.start()# 连接客户端
connections.connect("default", host="127.0.0.1", port=default_server.listen_port)
2)定义client和collection
from pymilvus import MilvusClient, DataType
client = MilvusClient(
uri="http://localhost:19530",
token="root:Milvus"
)
3)插入数据
data = [
{"id": i, "vector": vectors[i], "text": docs[i], "subject": "history"}
for i in range(len(vectors))res = client.insert(collection_name="demo_collection", data=data)
print(res)
4)执行检索
# 执行搜索
query_vectors = [xxx] # 这里query向量已计算好,采用和准备数据是一样模型参数计算
res = client.search(
collection_name="demo_collection", # target collection
data=query_vectors, # query vectors
limit=2, # number of returned entities
output_fields=["text", "subject"], # specifies fields to be returned
)
print(res)
reference
---
基于Milvus Lite的轻量级向量数据库实战指南
https://juejin.cn/post/7528313969151033390
Milvus Lite 已交卷!轻量版 Milvus,主打就是一个轻便、无负担
https://zhuanlan.zhihu.com/p/635690303
milvus client操作简单示例
https://blog.csdn.net/liliang199/article/details/149904178