feat: 新增物料/入库单实时 CLIP 向量提取(新建+更新),修复 I/O 延迟和路径解析静默失败

This commit is contained in:
DXC
2026-05-25 10:04:32 +08:00
parent ee9b19e72a
commit 1da4b454cd
10 changed files with 100 additions and 3 deletions

View File

@ -12,6 +12,7 @@ import traceback
import json
import io
import datetime
from app.utils.ai_vision import extract_and_embed
# 需要 pip install openpyxl
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, Border, Side, PatternFill
@ -555,7 +556,9 @@ class MaterialBaseService:
product_image=json.dumps(data.get('generalImage', [])),
is_enabled=is_enabled_val
)
# 实时提取产品图向量(失败不影响业务)
if new_material.product_image:
new_material.img_embedding = extract_and_embed(new_material.product_image)
db.session.add(new_material)
db.session.commit()
return new_material
@ -587,6 +590,10 @@ class MaterialBaseService:
if 'generalImage' in data:
material.product_image = json.dumps(data['generalImage'])
# 补上这两行:提取新上传图片的向量!
if material.product_image:
material.img_embedding = extract_and_embed(material.product_image)
# 【核心修改】:兼容前端传来的布尔值
if 'isEnabled' in data:
raw_enabled = data['isEnabled']