版本变更V3.31添加识图功能

This commit is contained in:
dxc
2026-05-22 11:40:35 +08:00
parent 8c635d6afe
commit 3ffcd35093
2 changed files with 42 additions and 37 deletions

View File

@ -87,7 +87,7 @@ def image_search():
UNION ALL UNION ALL
-- 2. 采购入库表 (通过 base_id 关联拿真实物料) -- 2. 采购入库表 (通过 base_id 关联拿真实物料信息)
SELECT mb.id, mb.name, mb.spec_model, sb.arrival_photo AS image_url, sb.arrival_image_embedding AS vec SELECT mb.id, mb.name, mb.spec_model, sb.arrival_photo AS image_url, sb.arrival_image_embedding AS vec
FROM stock_buy sb FROM stock_buy sb
JOIN material_base mb ON sb.base_id = mb.id JOIN material_base mb ON sb.base_id = mb.id
@ -95,7 +95,7 @@ def image_search():
UNION ALL UNION ALL
-- 3. 半成品入库表 -- 3. 半成品入库表 (通过 base_id 关联拿真实物料信息)
SELECT mb.id, mb.name, mb.spec_model, ss.arrival_photo AS image_url, ss.arrival_image_embedding AS vec SELECT mb.id, mb.name, mb.spec_model, ss.arrival_photo AS image_url, ss.arrival_image_embedding AS vec
FROM stock_semi ss FROM stock_semi ss
JOIN material_base mb ON ss.base_id = mb.id JOIN material_base mb ON ss.base_id = mb.id
@ -103,13 +103,15 @@ def image_search():
UNION ALL UNION ALL
-- 4. 成品入库表 -- 4. 成品入库表 (通过 base_id 关联拿真实物料信息)
SELECT mb.id, mb.name, mb.spec_model, sp.product_photo AS image_url, sp.arrival_image_embedding AS vec SELECT mb.id, mb.name, mb.spec_model, sp.product_photo AS image_url, sp.arrival_image_embedding AS vec
FROM stock_product sp FROM stock_product sp
JOIN material_base mb ON sp.base_id = mb.id JOIN material_base mb ON sp.base_id = mb.id
WHERE sp.arrival_image_embedding IS NOT NULL WHERE sp.arrival_image_embedding IS NOT NULL
) AS combined ) AS combined
ORDER BY vec <=> :query_vector LIMIT 10
-- 核心:计算余弦距离并排序,取最接近的前 50 个!
ORDER BY vec <=> :query_vector LIMIT 50
""") """)
# 执行查询 # 执行查询
@ -150,7 +152,7 @@ def image_search():
"similarity": round(float(row.similarity), 4) "similarity": round(float(row.similarity), 4)
}) })
# 【新增】只要凑够了 10 个完全不同的物料,就立刻结束循环 # 修改后:只要凑够了 10 个完全不同的物料,就立刻结束循环
if len(results) >= 10: if len(results) >= 10:
break break

View File

@ -1,3 +1,6 @@
# .env.development # .env.development
# 注意:这里必须写你电脑的局域网 IP # 1. 本地局域网测试用(比如让平板连 192.168.9.33
#VITE_API_BASE_URL=http://192.168.9.33:8000/api/v1
# 2. 服务器环境用(推送到服务器前,把上面那行注释掉,这行解开)
VITE_API_BASE_URL=http://172.16.0.95:8000/api/v1 VITE_API_BASE_URL=http://172.16.0.95:8000/api/v1