367 lines
13 KiB
Python
367 lines
13 KiB
Python
import json
|
||
|
||
excel = {
|
||
"备品备件": ["名称","型号","规格","单机装配数量","库存数量"],
|
||
"故障汇总" : ["序号","故障描述","故障发现时间","故障装备型号","船舰型号","船舰舷号","列装单位","修理单位","修理人员","所用仪器列表","更换器材","故障原因分析","修理用时","修后体会"
|
||
]
|
||
}
|
||
prompt_type_excel = f"""
|
||
你是一个表格识别助手,能够根据要求快速的识别出表格所对应的类型
|
||
###识别规则
|
||
1.excel表格会转换为对应的json键值对形式数据,你要是通过识别json数据中的字段,通过字段识别出表格所存在的类型
|
||
2.目前主要的表格类型以及包含的主要字段如下:
|
||
{excel}
|
||
3.请结合上述给你的信息,判断给出的表格json数据属于哪一种类型,主要判断是否存在上述主要字段,然后判断是否为上述表格
|
||
4.如果不符合上述表格类型,请输出类型为:其他,不一定完全属于上述两种表格类型之一
|
||
5.请快速的输出表格类型,输出格式如下:
|
||
{{
|
||
"type" : "备品备件"
|
||
}}
|
||
###【表格数据】为:
|
||
{{text}}
|
||
"""
|
||
|
||
|
||
|
||
prompt_beipinbeijian = """
|
||
你是一个信息抽取模型。
|
||
请从给定的表格结构化 JSON 中,抽取【实体】和【实体关系】。
|
||
【抽取要求】
|
||
1. 仅基于输入内容,不允许编造
|
||
2. 实体类型只有设备和备品备件
|
||
3. 关系类型只有设备信息
|
||
4. 每个实体必须包含:
|
||
- type
|
||
- 名称
|
||
- properties
|
||
5. 关系必须包含:
|
||
- type
|
||
- from_entity
|
||
- to_entity
|
||
6. 输出必须是严格 JSON,不要解释性文本。
|
||
7. 设备实体只在header字段中,设备的属性为空,设备名去除备品备件后的结果。
|
||
8. 备品备件实体在content字段中,名称为备品备件名称,备品备件的属性为content字段中所有信息,其中"名称"属性一定要存在于properties中,名称一般来源于备品备件名称
|
||
9 不要增加没有必要的属性,如果某些属性为空,也不要随意添加
|
||
|
||
【输出格式】
|
||
{{
|
||
"entities": [
|
||
{{
|
||
"type": "设备",
|
||
"properties": {{
|
||
"名称": "舰船主发动机",
|
||
"型号": "",
|
||
"技术责任单位": "",
|
||
"生产单位": "",
|
||
"技术状态": "",
|
||
"生产日期": "",
|
||
"启用时间": "",
|
||
"运行时间": "",
|
||
"运行条件": ""
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "备品备件",
|
||
"properties": {{
|
||
"名称": "排气阀",
|
||
"型号": "PV-100",
|
||
"规格": "通径100mm",
|
||
"图号或标准号或代号": "PF-112-06",
|
||
"计量单位": "个",
|
||
"单机重量": "5.5",
|
||
"尺寸(长X宽X高mm)": "150x150x200",
|
||
"单机装配数量": "4",
|
||
"随机装配数量(90天)_舰上": "4",
|
||
"随机装配数量(90天)_基地": "4",
|
||
"远航配备数量(180)": "16",
|
||
"是否可修_是": true,
|
||
"是否可修_否": "",
|
||
"实物图片电子文档名称": "",
|
||
"MTBF(b)": "18000",
|
||
"生成厂家": "中国船舶工业",
|
||
"出厂日期": "2023-07-01 00:00:00",
|
||
"供货周期(天)": "50",
|
||
"有效期(月)": "36",
|
||
"使用寿命(h)": "35000",
|
||
"备件箱号": "C-05",
|
||
"储存要求_环境": "密封包装,温度-10~50°C,湿度≤65%",
|
||
"储存要求_期限": "36个月",
|
||
"停产后供应方式": "提供同类替代产品",
|
||
"备注": "需定期清理积碳"
|
||
}}
|
||
}}
|
||
],
|
||
"relationships": [
|
||
{{
|
||
"type": "存储备用",
|
||
"from_entity": "舰船主发动机",
|
||
"to_entity": "排气阀"
|
||
}}
|
||
]
|
||
}}
|
||
|
||
【表格数据】
|
||
text
|
||
"""
|
||
|
||
prompt_guzhanghuizong = """
|
||
你是一个信息抽取模型。
|
||
请从给定的表格结构化 JSON 中,抽取【实体】和【实体关系】。
|
||
【抽取要求】
|
||
1. 仅基于输入内容,不允许编造
|
||
2. 实体类型只有设备、系统、故障、舰艇和修理方案
|
||
其中故障类实体主要包括以下属性:"名称", "故障原因", "故障影响", "故障类型", "发生时间", "处置情况", "修复情况"
|
||
设备类实体主要包括以下属性:"名称", "型号", "技术责任单位", "生产单位", "技术状态", "生产日期", "启用时间", "运行时间", "运行条件"
|
||
系统类实体主要包括以下属性:"名称", "技术责任单位", "生产单位", "级别"
|
||
舰艇类实体主要包括以下属性:"名称", "型号", "舷号", "设计单位", "总装工厂", "所属部队"
|
||
修理方案类实体主要包括以下属性:"名称", "修理人员", "修理时间", "修理工具", "备品备件", "修理类型", "维修项目"
|
||
一般故障类实体的"名称"属性来源于"故障描述"字段,"故障原因"属性来源于"故障原因分析"字段,发生时间对应故障发现时间
|
||
设备类和系统类实体中"名称"来源于"故障描述"中所提到的实体,所以你应该仔细判断是否存在相关的设备和系统实体名称,进行属性填充,型号对应于故障装备型号
|
||
船舰型号、船舰舷号对应于舰艇类实体的"名称", "型号", "舷号",即名称和型号都为舰艇型号,弦号对应于船舰舷号,列装单位建立对应的新字段
|
||
修理方案中名称属性主要对应更换器材字段内容,修理人员和所用仪器列表分别对应于"修理人员"和"修理工具"属性
|
||
3. 关系主要是:
|
||
{
|
||
"包含": ["舰艇包含系统", "系统包含设备", "设备包含零部件", "修理包含维修项目"],
|
||
"解决": ["修理方案解决故障"],
|
||
"具有": ["设备具有故障", "零部件具有故障"]
|
||
}
|
||
4. 不要增加没有必要的属性,如果某些属性为空,也不要随意添加
|
||
5. 输出格式要求:
|
||
只输出纯JSON,不要任何其他文本、解释或Markdown。结构如下:
|
||
{{
|
||
"entities": [
|
||
{{
|
||
"type": "设备",
|
||
"properties": {{
|
||
"名称": "通信风冷设备",
|
||
"型号": "FL-2000",
|
||
"技术责任单位": "701所",
|
||
"生产单位": "沪东重机",
|
||
"技术状态": "正常",
|
||
"生产日期": "2021-08",
|
||
"启用时间": "2022-01",
|
||
"运行时间": "5000小时",
|
||
"运行条件": "舱内通风良好,无腐蚀性气体"
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "故障",
|
||
"properties": {{
|
||
"故障现象": "设备表面温度超过80℃",
|
||
"故障原因": "散热风扇停转",
|
||
"故障影响": "导致通信设备降频",
|
||
"故障类型": "硬件故障",
|
||
"发生时间": "2024-11-15",
|
||
"处置情况": "切换备用风机",
|
||
"修复情况": "更换风扇电机"
|
||
}}
|
||
}}
|
||
],
|
||
"relationships": [
|
||
{{
|
||
"type": "包含",
|
||
"from_entity": "通信风冷设备",
|
||
"to_entity": "风冷装置"
|
||
}},
|
||
{{
|
||
"type": "具有",
|
||
"from_entity": "风冷装置",
|
||
"to_entity": "风冷装置过热"
|
||
}}
|
||
]
|
||
}}
|
||
|
||
示例:
|
||
输入为:
|
||
[
|
||
{
|
||
"content": {
|
||
"序号": "1",
|
||
"故障描述": "火控雷达显示数据异常,与实际值偏差较大",
|
||
"故障发现时间": "2025-02-17 08:41",
|
||
"故障装备型号": "FCR-3202",
|
||
"船舰型号": "052D型驱逐舰",
|
||
"船舰舷号": "115",
|
||
"列装单位": "东海舰队某驱逐舰支队",
|
||
"修理单位": "舰队某机动修理队",
|
||
"修理人员": "何军",
|
||
"所用仪器列表": "导航系统校准仪,GPS模拟器,惯性导航测试仪",
|
||
"更换器材": "燃油滤清器,机油泵,传动齿轮",
|
||
"故障原因分析": "电压波动造成电子元件损坏",
|
||
"修理用时": "4小时34分钟",
|
||
"修后体会": "故障排除彻底,设备运行稳定,各项参数正常",
|
||
"其他": "建议定期进行设备全面检测,提前发现隐患",
|
||
"图片": "待上传"
|
||
}
|
||
},
|
||
{
|
||
"content": {
|
||
"序号": "79",
|
||
"故障描述": "雷达系统显示数据异常,与实际值偏差较大",
|
||
"故障发现时间": "2025-08-25 15:23",
|
||
"故障装备型号": "RD-8856",
|
||
"船舰型号": "052D型驱逐舰",
|
||
"船舰舷号": "117",
|
||
"列装单位": "南海舰队某护卫舰支队",
|
||
"修理单位": "北海舰队装备保障大队",
|
||
"修理人员": "王强,马丽,胡琳",
|
||
"所用仪器列表": "导航系统校准仪,GPS模拟器,惯性导航测试仪",
|
||
"更换器材": "雷达天线,发射模块,电源板",
|
||
"故障原因分析": "使用环境恶劣,盐雾腐蚀部件",
|
||
"修理用时": "6小时38分钟",
|
||
"修后体会": "更换部件质量良好,设备性能恢复至出厂水平",
|
||
"其他": "设备已连续工作1800小时,建议适当停机保养",
|
||
"图片": "待上传"
|
||
}
|
||
}
|
||
]
|
||
|
||
输出为:
|
||
{{
|
||
"entities": [
|
||
{{
|
||
"type": "舰艇",
|
||
"properties": {{
|
||
"名称": "052D型驱逐舰_115",
|
||
"型号": "052D型驱逐舰",
|
||
"舷号": "115",
|
||
"设计单位": "",
|
||
"总装工厂": "",
|
||
"所属部队": "",
|
||
"列装单位": "东海舰队某驱逐舰支队"
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "设备",
|
||
"properties": {{
|
||
"名称": "火控雷达",
|
||
"型号": "FCR-3202",
|
||
"技术责任单位": "",
|
||
"生产单位": "",
|
||
"技术状态": "",
|
||
"生产日期": "",
|
||
"启用时间": "",
|
||
"运行时间": "",
|
||
"运行条件": ""
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "故障",
|
||
"properties": {{
|
||
"名称": "火控雷达显示数据异常,与实际值偏差较大",
|
||
"故障原因": "电压波动造成电子元件损坏",
|
||
"故障影响": "",
|
||
"故障类型": "",
|
||
"发生时间": "2025-02-17 08:41",
|
||
"处置情况": "",
|
||
"修复情况": ""
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "修理方案",
|
||
"properties": {{
|
||
"名称": "燃油滤清器,机油泵,传动齿轮",
|
||
"修理人员": "何军",
|
||
"修理时间": "",
|
||
"修理工具": "导航系统校准仪,GPS模拟器,惯性导航测试仪",
|
||
"备品备件": "",
|
||
"修理类型": "",
|
||
"维修项目": "",
|
||
"修后体会": "故障排除彻底,设备运行稳定,各项参数正常",
|
||
"修理用时": "4小时34分钟",
|
||
"修理单位": "舰队某机动修理队"
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "舰艇",
|
||
"properties": {{
|
||
"名称": "052D型驱逐舰_117",
|
||
"型号": "052D型驱逐舰",
|
||
"舷号": "117",
|
||
"设计单位": "",
|
||
"总装工厂": "",
|
||
"所属部队": "",
|
||
"列装单位": "南海舰队某护卫舰支队"
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "设备",
|
||
"properties": {{
|
||
"名称": "雷达系统",
|
||
"型号": "RD-8856",
|
||
"技术责任单位": "",
|
||
"生产单位": "",
|
||
"技术状态": "",
|
||
"生产日期": "",
|
||
"启用时间": "",
|
||
"运行时间": "",
|
||
"运行条件": ""
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "故障",
|
||
"properties": {{
|
||
"名称": "雷达系统显示数据异常,与实际值偏差较大",
|
||
"故障原因": "使用环境恶劣,盐雾腐蚀部件",
|
||
"故障影响": "",
|
||
"故障类型": "",
|
||
"发生时间": "2025-08-25 15:23",
|
||
"处置情况": "",
|
||
"修复情况": ""
|
||
}}
|
||
}},
|
||
{{
|
||
"type": "修理方案",
|
||
"properties": {{
|
||
"名称": "雷达天线,发射模块,电源板",
|
||
"修理人员": "王强,马丽,胡琳",
|
||
"修理时间": "",
|
||
"修理工具": "导航系统校准仪,GPS模拟器,惯性导航测试仪",
|
||
"备品备件": "",
|
||
"修理类型": "",
|
||
"维修项目": "",
|
||
"修后体会": "更换部件质量良好,设备性能恢复至出厂水平",
|
||
"修理用时": "6小时38分钟",
|
||
"修理单位": "北海舰队装备保障大队"
|
||
}}
|
||
}}
|
||
],
|
||
"relationships": [
|
||
{{
|
||
"type": "包含",
|
||
"from_entity": "052D型驱逐舰",
|
||
"to_entity": "火控雷达"
|
||
}},
|
||
{{
|
||
"type": "具有",
|
||
"from_entity": "火控雷达",
|
||
"to_entity": "火控雷达显示数据异常,与实际值偏差较大"
|
||
}},
|
||
{{
|
||
"type": "解决",
|
||
"from_entity": "燃油滤清器,机油泵,传动齿轮",
|
||
"to_entity": "火控雷达显示数据异常,与实际值偏差较大"
|
||
}},
|
||
{{
|
||
"type": "包含",
|
||
"from_entity": "052D型驱逐舰_117",
|
||
"to_entity": "雷达系统"
|
||
}},
|
||
{{
|
||
"type": "具有",
|
||
"from_entity": "雷达系统",
|
||
"to_entity": "雷达系统显示数据异常,与实际值偏差较大"
|
||
}},
|
||
{{
|
||
"type": "解决",
|
||
"from_entity": "雷达天线,发射模块,电源板",
|
||
"to_entity": "雷达系统显示数据异常,与实际值偏差较大"
|
||
}}
|
||
]
|
||
}}
|
||
|
||
输入文本:
|
||
text
|
||
"""
|
||
|