zhouchangda 6 сар өмнө
parent
commit
c8f4c1f347

+ 82 - 31
paddlex/configs/pipelines/PP-ChatOCRv4-doc.yaml

@@ -30,30 +30,61 @@ SubModules:
   PromptEngneering:
     KIE_CommonText:
       module_name: prompt_engneering
-
       task_type: text_kie_prompt_v2
-
-      task_description: '你现在的任务是从OCR结果中提取问题列表中每一个问题的答案。
-          OCR的文字识别结果使用```符号包围,包含所识别出来的文字,顺序在原始图片中从左至右、从上至下。
-          我指定的问题列表使用[]符号包围。请注意OCR的文字识别结果可能存在长句子换行被切断、不合理的分词、
-          文字被错误合并等问题,你需要结合上下文语义进行综合判断,以获取准确的答案。'
-
-      output_format: '在返回结果时使用JSON格式,包含多个key-value对,key值为我指定的问题,value值为该问题对应的答案。
-          如果认为OCR识别结果中,对于问题key,没有答案,则将value赋值为"未知"。请只输出json格式的结果,
-          并做json格式校验后返回,不要包含其它多余文字!'
-
-      rules_str: '请依次确认满足下面要求。(1)每个问题的答案用OCR结果的内容回答,针对问题回答尽可能详细和完整,
-          并保持格式、数字、正负号、单位、符号和标点都与OCR结果中的内容完全一致。
-          (2)如果答案的句末有标点符号,请添加标点符号。
-          (3)对于答案中的数字,如果可以推断出单位,请补充相应的单位。'
-
+      
+      task_description: '你是一个信息提取助手,你的任务是从OCR结果中提取每一个问题的答案。
+  
+  请注意:问题可分为两类,你需要**根据问题的语义自动判断任务类型**,并分别使用以下规则:
+  
+  1. **摘录型问题(适用于法规、定义、条款、原句类问题)**
+     - 特征:问题中常出现“是什么”“内容是什么”“规定是什么”等;
+     - 要求:答案必须**逐字摘录自 OCR 文本**,不可改写或简化。
+
+  2. **问答型问题(适用于需要计算、推理、提取数字信息的问题)**
+     - 特征:问题中含“多少”“增长了多少”“是多少元”等;
+     - 要求:可以基于 OCR 文本进行**理解、补全和单位推理**,但需严格以 OCR 信息为依据,不得引入外部常识或主观猜测。
+
+  OCR识别结果使用```符号包围,按图片中从左至右、从上至下排序。
+  问题列表使用[]符号包围。'
+
+      output_format: '输出以 JSON 格式返回,key 为问题内容,value 为对应答案。
+  - 所有答案必须是完整、可理解的语句或片段;
+  - 若 OCR 中无法确定答案,请将 value 设为 "未知";
+  - 严格使用 "未知",不允许使用 null、空字符串、"-" 等其他表示形式。'
+
+      rules_str: '通用规则:
+              1. **内容来源与完整性**
+                - 所有问题的答案必须**完全依据表格中的内容**进行作答;
+                - 回答时应**尽可能详细和完整**,不得省略或自行补充未在表格中明确出现的信息;
+                - 保持**原文的格式、数字、正负号、单位、符号和标点符号**完全一致。
+
+              2. **标点规范**
+                - 如果原文答案句末带有标点符号(如句号、逗号、分号等),请**保留并添加在答案结尾**。
+              3. **单位补全要求**
+                  - 由于评测可能涉及单位识别,**答案中的所有数字后必须添加单位**;
+                  - 如果原文上下文中已明确提供单位,**请直接使用该单位**;
+                  - 如果上下文中未出现单位,**请你根据语义补充一个合理的常见单位**,如“个”“项”“次”“年”“元”等;
+                  - 对于比率或百分比,请**务必添加“%”符号**;
+                  - **禁止省略单位**,也不得以“无单位”或空字符串代替;
+                  - 添加单位时,**直接紧跟在数字后,不允许加括号、引号或任何额外标注符号**。
+
+              4. **上下文语义保持**
+                - 请严格遵循原文语义;
+                - 如果原文描述为“在30分钟内完成”,请**完整回答“在30分钟内完成”**,而**不是简化为“30分钟”**;
+                - 不可断章取义、丢失时间、条件或限制性描述。
+              5. 如无法确定答案,必须填“未知”。
+  摘录型补充规则:
+  - 答案必须逐字摘抄自 OCR 文本;
+  - 不得缩写、改写或断章取义。
+  问答型补充规则:
+  - 可以合理组合 OCR 中的多个片段;
+  - 可进行单位补全和数值归纳;
+  - 不得引入非文本来源内容。'
       few_shot_demo_text_content:
