给Trae的指令
参考paddlex的图像识别和目标检测,做一个精简的寻物小助手的推理服务器后台。即用户可以用api传过来一个图片,服务器后台对图片进行识别和检测,并在数据库中找到相关图片。
服务器后台可以对识别的结果进行矢量化存储和检索,具体可以参考pp-shitu和飞桨的超市商品识别系统。
增加名词对应和检索功能。
最终的目标是:实现用户输入一副图片或者一个名字(如红色衬衫,书名叫红楼梦的书) ,系统可以找到对应的信息,并输出对应的物理存储位置。
物理存储位置一部分是手工输入,一部分是根据相邻物品推算出来的。
Trae写的项目
repo:searchbot - AtomGit | GitCode
安装依赖
pip install -r requirements.txt
启动服务器
python main.py
API使用示例
以图搜物
curl -X POST "http://localhost:8000/api/v1/search/image" \
-F "file=@shirt.jpg" \
-F "top_k=5"
以文搜物
curl -X POST "http://localhost:8000/api/v1/search/text" \
-H "Content-Type: application/json" \
-d '{"query": "红色衬衫", "top_k": 10}'
创建物品
curl -X POST "http://localhost:8000/api/v1/items" \
-H "Content-Type: application/json" \
-d '{
"name": "红色衬衫",
"description": "一件红色的棉质衬衫",
"category": "衣服",
"color": "红色",
"tags": ["上衣", "正式"]
}'
设置物品位置
curl -X POST "http://localhost:8000/api/v1/items/{item_id}/location" \
-H "Content-Type: application/json" \
-d '{
"room": "卧室",
"area": "衣柜A",
"shelf": "2",
"description": "挂在第二层"
}'
添加相邻关系
curl -X POST "http://localhost:8000/api/v1/items/{item_id}/neighbors" \
-H "Content-Type: application/json" \
-d '{
"neighbor_item_id": "{neighbor_id}",
"relative_position": "左侧",
"distance": 0.3
}'
批量推算位置
curl -X POST "http://localhost:8000/api/v1/location/infer"