增加多模态模型开放集识别。

This commit is contained in:
2025-11-13 11:56:51 +08:00
parent b4b2b18ccd
commit ced0e4f7ef
7 changed files with 628 additions and 21 deletions
+28
View File
@@ -38,3 +38,31 @@ def build_closedset_prompt(
)
def build_openset_prompt() -> str:
"""
构建开放式识别提示词(不提供候选列表,让VLM自由识别)
用于"开放识别+向量匹配"方案
"""
return (
"【重要】你必须且只能输出JSON格式,严禁输出任何其他内容(包括英文描述、解释、分析等)。\n\n"
"你是专业的中国菜品识别专家。任务:识别图片中的菜品并输出标准中文名称。\n\n"
"要求:\n"
"1. 只输出菜品的标准中文名称,例如:宫保鸡丁、红烧肉、西红柿炒鸡蛋\n"
"2. 禁止输出地域/菜系分类(如川菜、粤菜)\n"
"3. 禁止输出烹饪方式后缀(如炒制、烹饪),除非该方式是菜名的一部分(如红烧肉)\n"
"4. 禁止输出括号注释(如(川菜)、(辣味))\n"
"5. 禁止输出英文翻译\n"
"6. 给出0-1的置信度分数,表示你对识别结果的确信程度\n"
"7. 严格按以下JSON格式输出,不允许有任何偏差\n\n"
'输出格式(必须严格遵守):\n{"dish":"<菜品标准中文名>","confidence":0.95}\n\n'
"示例输出:\n"
'{"dish":"宫保鸡丁","confidence":0.92}\n'
'{"dish":"红烧肉","confidence":0.88}\n'
'{"dish":"西红柿炒鸡蛋","confidence":0.95}\n\n'
"【再次强调】\n"
"- 只输出上述JSON格式,不要有任何额外文字\n"
"- 菜品名必须是标准中文,不带任何前缀、后缀、括号、英文\n"
"- 如果无法识别,输出confidence接近0的值"
)