1.使用Docker Compose安装Milvus Standalone
下载安装单机版milvus
向量数据库 https://milvus.io/docs/install_standalone-docker.md
wget https://github.com/milvus-io/milvus/releases/download/v2.2.12/milvus-standalone-docker-compose.yml -O docker-compose.yml
sudo docker-compose up -d
# 连接到Milvus
docker port milvus-standalone 19530/tcp
2.启动和测试(可跳过)
2.1依赖安装:
pymilvus>=2.1.0
hnswlib>=0.5.2
pybind11
milvus>=2.1.0
2.2 下载示例代码进行测试
- 下载 hello_milvus.py 直接或使用以下命令
wget https://raw.githubusercontent.com/milvus-io/pymilvus/v2.2.8/examples/hello_milvus.pyorwget https://raw.githubusercontent.com/milvus-io/pymilvus/v2.2.x/examples/hello_milvus.py
运行 hello_milvus.py
python hello_milvus.py
=== start connecting to Milvus ===Does collection hello_milvus exist in Milvus: False=== Create collection `hello_milvus` ====== Start inserting entities ===Number of entities in Milvus: 3000=== Start Creating index IVF_FLAT ====== Start loading ====== Start searching based on vector similarity ===hit: id: 2998, distance: 0.0, entity: {'random': 0.9728033590489911}, random field: 0.9728033590489911
hit: id: 1262, distance: 0.08883658051490784, entity: {'random': 0.2978858685751561}, random field: 0.2978858685751561
hit: id: 1265, distance: 0.09590047597885132, entity: {'random': 0.3042039939240304}, random field: 0.3042039939240304
hit: id: 2999, distance: 0.0, entity: {'random': 0.02316334456872482}, random field: 0.02316334456872482
hit: id: 1580, distance: 0.05628091096878052, entity: {'random': 0.3855988746044062}, random field: 0.3855988746044062
hit: id: 2377, distance: 0.08096685260534286, entity: {'random': 0.8745922204004368}, random field: 0.8745922204004368
search latency = 0.1278s=== Start querying with `random > 0.5` ===query result:
-{'random': 0.6378742006852851, 'embeddings': [0.20963514, 0.39746657, 0.12019053, 0.6947492, 0.9535575, 0.5454552, 0.82360446, 0.21096309], 'pk': '0'}
search latency = 0.0587s
query pagination(limit=4):[{'random': 0.6378742006852851, 'pk': '0'}, {'random': 0.5763523024650556, 'pk': '100'}, {'random': 0.9425935891639464, 'pk': '1000'}, {'random': 0.7893211256191387, 'pk': '1001'}]
query pagination(offset=1, limit=3):[{'random': 0.5763523024650556, 'pk': '100'}, {'random': 0.9425935891639464, 'pk': '1000'}, {'random': 0.7893211256191387, 'pk': '1001'}]=== Start hybrid searching with `random > 0.5` ===hit: id: 2998, distance: 0.0, entity: {'random': 0.9728033590489911}, random field: 0.9728033590489911
hit: id: 747, distance: 0.14606499671936035, entity: {'random': 0.5648774800635661}, random field: 0.5648774800635661
hit: id: 2527, distance: 0.1530652642250061, entity: {'random': 0.8928974315571507}, random field: 0.8928974315571507
hit: id: 2377, distance: 0.08096685260534286, entity: {'random': 0.8745922204004368}, random field: 0.8745922204004368
hit: id: 2034, distance: 0.20354536175727844, entity: {'random': 0.5526117606328499}, random field: 0.5526117606328499
hit: id: 958, distance: 0.21908017992973328, entity: {'random': 0.6647383716417955}, random field: 0.6647383716417955
search latency = 0.1308s=== Start deleting with expr `pk in ["0" , "1"]` ===query before delete by expr=`pk in ["0" , "1"]` -> result:
-{'random': 0.6378742006852851, 'embeddings': [0.20963514, 0.39746657, 0.12019053, 0.6947492, 0.9535575, 0.5454552, 0.82360446, 0.21096309], 'pk': '0'}
-{'random': 0.43925103574669633, 'embeddings': [0.52323616, 0.8035404, 0.77824664, 0.80369574, 0.4914803, 0.8265614, 0.6145269, 0.80234545], 'pk': '1'}query after delete by expr=`pk in ["0" , "1"]` -> result: []=== Drop collection `hello_milvus` ===
attu 可视化详解
https://github.com/zilliztech/attu/blob/main/doc/zh-CN/attu_install-docker.md
docker run -p 8000:3000 -e MILVUS_URL={your machine IP}:19530 zilliz/attu:v2.2.6
使用用户名和密码连接到Milvus服务。
下载 `“milvus-standalone-docker-compose。并将其保存为“docker-compose”。手动或使用以下命令。
wget https://github.com/milvus-io/milvus/releases/download/v2.2.11/milvus-standalone-docker-compose.yml -O docker-compose.yml
编辑下载的“docker-compose”。使用您喜欢的文本编辑器将Yml '文件添加到services块中:
attu:container_name: attuimage: zilliz/attu:v2.2.6environment:MILVUS_URL: milvus-standalone:19530ports:- "8000:3000"depends_on:- "standalone"
在与“docker-compose”文件相同的目录下。运行以下命令启动Milvus和Attu:
sudo docker-compose up -d
如果你的系统安装了Docker Compose V2而不是V1,使用’ Docker Compose ‘而不是’ Docker - Compose '。检查“$ docker compose version”是否属于这种情况。阅读这里了解更多信息。
Creating milvus-etcd ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done
Creating attu ... done
现在检查容器是否启动并运行。
sudo docker-compose ps
在Milvus standalone启动后,将有三个docker容器在运行,包括Milvus standalone服务和它的两个依赖项。
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------
milvus-etcd etcd -advertise-client-url ... Up 2379/tcp, 2380/tcp
milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 9000/tcp
milvus-standalone /tini -- milvus run standalone Up 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
attu /usr/bin/docker-entrypoint ... Up 0.0.0.0:8000->3000/tcp
在浏览器中访问“http://{your machine IP}:8000”,点击“Connect”进入Attu服务。我们还支持TLS连接,用户名和密码。
[参考链接]https://blog.csdn.net/sinat_39620217/article/details/131847096%29)