Files

155 lines
5.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
AI 诊断 Prompt 模板配置。
支持三种预设模板:quick(快速)、standard(标准)、detailed(详细)。
"""
from typing import Dict
# Prompt 模板字典
PROMPT_TEMPLATES: Dict[str, str] = {
"quick": """请快速分析这张 D-InSAR 形变图,重点关注:
1. 是否存在明显的地表形变区域(红色/蓝色异常区)
2. 形变的大致范围和强度
3. 初步的风险等级评估(低/中/高)
请用简洁的语言(3-5 句话)给出结论。""",
"standard": """请分析这张 D-InSAR 地表形变监测结果图,提供以下信息:
**1. 形变特征识别**
- 识别图中的形变区域(红色表示远离卫星/沉降,蓝色表示靠近卫星/抬升,绿色表示稳定)
- 描述形变的空间分布模式、强度范围和影响面积
- 判断形变是否连续、是否存在突变边界、是否有明显的形变中心
- 分析形变的几何形态特征(线性、圆形、不规则等)
**2. 风险评估**
- 根据形变幅度(参考色标 ±0.1m)、分布特征和梯度,评估风险等级
* 低风险:形变量 < 2cm,分布零散
* 中风险:形变量 2-5cm,局部集中
* 高风险:形变量 5-10cm,连续分布
* 极高风险:形变量 > 10cm,急剧变化
- 识别可能的地质灾害类型(滑坡、地面沉降、地裂缝、采空区塌陷等)
- 结合已知隐患点位置,分析形变与灾害点的空间关联性
- 指出需要重点关注的区域和紧急程度
**3. 数据质量评价**
- 评估图像的整体相干性(观察是否有大面积失相干区域)
- 判断噪声水平(是否有明显的随机噪声或条纹状伪影)
- 识别可能的误差来源(大气延迟、轨道误差、解缠错误等)
- 给出结果可靠性评分(质量评分: X/10)
- 说明评分依据和结果的适用性
**4. 监测建议**
- 针对识别的高风险区域,建议后续监测频率
- 推荐需要补充的地面调查或其他监测手段
- 提出预警阈值建议
**输出格式要求:**
- 使用 Markdown 格式,包含清晰的章节标题(使用 ### 三级标题)
- 在风险评估部分明确标注:**风险等级: [低/中/高/极高]**
- 在质量评价部分明确标注:**质量评分: X/10**
- 如果有高置信度的判断,标注:**置信度: XX%**
- 使用列表和加粗强调关键信息
- 保持专业、客观、准确的语言风格""",
"detailed": """请对这张 D-InSAR 地表形变监测结果进行全面深入的专业分析:
**一、形变场特征分析**
1. **形变区域识别**
- 详细描述所有可识别的形变区域(位置、范围、形态)
- 区分主要形变区和次要形变区
- 分析形变的空间连续性和边界特征
2. **形变量级评估**
- 估算最大形变量(视线向位移)
- 分析形变梯度和变化率
- 识别形变集中区和过渡区
3. **形变模式判读**
- 判断形变类型(沉降、抬升、水平位移等)
- 分析形变的对称性和方向性
- 识别可能的形变驱动机制
**二、地质灾害风险评估**
1. **灾害类型识别**
- 根据形变特征推断可能的地质灾害类型
- 分析灾害的发育阶段和活动性
- 评估灾害的潜在影响范围
2. **风险等级评定**
- 综合形变幅度、速率、分布给出风险等级(低/中/高/极高)
- 指出高风险区域和需要紧急关注的位置
- 提供风险分级的依据和置信度
3. **监测建议**
- 建议后续监测的重点区域
- 推荐监测频率和技术手段
- 提出需要补充的地面调查内容
**三、数据质量与可靠性评价**
1. **相干性分析**
- 评估整体相干性水平
- 识别失相干区域及其原因
- 判断结果的空间覆盖完整性
2. **噪声与误差**
- 识别大气延迟、轨道误差等系统性误差
- 评估随机噪声水平
- 判断是否存在解缠错误
3. **可靠性评分**
- 给出数据质量综合评分(1-10 分)
- 说明评分依据
- 指出结果的适用范围和局限性
**四、综合结论与建议**
- 总结关键发现
- 给出明确的风险判断
- 提供决策支持建议
请以专业、严谨的语言输出完整的 Markdown 格式报告。"""
}
def get_prompt_template(template_name: str) -> str:
"""
获取 Prompt 模板。
Args:
template_name: 模板名称(quick/standard/detailed
Returns:
Prompt 文本
Raises:
ValueError: 模板名称不存在
"""
if template_name not in PROMPT_TEMPLATES:
raise ValueError(
f"Unknown prompt template: {template_name}. "
f"Available templates: {', '.join(PROMPT_TEMPLATES.keys())}"
)
return PROMPT_TEMPLATES[template_name]
def list_prompt_templates() -> Dict[str, Dict[str, str]]:
"""
列出所有可用的 Prompt 模板及其描述。
Returns:
模板字典,格式:{name: {description, preview}}
"""
return {
"quick": {
"description": "快速分析(3-5 句话,适合批量筛查)",
"preview": PROMPT_TEMPLATES["quick"][:100] + "..."
},
"standard": {
"description": "标准分析(包含形变识别、风险评估、质量评价)",
"preview": PROMPT_TEMPLATES["standard"][:100] + "..."
},
"detailed": {
"description": "详细分析(全面深入的专业报告,适合重点区域)",
"preview": PROMPT_TEMPLATES["detailed"][:100] + "..."
}
}