Qdrant推荐端点使用示例、多正负样本提交及推荐系统框架咨询
Qdrant推荐端点使用指南与推荐系统框架建议
一、Qdrant推荐端点使用示例
Python客户端示例(使用qdrant-client)
from qdrant_client import QdrantClient from qdrant_client.http.models import PointId # 初始化Qdrant客户端 client = QdrantClient("localhost", port=6333) # 发起基础推荐请求 recommendation_response = client.recommend( collection_name="your_target_collection", positive=[PointId(id=1), PointId(id=3)], # 关联正样本的点ID negative=[PointId(id=5)], # 需要排除的负样本点ID limit=10, # 期望返回的推荐结果数量 with_vectors=False # 按需设置是否返回向量数据 ) print("推荐结果列表:", recommendation_response)
HTTP API示例(curl命令)
curl -X POST 'http://localhost:6333/collections/your_target_collection/recommend' \ -H 'Content-Type: application/json' \ -d '{ "positive": [{"id": 1}, {"id": 3}], "negative": [{"id": 5}], "limit": 10, "with_vectors": false }'
二、提交多组正负样本的方法
Qdrant推荐端点原生支持多组正负样本,只需在对应参数的数组中添加更多元素即可:
多组正负样本(点ID版)Python示例
recommendation_response = client.recommend( collection_name="your_target_collection", positive=[ PointId(id=1), PointId(id=3), PointId(id=7) # 追加更多正样本点ID ], negative=[ PointId(id=5), PointId(id=9) # 追加更多负样本点ID ], limit=10 )
多组正负样本(向量版)Python示例
如果无需依赖已存在的点,可直接传入多组向量:
recommendation_response = client.recommend( collection_name="your_target_collection", positive_vectors=[ [0.1, 0.2, 0.3], [0.4, 0.5, 0.6] # 第二组正样本向量 ], negative_vectors=[ [0.7, 0.8, 0.9], [0.2, 0.3, 0.4] # 第二组负样本向量 ], limit=10 )
三、推荐系统构建常用框架
以下是覆盖不同场景的成熟推荐系统框架:
- Surprise:轻量级Python库,专注协同过滤算法,支持SVD、KNN等经典模型,适合快速原型验证。
- LightFM:混合推荐模型框架,融合协同过滤与内容推荐,支持显式/隐式反馈,对冷启动问题处理友好。
- TensorFlow Recommenders (TFRS):TensorFlow生态下的深度学习推荐框架,支持构建复杂个性化模型,适配大规模生产环境。
- PyTorchRec:PyTorch生态的推荐系统库,提供预训练模型与高效训练组件,适合深度学习定制化开发。
- RecSysLib:模块化推荐工具库,包含多种算法与评估模块,支持灵活定制推荐逻辑。
内容的提问来源于stack exchange,提问作者SushantPatade
相关产品推荐
相关产品推荐

