更新AI服务逻辑,改进年龄字段的推断机制,允许在缺失年龄数据时根据出生年月自动计算年龄,并优化相关日志记录。同时,更新文档以反映新的字段配置和使用说明,确保数据提取的准确性和完整性。

This commit is contained in:
python 2025-12-10 14:16:59 +08:00
parent e38ba42669
commit 0563ff5346
3 changed files with 442 additions and 190 deletions

View File

@ -126,9 +126,8 @@
"description": "被核查人员年龄", "description": "被核查人员年龄",
"rules": [ "rules": [
"如果文本中直接提到年龄(如\"30岁\"、\"30周岁\"、\"年龄30\"、\"现年30\"),直接提取数字部分", "如果文本中直接提到年龄(如\"30岁\"、\"30周岁\"、\"年龄30\"、\"现年30\"),直接提取数字部分",
"如果只有出生年月(如\"1980年5月出生\"、\"1980年05月\"必须根据当前年份2024年计算年龄如1980年出生2024-1980=44岁", "如果无法抽取到年龄数据,但抽取到了\"被核查人员出生年月\",系统将根据出生年月和当前日期自动计算年龄",
"年龄格式:纯数字,单位为岁,如\"44\"表示44岁", "年龄格式:纯数字,单位为岁,如\"44\"表示44岁",
"⚠️ 如果已有出生年月信息,必须计算年龄,不能设为空字符串",
"如果文本中既没有直接提到年龄,也没有出生年月信息,则设为空字符串" "如果文本中既没有直接提到年龄,也没有出生年月信息,则设为空字符串"
] ]
}, },

View File

@ -7,6 +7,7 @@ import re
import time import time
import requests import requests
import json import json
from datetime import datetime
from typing import Dict, List, Optional from typing import Dict, List, Optional
# 尝试导入json-repair库如果不可用则使用备用方案 # 尝试导入json-repair库如果不可用则使用备用方案
@ -1440,27 +1441,29 @@ class AIService:
# 创建字段编码到字段信息的映射 # 创建字段编码到字段信息的映射
field_code_map = {field['field_code']: field for field in output_fields} field_code_map = {field['field_code']: field for field in output_fields}
# 1. 从出生年月计算年龄 # 1. 从出生年月计算年龄(如果无法抽取到年龄数据)
if 'target_age' in field_code_map and (not data.get('target_age') or data.get('target_age') == ''): if 'target_age' in field_code_map:
# 首先尝试从已有数据中计算 # 检查是否已有年龄数据(非空且有效)
if 'target_date_of_birth' in data and data.get('target_date_of_birth'): existing_age = data.get('target_age', '').strip()
age = self._calculate_age_from_birth_date(data['target_date_of_birth']) has_valid_age = existing_age and existing_age != '' and existing_age.isdigit()
if age:
data['target_age'] = str(age)
print(f"[AI服务] 后处理:从出生年月 '{data['target_date_of_birth']}' 计算年龄: {age}")
# 如果还没有,尝试从原始输入文本中直接提取年龄 # 如果无法抽取到核查人员年龄数据,则根据出生年月计算
if (not data.get('target_age') or data.get('target_age') == '') and prompt: if not has_valid_age:
input_text_match = re.search(r'输入文本[:]\s*\n(.*?)(?:\n\n需要提取的字段|$)', prompt, re.DOTALL) # 尝试从出生年月计算年龄
if input_text_match: if 'target_date_of_birth' in data and data.get('target_date_of_birth'):
input_text = input_text_match.group(1) birth_date = data['target_date_of_birth']
# 匹配年龄模式年龄44岁、44岁、年龄44等 age = self._calculate_age_from_birth_date(birth_date)
age_match = re.search(r'年龄\s*(\d+)\s*岁|(\d+)\s*岁|年龄\s*(\d+)', input_text) if age is not None:
if age_match: data['target_age'] = str(age)
age = age_match.group(1) or age_match.group(2) or age_match.group(3) print(f"[AI服务] 后处理:从出生年月 '{birth_date}' 和当前日期计算年龄: {age}")
if age: else:
data['target_age'] = str(age) # 如果无法计算,设置为空值
print(f"[AI服务] 后处理:从原始输入文本中提取年龄: {age}") data['target_age'] = ''
print(f"[AI服务] 后处理:无法从出生年月 '{birth_date}' 计算年龄,返回空值")
else:
# 如果既没有年龄也没有出生年月,返回空值
data['target_age'] = ''
print(f"[AI服务] 后处理:未找到年龄和出生年月信息,年龄字段返回空值")
# 2. 从单位及职务中拆分单位和职务 # 2. 从单位及职务中拆分单位和职务
if 'target_organization_and_position' in data and data.get('target_organization_and_position'): if 'target_organization_and_position' in data and data.get('target_organization_and_position'):
@ -1572,7 +1575,7 @@ class AIService:
def _calculate_age_from_birth_date(self, birth_date: str) -> Optional[int]: def _calculate_age_from_birth_date(self, birth_date: str) -> Optional[int]:
""" """
从出生年月计算年龄 从出生年月计算年龄使用当前日期
Args: Args:
birth_date: 出生年月格式如 "1980年05月" "198005" birth_date: 出生年月格式如 "1980年05月" "198005"
@ -1585,16 +1588,26 @@ class AIService:
birth_date = str(birth_date).strip() birth_date = str(birth_date).strip()
# 提取年份 # 提取年份和月份
year_match = re.search(r'(\d{4})', birth_date) year_match = re.search(r'(\d{4})', birth_date)
if not year_match: if not year_match:
return None return None
birth_year = int(year_match.group(1)) birth_year = int(year_match.group(1))
current_year = 2024 # 当前年份
# 计算年龄 # 提取月份(如果有)
month_match = re.search(r'(\d{1,2})月', birth_date)
birth_month = int(month_match.group(1)) if month_match else 1
# 使用当前日期(最新日期)
current_date = datetime.now()
current_year = current_date.year
current_month = current_date.month
# 计算年龄如果当前月份小于出生月份年龄减1
age = current_year - birth_year age = current_year - birth_year
if current_month < birth_month:
age -= 1
# 验证年龄合理性0-150岁 # 验证年龄合理性0-150岁
if 0 <= age <= 150: if 0 <= age <= 150:

