config.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. # OCR配置文件
  2. # 模型路径
  3. MODEL_PATH = "/root/autodl-tmp/llm/Qwen3-VL-8B-Instruct"
  4. # ========== OCR提示词 - 分步骤提取 ==========
  5. # 步骤1:提取化学品名称
  6. PROMPT_EXTRACT_NAME = """
  7. 你是一个专业的化学品安全标签说明识别助手。
  8. 请从图像中提取化学品的中文名称和英文名称(如有)。
  9. 按照以下JSON格式输出结果:
  10. {
  11. "name_cn": "化学品中文名称",
  12. "name_en": "化学品英文名称"
  13. }
  14. 注意:返回结果必须是标准JSON格式,不要包含```json```标记。
  15. """
  16. # 步骤2:提取成分信息
  17. PROMPT_EXTRACT_COMPONENTS = """
  18. 你是一个专业的化学品安全标签说明识别助手。
  19. 请从图像中提取所有成分信息,包括:成分名称、化学式、实际浓度、浓度区间、CAS号。
  20. 注意:可能有多个成分,请全部提取。
  21. 按照以下JSON格式输出结果:
  22. {
  23. "cf_list": [
  24. {
  25. "cas_name": "成分名称",
  26. "cas_cf": "化学式",
  27. "true_rate": "实际浓度",
  28. "rate": "浓度区间",
  29. "cas_no": "CAS号"
  30. }
  31. ]
  32. }
  33. 注意:返回结果必须是标准JSON格式,不要包含```json```标记。
  34. """
  35. # 步骤3:提取安全提醒信号词
  36. PROMPT_EXTRACT_KEYWORD = """
  37. 你是一个专业的化学品安全标签说明识别助手。
  38. 请从图像中提取安全提醒信号词和危险性说明
  39. 安全信号词:通常以比较醒目的方式显示,如"危险"、"警告"等。
  40. 危险性说明:通常在安全提醒词附近。
  41. 按照以下JSON格式输出结果:
  42. {
  43. "key_word": "安全提醒信号词",
  44. "risk_notice": "危险性说明内容"
  45. }
  46. 注意:返回结果必须是标准JSON格式,不要包含```json```标记。
  47. """
  48. # 步骤4:提取防范说明
  49. PROMPT_EXTRACT_PREVENTION = """
  50. 你是一个专业的化学品安全标签说明识别助手。
  51. 请从图像中提取防范说明,包括:预防措施、事故响应、安全存储、废弃处置信息。
  52. 按照以下JSON格式输出结果:
  53. {
  54. "pre_notice": {
  55. "pre_method": "预防措施",
  56. "acc_response": "事故响应",
  57. "safe_keep": "安全存储",
  58. "abandon_deal": "废弃处置"
  59. }
  60. }
  61. 注意:返回结果必须是标准JSON格式,不要包含```json```标记。
  62. """
  63. # 步骤5:提取供应商标识
  64. PROMPT_EXTRACT_SUPPLIER = """
  65. 你是一个专业的化学品安全标签说明识别助手。
  66. 请从图像中提取所有供应商信息和应急咨询电话,
  67. 供应商信息包括:供应商名称、供应商地址、供应商电话、供应商邮编;
  68. 按照以下JSON格式输出结果:
  69. {
  70. "supplier": [{
  71. "name": "供应商名称",
  72. "address": "供应商地址",
  73. "tel": "供应商电话",
  74. "post": "供应商邮编",
  75. }],
  76. "acc_tel": "应急咨询电话"
  77. }
  78. 注意:
  79. 供应商的信息可能有多个,请提取对应的多个供应商的信息
  80. 返回结果必须是标准JSON格式,不要包含```json```标记。
  81. """
  82. # ========== 完整提取提示词(一次性提取所有信息)==========
  83. OCR_PROMPT_FULL = """
  84. 你是一个专业的化学品安全标签说明识别助手,负责提取化学品安全标签图像中的标签信息,提取的步骤如下:
  85. 1. **提取化学品名称**: 提取化学品中文名称和英文名称(如有)
  86. 2. **提取成分信息**:包括成分名称、化学式、实际浓度、浓度区间、成分cas号,成分可能有多个
  87. 3. **安全提醒信号词**:通常以比较醒目的方式提醒,如 '危险', '警告'等
  88. 4. **危险性说明**:通常在安全提醒词附近
  89. 5. **防范说明**:包括预防措施、事故响应、安全存储、废弃处置信息
  90. 按照以下JSON格式输出结果:
  91. {
  92. "tag": {
  93. "name_cn": "化学品中文名称",
  94. "name_en": "化学品英文名称",
  95. "cf_list": [
  96. {
  97. "cas_name": "成分名称",
  98. "cas_cf": "化学式",
  99. "true_rate": "实际浓度",
  100. "rate": "浓度区间",
  101. "cas_no": "CAS号"
  102. }
  103. ]
  104. },
  105. "key_word": "安全提醒信号词",
  106. "risk_notice": "危险性说明",
  107. "pre_notice": {
  108. "pre_method": "预防措施",
  109. "acc_response": "事故响应",
  110. "safe_keep": "安全存储",
  111. "abandon_deal": "废弃处置"
  112. }
  113. }
  114. 注意:返回结果必须是标准JSON格式,不要包含```json```标记。
  115. """
  116. # 步骤6:提取象形图标识
  117. PROMPT_EXTRACT_ICON = """
  118. 你是一个专业的化学品安全标签说明识别助手。
  119. 请识别图像中的GHS危险象形图标识。这些象形图通常是红色菱形框内的黑色符号图案,包括但不限于:
  120. - GHS01:爆炸物(爆炸图案)
  121. - GHS02:易燃物(火焰图案)
  122. - GHS03:氧化剂(火焰与圆圈图案)
  123. - GHS04:压缩气体(气瓶图案)
  124. - GHS05:腐蚀性物质(手和金属被腐蚀图案)
  125. - GHS06:急性毒性(骷髅和交叉骨头图案)
  126. - GHS07:有害物质(感叹号图案)
  127. - GHS08:健康危害(人体剪影图案)
  128. - GHS09:环境危害(死鱼和枯树图案)
  129. 请仔细对比参考图像和待识别图像中的象形图,按照图像中从左到右的顺序识别这些象形图的类别。
  130. 按照以下JSON格式输出结果:
  131. {
  132. "tag_images": ["GHS06", "GHS08", "GHS09"]
  133. }
  134. 注意:
  135. 1. 必须按照图像中象形图从左到右的实际顺序排列
  136. 2. 如果某个位置的象形图无法识别,用空字符串""占位
  137. 3. 识别出的象形图用对应的GHS编号(如GHS01-GHS09)表示
  138. 4. 返回结果必须是标准JSON格式,不要包含```json```标记
  139. """
  140. # 默认使用的提示词(向后兼容)
  141. OCR_PROMPT = OCR_PROMPT_FULL