方式1:启动免费的cloud服务步骤
-
登录后在左侧 Clusters 页签,点击 Create, 创建一个Free的 Cluster
注意:改下Name, 起个自己喜欢名字,用起来方便点;
创建完成后可以在Clusters页签画面看到你的Cluster, 注意Status, 需要约半分钟的初始化;
点击Actions的“...”,导航到 details, dashboard, logs 等;
-
进入dashboard, 耍耍你的 cluster
Qdrant Cloud 现在访问 dashboard 要求使用 apikey 方式访问;
apikey生成:导航到页签 "Data Access Control", 点击创建对应集群的apikey;
注意生成时,把apikey备份到其他地方,供后续使用,这个key是一过性的,你不能再完整的看到它,只能重新生成;
方式2:本地docker
-
本地启动一个Qdrant
storage目录,存放数据文件
snapshots目录,存放快照
6333:API 默认端口
6334:gRPC API 默认端口,部分驱动(如官方的dotnet驱动)使用了grpc api,需要时请打开
开发环境建议配置 memory, cpus 限制,要不然数据多了,内存被吃光了
docker run -d \ -v /home/pet/data/qdrant/storage:/qdrant/storage \
-v /home/pet/data/qdrant/snapshots:/qdrant/snapshots \
-p 6333:6333 \
-p 6334:6334 \
--name my-qdrant \
--restart=always \
--network=host \
--memory="2048m" \
--cpus="1" \
qdrant/qdrant:v1.9.7
服务启动,开始耍耍
以上两种方式的dashboard是一样的,刚见面就在这里先简单耍耍
- 方式1:云上导航到dashboard;
- 方式2: http://localhost:6333/dashboard
-
导航 Console, 可以直接在里边执行各种 api
大家在这里可以对照api文档 https://api.qdrant.tech/api-reference, 直接调它的各种api, 例如:
// 创建一个名为 gacegroup1 的集合,存储向量的维度2,向量相似度算法Cosine
PUT collections/facegroup1
{
"vectors": { "size": 2, "distance": "Cosine" }
}
// 假设 facegroup1 的向量上带有 payload = { userId: int, userName: string}, 为userId字段创建索引,
PUT /collections/facegroup1/index
{
"field_name": "userId",
// "field_schema": "integer"
}
// upsert方法1
PUT collections/facegroup1/points
{
"batch": {
"ids": [1, 2, 3, 4, 5],
"vectors": [[1.1, 11.11], [2.2, 22.22], [3.3, 33.33], [4.4, 44.44], [5.5, 55.55]]
}
}
// upsert方法2
PUT collections/facegroup1/points
{
"points": [{
"id": 6,
"vector": [6.6, 66.66],
"payload": {
"userId": 6
}
},{
"id": 7,
"vector": [7.7, 77.77],
"payload": {
"userId": 7
}
}]
}
// 大家注意查询时的这个key是大小写敏感的
// 查询
POST collections/facegroup1/points/scroll
{
"limit": 10,
"filter": {
"must": [
{
"key": "city",
"match": {
"any": [
"San Francisco",
"New York"
]
}
}
]
}
}
// 查询
POST collections/facegroup1/points/search
{
"filter": {
"must": [
{
"key": "kidId",
"match": {
"any": [
4192
]
}
}
]
},
"vector": [0.017811239, 0.015926953],
"limit": 10,
"offset": 0,
"with_payload": true,
"with_vector": null,
"score_threshold": 0
}
// 删除points
POST collections/face/points/delete
{
"points": [1,2,3]
}
-
导航 Collections, 可以管理集合
-
导航 Tutorial,一个挺不错的互动教程
-
导航 Datasets, 一些数据资源
补充:
Cloud 上的 Cluster Details 画面提供了基本的集群管理信息:
节点Id, 访问地址, 监控,日志等。
开始玩的话,docker本地起一个更方便。
--------- 一贯的分割线 ---------------------