View File

@ -29,20 +29,16 @@ Word模板中使用以下格式作为占位符
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | | 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------| |---------|-----------------|------|------|
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | | 主要问题线索 | `{{target_issue_description}}` | 主要问题线索描述 | - |
| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 | | 初步核实审批表填表人 | `{{filler_name}}` | 初步核实审批表填表人 | - |
| 被核查人员单位 | `{{target_organization}}` | 被核查人员单位 | 某公司 | | 初步核实审批表承办部门意见 | `{{department_opinion}}` | 初步核实审批表承办部门意见 | - |
| 被核查人员职务 | `{{target_position}}` | 被核查人员职务 | 总经理 | | 线索来源 | `{{clue_source}}` | 线索来源 | - |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 |
| 被核查人员出生年月 | `{{target_date_of_birth}}` | 被核查人员出生年月YYYYMM格式不需要日 | 198005 | | 被核查人员出生年月 | `{{target_date_of_birth}}` | 被核查人员出生年月YYYYMM格式不需要日 | 198005 |
| 被核查人员年龄 | `{{target_age}}` | 被核查人员年龄(数字,单位:岁) | 44 | | 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 被核查人员文化程度 | `{{target_education_level}}` | 被核查人员文化程度(如:本科、大专、高中等) | 本科 | | 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 |
| 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌(中共党员、群众等) | 中共党员 | | 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌(中共党员、群众等) | 中共党员 |
| 被核查人员职级 | `{{target_professional_rank}}` | 被核查人员职级(如:正处级) | 正处级 | | 被核查人员职级 | `{{target_professional_rank}}` | 被核查人员职级(如:正处级) | 正处级 |
| 线索来源 | `{{clue_source}}` | 线索来源 | - | | 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索描述 | 违反国家计划生育有关政策规定于2010年10月生育二胎。 |
| 初步核实审批表承办部门意见 | `{{department_opinion}}` | 初步核实审批表承办部门意见 | - |
| 初步核实审批表填表人 | `{{filler_name}}` | 初步核实审批表填表人 | - |
--- ---
@ -58,13 +54,13 @@ Word模板中使用以下格式作为占位符
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 | | 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------| |---------|-----------------|------|------|
| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 | | 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务 | 某公司总经理 |
| 请示报告卡请示时间 | `{{report_card_request_time}}` | 请示报告卡请示时间 | - | | 请示报告卡请示时间 | `{{report_card_request_time}}` | 请示报告卡请示时间 | - |
--- ---
## 三、初核方案 ## 三、初核方案 (INVESTIGATION_PLAN)
### 输入字段 ### 输入字段
@ -75,20 +71,20 @@ Word模板中使用以下格式作为占位符
### 输出字段(占位符) ### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | | 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------| |---------|-----------------|------|------|
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | | 主要问题线索 | `{{target_issue_description}}` | 主要问题线索描述 | - |
| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务 | | 核查单位名称 | `{{investigation_unit_name}}` | 核查单位名称 | - |
| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | | 核查地点 | `{{investigation_location}}` | 核查地点 | - |
| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索 | | 核查组成员姓名 | `{{investigation_team_member_names}}` | 核查组成员姓名 | - |
| 核查单位名称 | `{{investigation_unit_name}}` | 核查单位名称 | | 核查组组长姓名 | `{{investigation_team_leader_name}}` | 核查组组长姓名 | - |
| 核查组组长姓名 | `{{investigation_team_leader_name}}` | 核查组组长姓名 | | 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 核查组成员姓名 | `{{investigation_team_member_names}}` | 核查组成员姓名 | | 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | - |
| 核查地点 | `{{investigation_location}}` | 核查地点 | | 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
--- ---
## 四、谈话通知书 ## 四、谈话通知书(第一联) (NOTIFICATION_LETTER_1)
### 输入字段 ### 输入字段
@ -98,58 +94,43 @@ Word模板中使用以下格式作为占位符
### 输出字段(占位符) ### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | | 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------| |---------|-----------------|------|------|
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | | 应到地点 | `{{appointment_location}}` | 应到地点 | - |
| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务 | | 应到时间 | `{{appointment_time}}` | 应到时间 | - |
| 被核查人员身份证件及号码 | `{{target_id_number}}` | 被核查人员身份证件及号码 | | 批准时间 | `{{approval_time}}` | 批准时间 | - |
| 应到时间 | `{{appointment_time}}` | 应到时间 | | 承办人 | `{{handler_name}}` | 承办人 | - |
| 应到地点 | `{{appointment_location}}` | 应到地点 | | 承办部门 | `{{handling_department}}` | 承办部门 | - |
| 批准时间 | `{{approval_time}}` | 批准时间 | | 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 承办部门 | `{{handling_department}}` | 承办部门 | | 被核查人员身份证件及号码 | `{{target_id_number}}` | 被核查人员身份证件及号码 | - |
| 承办人 | `{{handler_name}}` | 承办人 | | 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
| 谈话通知时间 | `{{notification_time}}` | 谈话通知时间 |
| 谈话通知地点 | `{{notification_location}}` | 谈话通知地点 |
--- ---
## 五、走读式谈话流程 ## 四、谈话通知书(第三联) (NOTIFICATION_LETTER_3)
### 输出字段(占位符)
该模板主要使用被核查人员的基本信息字段,包括:
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 |
| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务 |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别 |
| 被核查人员出生年月日 | `{{target_date_of_birth_full}}` | 被核查人员出生年月日 |
| 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌 |
| 被核查人员住址 | `{{target_address}}` | 被核查人员住址 |
| 被核查人员户籍住址 | `{{target_registered_address}}` | 被核查人员户籍住址 |
| 被核查人员联系方式 | `{{target_contact}}` | 被核查人员联系方式 |
| 被核查人员籍贯 | `{{target_place_of_origin}}` | 被核查人员籍贯 |
| 被核查人员民族 | `{{target_ethnicity}}` | 被核查人员民族 |
| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 |
| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 |
---
## 六、走读式谈话审批
该模板包含大量字段,包括基本信息、风险评估、谈话记录等。
### 输入字段 ### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 | | 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------| |---------|-----------------|------|
| 线索信息 | `{{clue_info}}` | 线索信息用于AI解析 |
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 | | 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 主要输出字段(占位符) ### 输出字段(占位符)
包括基本信息、谈话安排、风险评估等多个类别的字段,具体请参考完整的字段列表。 | 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
| 谈话通知地点 | `{{notification_location}}` | 谈话通知地点 | - |
---
## 四、谈话通知书(第二联) (NOTIFICATION_LETTER_2)
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 谈话通知时间 | `{{notification_time}}` | 谈话通知时间 | - |
--- ---
@ -159,43 +140,37 @@ Word模板中使用以下格式作为占位符
| 字段名称 | 字段编码 (占位符) | 说明 | | 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------| |---------|-----------------|------|
| 线索信息 | `{{clue_info}}` | 线索信息用于AI解析 |
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 | | 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符,带默认值)
| 字段名称 | 字段编码 (占位符) | 说明 | 默认值 |
|---------|-----------------|------|--------|
| 被核查人员家庭情况 | `{{target_family_situation}}` | 被核查人员家庭情况 | 家庭关系和谐稳定 |
| 被核查人员社会关系 | `{{target_social_relations}}` | 被核查人员社会关系 | 社会交往较多,人机关系基本正常 |
| 被核查人员健康状况 | `{{target_health_status}}` | 被核查人员健康状况 | 良好 |
| 被核查人员性格特征 | `{{target_personality}}` | 被核查人员性格特征 | 开朗 |
| 被核查人员承受能力 | `{{target_tolerance}}` | 被核查人员承受能力 | 较强 |
| 被核查人员涉及问题严重程度 | `{{target_issue_severity}}` | 被核查人员涉及问题严重程度 | 较轻 |
| 被核查人员涉及其他问题的可能性 | `{{target_other_issues_possibility}}` | 被核查人员涉及其他问题的可能性 | 较小 |
| 被核查人员此前被审查情况 | `{{target_previous_investigation}}` | 被核查人员此前被审查情况 | 无 |
| 被核查人员社会负面事件 | `{{target_negative_events}}` | 被核查人员社会负面事件 | 无 |
| 被核查人员其他情况 | `{{target_other_situation}}` | 被核查人员其他情况 | 无 |
| 风险等级 | `{{risk_level}}` | 风险等级 | 低 |
**注意**如果AI未提取到字段值系统返回空字符串。默认值信息提供给前端前端可根据业务需求决定是否应用。
---
## 七、请示报告卡(初核报告结论)
### 输出字段(占位符) ### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | | 字段名称 | 字段编码 (占位符) | 说明 | 默认值 |
|---------|-----------------|------| |---------|-----------------|------|--------|
| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | | 被核查人员健康状况 | `{{target_health_status}}` | 被核查人员健康状况 | 良好 |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | | 被核查人员其他情况 | `{{target_other_situation}}` | 被核查人员其他情况 | 无 |
| 被核查人问题描述 | `{{target_problem_description}}` | 被核查人问题描述 | | 被核查人员学历 | `{{target_education}}` | 被核查人员学历 | - |
| 被核查人员本人认识和态度 | `{{target_attitude}}` | 被核查人员本人认识和态度 | | 被核查人员家庭情况 | `{{target_family_situation}}` | 被核查人员家庭情况 | 家庭关系和谐稳定 |
| 被核查人员工作履历 | `{{target_work_history}}` | 被核查人员工作履历 | - |
| 被核查人员年龄 | `{{target_age}}` | 被核查人员年龄(数字,单位:岁) | - |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | - |
| 被核查人员性格特征 | `{{target_personality}}` | 被核查人员性格特征 | 开朗 |
| 被核查人员承受能力 | `{{target_tolerance}}` | 被核查人员承受能力 | 较强 |
| 被核查人员此前被审查情况 | `{{target_previous_investigation}}` | 被核查人员此前被审查情况 | 无 |
| 被核查人员涉及其他问题的可能性 | `{{target_other_issues_possibility}}` | 被核查人员涉及其他问题的可能性 | 较小 |
| 被核查人员涉及问题严重程度 | `{{target_issue_severity}}` | 被核查人员涉及问题严重程度 | 较轻 |
| 被核查人员社会关系 | `{{target_social_relations}}` | 被核查人员社会关系 | 社会交往较多,人机关系基本正常 |
| 被核查人员社会负面事件 | `{{target_negative_events}}` | 被核查人员社会负面事件 | 无 |
| 被核查人员职业 | `{{target_occupation}}` | 被核查人员职业 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | - |
| 风险等级 | `{{risk_level}}` | 风险等级 | 低 |
--- ---
## 八、XXX初核情况报告 ## 七、请示报告卡(初核报告结论) (REPORT_CARD_INTERVIEW)
---
## 八、XXX初核情况报告 (INVESTIGATION_REPORT)
### 输入字段 ### 输入字段
@ -206,14 +181,274 @@ Word模板中使用以下格式作为占位符
### 输出字段(占位符) ### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索描述 | - |
| 纪委名称 | `{{commission_name}}` | 纪委名称 | - |
| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
| 被核查人问题描述 | `{{target_problem_description}}` | 被核查人问题描述 | - |
---
## 其他、1.初核请示 (PRELIMINARY_VERIFICATION_REQUEST)
---
## 其他、1.谈话笔录 (INTERVIEW_RECORD)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 | | 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------| |---------|-----------------|------|
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | | 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
| 纪委名称 | `{{commission_name}}` | 纪委名称 |
| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | ### 输出字段(占位符)
| 主要问题线索 | `{{target_issue_description}}` | 主要问题线索 |
| 被核查人问题描述 | `{{target_problem_description}}` | 被核查人问题描述 | | 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人单位及职务 | |---------|-----------------|------|------|
| 被核查人员住址 | `{{target_address}}` | 被核查人员住址 | - |
| 被核查人员出生年月日 | `{{target_date_of_birth_full}}` | 被核查人员出生年月日 | - |
| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 |
| 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌(中共党员、群众等) | 中共党员 |
| 被核查人员联系方式 | `{{target_contact}}` | 被核查人员联系方式 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
---
## 其他、2-初核模版 (PRELIMINARY_VERIFICATION_TEMPLATE)
---
## 其他、2.谈话审批 (INTERVIEW_APPROVAL_FORM)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 线索信息 | `{{clue_info}}` | 线索信息用于AI解析 |
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 拟谈话地点 | `{{proposed_interview_location}}` | 拟谈话地点 | - |
| 拟谈话时间 | `{{proposed_interview_time}}` | 拟谈话时间 | - |
| 补空人员 | `{{backup_personnel}}` | 补空人员 | - |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
| 谈话事由 | `{{interview_reason}}` | 谈话事由 | - |
| 谈话人员-安全员 | `{{interview_personnel_safety_officer}}` | 谈话人员-安全员 | - |
| 谈话人员-组长 | `{{interview_personnel_leader}}` | 谈话人员-组长 | - |
| 谈话人员-谈话人员 | `{{interview_personnel}}` | 谈话人员-谈话人员 | - |
| 谈话前安全风险评估结果 | `{{pre_interview_risk_assessment_result}}` | 谈话前安全风险评估结果 | - |
| 谈话次数 | `{{interview_count}}` | 谈话次数 | - |
---
## 其他、2.谈话询问对象情况摸底调查30问 (INTERVIEW_OBJECT_INVESTIGATION_30)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 被核查人员出生年月日 | `{{target_date_of_birth_full}}` | 被核查人员出生年月日 | - |
| 被核查人员单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 |
| 被核查人员户籍住址 | `{{target_registered_address}}` | 被核查人员户籍住址 | - |
| 被核查人员政治面貌 | `{{target_political_status}}` | 被核查人员政治面貌(中共党员、群众等) | 中共党员 |
| 被核查人员民族 | `{{target_ethnicity}}` | 被核查人员民族 | - |
| 被核查人员籍贯 | `{{target_place_of_origin}}` | 被核查人员籍贯 | - |
| 被核查人员联系方式 | `{{target_contact}}` | 被核查人员联系方式 | - |
| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
---
## 其他、2谈话审批表 (INTERVIEW_APPROVAL_FORM)
---
## 其他、3.初核结论 (PRELIMINARY_VERIFICATION_CONCLUSION)
---
## 其他、3.被谈话人权利义务告知书 (INTERVIEWEE_RIGHTS_OBLIGATIONS_NOTICE)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
---
## 其他、4.点对点交接单 (POINT_TO_POINT_HANDOVER)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
---
## 其他、4.谈话方案 (INTERVIEW_PLAN)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | - |
| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 被核查人基本情况 | `{{target_basic_info}}` | 被核查人基本情况 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
| 记录人 | `{{recorder}}` | 记录人 | - |
| 谈话人 | `{{interviewer}}` | 谈话人 | - |
| 谈话地点 | `{{interview_location}}` | 谈话地点 | - |
---
## 其他、5.谈话后安全风险评估表 (POST_INTERVIEW_RISK_ASSESSMENT)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 默认值 |
|---------|-----------------|------|--------|
| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | - |
| 被核查人员交代问题程度 | `{{target_confession_level}}` | 被核查人员交代问题程度 | - |
| 被核查人员其他情况 | `{{target_other_situation}}` | 被核查人员其他情况 | 无 |
| 被核查人员减压后的表现 | `{{target_behavior_after_relief}}` | 被核查人员减压后的表现 | - |
| 被核查人员学历 | `{{target_education}}` | 被核查人员学历 | - |
| 被核查人员工作基本情况 | `{{target_work_basic_info}}` | 被核查人员工作基本情况 | - |
| 被核查人员年龄 | `{{target_age}}` | 被核查人员年龄(数字,单位:岁) | - |
| 被核查人员思想负担程度 | `{{target_mental_burden_level}}` | 被核查人员思想负担程度 | - |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | - |
| 被核查人员本人认识和态度 | `{{target_attitude}}` | 被核查人员本人认识和态度 | - |
| 被核查人员涉及其他问题的可能性 | `{{target_other_issues_possibility}}` | 被核查人员涉及其他问题的可能性 | 较小 |
| 被核查人员谈话中的表现 | `{{target_behavior_during_interview}}` | 被核查人员谈话中的表现 | - |
| 被核查人员问题严重程度 | `{{target_issue_severity_level}}` | 被核查人员问题严重程度 | - |
| 被核查人员风险等级 | `{{target_risk_level}}` | 被核查人员风险等级 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | - |
| 评估意见 | `{{assessment_opinion}}` | 评估意见 | - |
---
## 其他、5.陪送交接单(新) (ESCORT_HANDOVER)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 |
| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
---
## 其他、6.1保密承诺书(谈话对象使用-非中共党员用) (CONFIDENTIALITY_COMMITMENT_NON_PARTY_MEMBER)
---
## 其他、6.2保密承诺书(谈话对象使用-中共党员用) (CONFIDENTIALITY_COMMITMENT_PARTY_MEMBER)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 被核查人单位及职务 | `{{target_organization_and_position}}` | 被核查人员单位及职务(包括兼职) | 某公司总经理 |
| 被核查人员性别 | `{{target_gender}}` | 被核查人员性别(男/女,不用男性和女性) | 男 |
| 被核查人员联系方式 | `{{target_contact}}` | 被核查人员联系方式 | - |
| 被核查人员身份证号 | `{{target_id_number}}` | 被核查人员身份证号 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
---
## 其他、7.办案人员-办案安全保密承诺书 (CASE_OFFICER_SECURITY_COMMITMENT)
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | - |
---
## 其他、8-1请示报告卡初核报告结论 (REPORT_CARD_CONCLUSION)
### 输入字段
| 字段名称 | 字段编码 (占位符) | 说明 |
|---------|-----------------|------|
| 被核查人员工作基本情况线索 | `{{target_basic_info_clue}}` | 被核查人员工作基本情况线索用于AI解析 |
### 输出字段(占位符)
| 字段名称 | 字段编码 (占位符) | 说明 | 示例 |
|---------|-----------------|------|------|
| 核查组代号 | `{{investigation_team_code}}` | 核查组代号 | - |
| 被核查人员本人认识和态度 | `{{target_attitude}}` | 被核查人员本人认识和态度 | - |
| 被核查人姓名 | `{{target_name}}` | 被核查人姓名 | 张三 |
| 被核查人问题描述 | `{{target_problem_description}}` | 被核查人问题描述 | - |
---
## 其他、谈话通知书 (INTERVIEW_NOTIFICATION)
---
## 其他、走读式谈话审批 (WALK_IN_INTERVIEW_APPROVAL)
---
## 其他、走读式谈话流程 (WALK_IN_INTERVIEW_PROCESS)
--- ---
@ -236,20 +471,7 @@ Word模板中使用以下格式作为占位符
4. **未识别的占位符**:如果字段编码在数据库中不存在,该占位符将保持为空 4. **未识别的占位符**:如果字段编码在数据库中不存在,该占位符将保持为空
5. **占位符可以在表格中使用**:占位符可以出现在段落文本和表格单元格中 5. **占位符可以在表格中使用**:占位符可以出现在段落文本和表格单元格中
### 示例 **注意**如果AI未提取到字段值系统返回空字符串。默认值信息提供给前端前端可根据业务需求决定是否应用。
**正确的占位符:**
```
被核查人姓名:{{target_name}}
单位及职务:{{target_organization_and_position}}
```
**错误的占位符:**
```
被核查人姓名:{target_name} ❌ 缺少一个花括号
被核查人姓名:{{target name}} ❌ 字段编码包含空格
被核查人姓名:{{Target_Name}} ❌ 大小写不一致
```
--- ---
@ -257,67 +479,85 @@ Word模板中使用以下格式作为占位符
以下列出所有可用的字段编码(按字母顺序): 以下列出所有可用的字段编码(按字母顺序):
### 基本信息字段 ### 输入字段
- `{{target_name}}` - 被核查人姓名 - `{{clue_info}}` - 线索信息
- `{{target_organization_and_position}}` - 被核查人员单位及职务 - `{{target_basic_info_clue}}` - 被核查人员工作基本情况线索
- `{{target_organization}}` - 被核查人员单位
- `{{target_position}}` - 被核查人员职务
- `{{target_gender}}` - 被核查人员性别
- `{{target_date_of_birth}}` - 被核查人员出生年月
- `{{target_date_of_birth_full}}` - 被核查人员出生年月日
- `{{target_age}}` - 被核查人员年龄
- `{{target_education_level}}` - 被核查人员文化程度
- `{{target_political_status}}` - 被核查人员政治面貌
- `{{target_professional_rank}}` - 被核查人员职级
- `{{target_id_number}}` - 被核查人员身份证号
- `{{target_address}}` - 被核查人员住址
- `{{target_registered_address}}` - 被核查人员户籍住址
- `{{target_contact}}` - 被核查人员联系方式
- `{{target_place_of_origin}}` - 被核查人员籍贯
- `{{target_ethnicity}}` - 被核查人员民族
### 问题相关字段 ### 输出字段
- `{{appointment_location}}` - 应到地点
- `{{appointment_time}}` - 应到时间
- `{{approval_time}}` - 批准时间
- `{{assessment_opinion}}` - 评估意见
- `{{backup_personnel}}` - 补空人员
- `{{clue_source}}` - 线索来源 - `{{clue_source}}` - 线索来源
- `{{target_issue_description}}` - 主要问题线索 - `{{commission_name}}` - 纪委名称
- `{{target_problem_description}}` - 被核查人问题描述
### 审批相关字段
- `{{department_opinion}}` - 初步核实审批表承办部门意见 - `{{department_opinion}}` - 初步核实审批表承办部门意见
- `{{filler_name}}` - 初步核实审批表填表人 - `{{filler_name}}` - 初步核实审批表填表人
- `{{approval_time}}` - 批准时间 - `{{handler_name}}` - 承办人
- `{{handling_department}}` - 承办部门
### 核查相关字段 - `{{interview_count}}` - 谈话次数
- `{{interview_location}}` - 谈话地点
- `{{investigation_unit_name}}` - 核查单位名称 - `{{interview_personnel}}` - 谈话人员-谈话人员
- `{{interview_personnel_leader}}` - 谈话人员-组长
- `{{interview_personnel_safety_officer}}` - 谈话人员-安全员
- `{{interview_reason}}` - 谈话事由
- `{{interviewer}}` - 谈话人
- `{{investigation_location}}` - 核查地点
- `{{investigation_team_code}}` - 核查组代号 - `{{investigation_team_code}}` - 核查组代号
- `{{investigation_team_leader_name}}` - 核查组组长姓名 - `{{investigation_team_leader_name}}` - 核查组组长姓名
- `{{investigation_team_member_names}}` - 核查组成员姓名 - `{{investigation_team_member_names}}` - 核查组成员姓名
- `{{investigation_location}}` - 核查地点 - `{{investigation_unit_name}}` - 核查单位名称
- `{{notification_location}}` - 谈话通知地点
### 风险评估相关字段 - `{{notification_time}}` - 谈话通知时间
- `{{pre_interview_risk_assessment_result}}` - 谈话前安全风险评估结果
- `{{target_family_situation}}` - 被核查人员家庭情况(默认值:家庭关系和谐稳定) - `{{proposed_interview_location}}` - 拟谈话地点
- `{{target_social_relations}}` - 被核查人员社会关系(默认值:社会交往较多,人机关系基本正常) - `{{proposed_interview_time}}` - 拟谈话时间
- `{{target_health_status}}` - 被核查人员健康状况(默认值:良好) - `{{recorder}}` - 记录人
- `{{target_personality}}` - 被核查人员性格特征(默认值:开朗) - `{{report_card_request_time}}` - 请示报告卡请示时间
- `{{target_tolerance}}` - 被核查人员承受能力(默认值:较强)
- `{{target_issue_severity}}` - 被核查人员涉及问题严重程度(默认值:较轻)
- `{{target_other_issues_possibility}}` - 被核查人员涉及其他问题的可能性(默认值:较小)
- `{{target_previous_investigation}}` - 被核查人员此前被审查情况(默认值:无)
- `{{target_negative_events}}` - 被核查人员社会负面事件(默认值:无)
- `{{target_other_situation}}` - 被核查人员其他情况(默认值:无)
- `{{risk_level}}` - 风险等级(默认值:低) - `{{risk_level}}` - 风险等级(默认值:低)
- `{{target_address}}` - 被核查人员住址
### 其他字段 - `{{target_age}}` - 被核查人员年龄
- `{{target_attitude}}` - 被核查人员本人认识和态度
根据具体模板需求,还可能包含其他字段,请参考各模板的详细说明。 - `{{target_basic_info}}` - 被核查人基本情况
- `{{target_behavior_after_relief}}` - 被核查人员减压后的表现
- `{{target_behavior_during_interview}}` - 被核查人员谈话中的表现
- `{{target_confession_level}}` - 被核查人员交代问题程度
- `{{target_contact}}` - 被核查人员联系方式
- `{{target_date_of_birth}}` - 被核查人员出生年月
- `{{target_date_of_birth_full}}` - 被核查人员出生年月日
- `{{target_education}}` - 被核查人员学历
- `{{target_ethnicity}}` - 被核查人员民族
- `{{target_family_situation}}` - 被核查人员家庭情况(默认值:家庭关系和谐稳定)
- `{{target_gender}}` - 被核查人员性别
- `{{target_health_status}}` - 被核查人员健康状况(默认值:良好)
- `{{target_id_number}}` - 被核查人员身份证号
- `{{target_issue_description}}` - 主要问题线索
- `{{target_issue_severity}}` - 被核查人员涉及问题严重程度(默认值:较轻)
- `{{target_issue_severity_level}}` - 被核查人员问题严重程度
- `{{target_mental_burden_level}}` - 被核查人员思想负担程度
- `{{target_name}}` - 被核查人姓名
- `{{target_negative_events}}` - 被核查人员社会负面事件(默认值:无)
- `{{target_occupation}}` - 被核查人员职业
- `{{target_organization_and_position}}` - 被核查人员单位及职务
- `{{target_other_issues_possibility}}` - 被核查人员涉及其他问题的可能性(默认值:较小)
- `{{target_other_situation}}` - 被核查人员其他情况(默认值:无)
- `{{target_personality}}` - 被核查人员性格特征(默认值:开朗)
- `{{target_place_of_origin}}` - 被核查人员籍贯
- `{{target_political_status}}` - 被核查人员政治面貌
- `{{target_previous_investigation}}` - 被核查人员此前被审查情况(默认值:无)
- `{{target_problem_description}}` - 被核查人问题描述
- `{{target_professional_rank}}` - 被核查人员职级
- `{{target_registered_address}}` - 被核查人员户籍住址
- `{{target_risk_level}}` - 被核查人员风险等级
- `{{target_social_relations}}` - 被核查人员社会关系(默认值:社会交往较多,人机关系基本正常)
- `{{target_tolerance}}` - 被核查人员承受能力(默认值:较强)
- `{{target_work_basic_info}}` - 被核查人员工作基本情况
- `{{target_work_history}}` - 被核查人员工作履历
--- ---
## 更新记录 ## 更新记录
- 2025-01-XX初始版本包含8个模板的所有字段 - 2025-12-10根据最新数据库信息更新