更新提示配置和AI服务内容,增强信息提取助手的描述,明确提取要求和规则,添加新的字段提取逻辑以提高提取准确性和完整性。

This commit is contained in:
python 2025-12-09 11:39:18 +08:00
parent 684cb0141a
commit 8461725a13
2 changed files with 99 additions and 12 deletions

View File

@ -1,21 +1,31 @@
{ {
"prompt_template": { "prompt_template": {
"intro": "请从以下输入文本中提取结构化信息。", "intro": "你是一个专业的信息提取助手。请仔细阅读以下输入文本,全面分析其中的所有信息,包括显式信息和可以合理推断的信息。对于每个需要提取的字段,请仔细查找文本中的相关信息,包括但不限于:直接提及的信息、隐含的信息、可以通过上下文推断的信息。",
"input_text_label": "输入文本:", "input_text_label": "输入文本:",
"output_fields_label": "需要提取的字段", "output_fields_label": "需要提取的字段(请仔细分析每个字段,确保提取完整)",
"json_format_label": "请严格按照以下JSON格式返回结果只返回JSON,不要包含其他文字说明:", "json_format_label": "请严格按照以下JSON格式返回结果只返回JSON对象,不要包含任何其他文字说明、思考过程或markdown代码块标记",
"requirements_label": "要求:", "requirements_label": "重要要求(请严格遵守)",
"requirements": [ "requirements": [
"仔细分析输入文本,准确提取每个字段的值", "逐字逐句仔细分析输入文本,不要遗漏任何信息",
"如果某个字段在输入文本中找不到对应信息,该字段值设为空字符串\"\"", "对于每个字段,请从多个角度思考:直接提及、同义词、隐含信息、可推断信息",
"如果文本中明确提到某个信息,必须提取出来,不能设为空",
"如果可以通过已有信息合理推断(如根据出生年月推算年龄),请进行推断并填写",
"如果某个字段在输入文本中确实找不到任何相关信息,该字段值才设为空字符串\"\"",
"日期格式统一为YYYYMM198005表示1980年5月如果包含日期信息则格式为YYYYMMDD", "日期格式统一为YYYYMM198005表示1980年5月如果包含日期信息则格式为YYYYMMDD",
"性别统一为\"男\"或\"女\",不要使用\"男性\"或\"女性\"", "性别统一为\"男\"或\"女\",不要使用\"男性\"或\"女性\"。如果文本中提到\"男性\"、\"男\"、\"先生\"等,统一转换为\"男\";如果提到\"女性\"、\"女\"、\"女士\"等,统一转换为\"女\"",
"政治面貌使用标准表述(如:中共党员、中共预备党员、共青团员、群众等)", "年龄字段:如果文本中直接提到年龄(如\"30岁\"、\"30周岁\"直接提取数字如果只有出生年月可以根据当前年份计算年龄当前年份为2024年",
"单位及职务字段:如果文本中提到\"XX公司总经理\"、\"XX单位XX职务\"等,需要同时提取单位名称和职务名称",
"单位字段:从单位及职务信息中提取单位名称部分(如\"XX公司\"、\"XX局\"、\"XX部门\"等)",
"职务字段:从单位及职务信息中提取职务名称部分(如\"总经理\"、\"局长\"、\"主任\"等)",
"文化程度字段:注意识别\"本科\"、\"大专\"、\"高中\"、\"中专\"、\"研究生\"、\"硕士\"、\"博士\"等表述",
"政治面貌使用标准表述(如:中共党员、中共预备党员、共青团员、群众等)。如果文本中提到\"党员\",统一转换为\"中共党员\"",
"职级使用标准表述(如:正处级、副处级、正科级、副科级等)", "职级使用标准表述(如:正处级、副处级、正科级、副科级等)",
"线索来源字段:注意识别\"举报\"、\"来信\"、\"来电\"、\"网络举报\"、\"上级交办\"等表述",
"主要问题线索字段:提取文本中关于问题、线索、举报内容等的描述",
"身份证号码只提取数字,不包含其他字符", "身份证号码只提取数字,不包含其他字符",
"联系方式提取电话号码,格式化为纯数字", "联系方式提取电话号码,格式化为纯数字",
"地址信息保持完整,包含省市区街道等详细信息", "地址信息保持完整,包含省市区街道等详细信息",
"只返回JSON对象不要包含markdown代码块标记" "只返回JSON对象不要包含markdown代码块标记、思考过程或其他说明文字"
] ]
}, },
"field_formatting": { "field_formatting": {
@ -99,6 +109,82 @@
"学历使用标准表述:本科、大专、高中、中专、研究生等", "学历使用标准表述:本科、大专、高中、中专、研究生等",
"政治面貌部分:如果是中共党员,写\"加入中国共产党\";如果不是,省略此部分" "政治面貌部分:如果是中共党员,写\"加入中国共产党\";如果不是,省略此部分"
] ]
},
"target_age": {
"description": "被核查人员年龄",
"rules": [
"如果文本中直接提到年龄(如\"30岁\"、\"30周岁\"、\"年龄30\"),直接提取数字部分",
"如果只有出生年月(如\"1980年5月出生\"、\"198005\"可以根据当前年份2024年计算年龄",
"年龄格式:纯数字,单位为岁,如\"44\"表示44岁",
"如果文本中既没有直接提到年龄,也没有出生年月信息,则设为空字符串"
]
},
"target_organization_and_position": {
"description": "被核查人员单位及职务(包括兼职)",
"rules": [
"提取完整的单位及职务信息,格式如:\"XX公司总经理\"、\"XX局XX处处长\"、\"XX单位XX职务\"",
"如果文本中提到\"XX公司总经理\"、\"XX单位XX职务\"等,需要完整提取",
"如果文本中分别提到单位和职务,需要组合成\"单位+职务\"的格式",
"如果文本中提到多个职务或兼职,需要全部包含,用\"、\"或\"兼\"连接",
"保持原文中的表述,不要随意修改"
]
},
"target_organization": {
"description": "被核查人员单位",
"rules": [
"从单位及职务信息中提取单位名称部分",
"单位名称包括:公司、企业、机关、事业单位、部门等(如\"XX公司\"、\"XX局\"、\"XX部门\"、\"XX委员会\"等)",
"如果文本中只提到单位名称,直接提取",
"如果文本中提到\"XX公司总经理\",提取\"XX公司\"部分",
"如果文本中提到\"XX单位XX职务\",提取\"XX单位\"部分",
"保持单位名称的完整性,不要遗漏"
]
},
"target_position": {
"description": "被核查人员职务",
"rules": [
"从单位及职务信息中提取职务名称部分",
"职务名称包括:总经理、经理、局长、处长、科长、主任、书记、部长等",
"如果文本中只提到职务名称,直接提取",
"如果文本中提到\"XX公司总经理\",提取\"总经理\"部分",
"如果文本中提到\"XX单位XX职务\",提取\"XX职务\"部分",
"如果文本中提到多个职务,需要全部提取,用\"、\"连接",
"保持职务名称的准确性"
]
},
"target_education_level": {
"description": "被核查人员文化程度",
"rules": [
"识别文本中关于学历、文化程度的表述",
"标准表述包括:小学、初中、高中、中专、大专、本科、研究生、硕士、博士等",
"如果文本中提到\"大学\"、\"大学毕业\",通常指\"本科\"",
"如果文本中提到\"专科\",通常指\"大专\"",
"如果文本中提到\"研究生学历\",可以写\"研究生\"",
"保持标准表述,不要使用非标准表述"
]
},
"clue_source": {
"description": "线索来源",
"rules": [
"识别文本中关于线索来源的表述",
"常见来源包括:举报、来信、来电、网络举报、上级交办、巡视发现、审计发现、媒体曝光等",
"如果文本中提到\"举报\"、\"被举报\",线索来源可能是\"举报\"或\"来信举报\"",
"如果文本中提到\"电话\"、\"来电\",线索来源可能是\"来电举报\"",
"如果文本中提到\"网络\"、\"网上\",线索来源可能是\"网络举报\"",
"如果文本中提到\"上级\"、\"交办\",线索来源可能是\"上级交办\"",
"如果文本中没有明确提到线索来源,但提到\"举报\"相关信息,可以推断为\"举报\"",
"保持标准表述"
]
},
"target_issue_description": {
"description": "主要问题线索",
"rules": [
"提取文本中关于问题、线索、举报内容等的描述",
"包括但不限于:违纪违法问题、工作作风问题、经济问题、生活作风问题等",
"如果文本中提到\"问题\"、\"线索\"、\"举报\"、\"反映\"等关键词,提取相关内容",
"保持问题描述的完整性和准确性,不要遗漏重要信息",
"如果文本中没有明确的问题描述,但提到了相关情况,也要尽量提取"
]
} }
} }
} }

View File

@ -123,7 +123,7 @@ class AIService:
"messages": [ "messages": [
{ {
"role": "system", "role": "system",
"content": "你是一个专业的数据提取助手,能够从文本中准确提取结构化信息。请严格按照JSON格式返回结果只返回JSON对象不要包含任何其他文字说明、思考过程或markdown代码块标记" "content": "你是一个专业的数据提取助手,擅长从非结构化文本中准确提取结构化信息。你需要仔细分析输入文本识别所有相关信息并按照指定的JSON格式返回结果。请确保提取的信息准确、完整对于能够从文本中推断出的信息也要尽量提取"
}, },
{ {
"role": "user", "role": "user",
@ -134,12 +134,13 @@ class AIService:
"presence_penalty": 1.03, "presence_penalty": 1.03,
"frequency_penalty": 1.0, "frequency_penalty": 1.0,
"repetition_penalty": 1.0, "repetition_penalty": 1.0,
"temperature": 0.5, "temperature": 0.3,
"top_p": 0.95, "top_p": 0.95,
"top_k": 1, "top_k": 1,
"seed": 1, "seed": 1,
"max_tokens": 8192, "max_tokens": 8192,
"n": 1 "n": 1,
"enable_thinking": True
} }
headers = { headers = {