-
       few_shot_demo_key_value_list:
           
     KIE_Table:
       module_name: prompt_engneering
-
       task_type: table_kie_prompt_v2
 
       task_description: '你现在的任务是从输入的html格式的表格内容中提取问题列表中每一个问题的答案。
@@ -62,33 +93,53 @@ SubModules:
       output_format: '在返回结果时使用JSON格式,包含多个key-value对,key值为我指定的问题,value值为该问题对应的答案。
           如果认为表格内容中,对于问题key,没有答案,则将value赋值为"未知"。请只输出json格式的结果,
           并做json格式校验后返回,不要包含其它多余文字!'
-
-      rules_str: '请依次确认满足下面要求。(1)每个问题的答案用表格内容回答,针对问题回答尽可能详细和完整,
-          并保持格式、数字、正负号、单位、符号和标点都与表格内容完全一致。
-          (2)对于答案中的数字,如果可以推断出单位,请补充相应的单位。
-          (3)如果答案是百分比,请添加百分号。'
-
+        
+      rules_str: '通用规则:
+              1. **内容来源与完整性**
+                - 所有问题的答案必须**完全依据表格中的内容**进行作答;
+                - 回答时应**尽可能详细和完整**,不得省略或自行补充未在表格中明确出现的信息;
+                - 保持**原文的格式、数字、正负号、单位、符号和标点符号**完全一致。
+
+              2. **标点规范**
+                - 如果原文答案句末带有标点符号(如句号、逗号、分号等),请**保留并添加在答案结尾**。
+              3. **单位补全要求**
+                  - 由于评测可能涉及单位识别,**答案中的所有数字后必须添加单位**;
+                  - 如果原文上下文中已明确提供单位,**请直接使用该单位**;
+                  - 如果上下文中未出现单位,**请你根据语义补充一个合理的常见单位**,如“个”“项”“次”“年”“元”等;
+                  - 对于比率或百分比,请**务必添加“%”符号**;
+                  - **禁止省略单位**,也不得以“无单位”或空字符串代替;
+                  - 添加单位时,**直接紧跟在数字后,不允许加括号、引号或任何额外标注符号**。
+
+              4. **上下文语义保持**
+                - 请严格遵循原文语义;
+                - 如果原文描述为“在30分钟内完成”,请**完整回答“在30分钟内完成”**,而**不是简化为“30分钟”**;
+                - 不可断章取义、丢失时间、条件或限制性描述。
+              5. 如无法确定答案,必须填“未知”。
+
+              摘录型补充规则:
+              - 答案必须逐字摘抄自 OCR 文本;
+              - 不得缩写、改写或断章取义。
+              问答型补充规则:
+              - 可以合理组合 OCR 中的多个片段;
+              - 可进行单位补全和数值归纳;
+              - 不得引入非文本来源内容。
+  '
+          
       few_shot_demo_text_content:
-
       few_shot_demo_key_value_list:
-    
+
     Ensemble:
       module_name: prompt_engneering
-
       task_type: ensemble_prompt
 
       task_description: '你现在的任务是,对于一个问题,对比方法A和方法B的结果,选择更准确的一个回答。
         问题用```符号包围。'
-
       output_format: '请返回JSON格式的结果,包含多个key-value对,key值为我指定的问题,
         value值为`方法A`或`方法B`。如果对于问题key,没有找到答案,将value赋值为"未知"。
         请只输出json格式的结果,并做json格式校验后返回,不要包含其它多余文字!'
-
       rules_str: '对于涉及数字的问题,请返回与问题描述最相关且数字表述正确的答案。
         请特别注意数字中的标点使用是否合理。'
-
       few_shot_demo_text_content:
-
       few_shot_demo_key_value_list:
 
 SubPipelines: