既要调取deepseek接口,让deepseek能通过“风向场”和“风速场”的矩阵数据来识别台风,还让deepseek自己写了一段提示词,但识最后别的结果不好
提示词部分:
def build_analysis_prompt(self, region_data, point):
"""构建单个区域的提示词"""
prompt = f"""台风特征分析指令
核心原则:
1. 严格识别北半球台风特有的逆时针气旋系统
2. 逆时针旋转是判定的绝对必要条件(优先级高于风速)
3. 任何无明显旋转特征的系统必须排除
数据说明:
- 矩阵方位规定:
• 矩阵行方向:上→下 对应 北→南
• 矩阵列方向:左→右 对应 西→东
- 风向矩阵中,角度表示风的去向(风向指向的方向)
0°=北, 45°=东北, 90°=东, 135°=东南,
180°=南, 225°=西南, 270°=西, 315°=西北
- 北半球台风必须显示连续逆时针旋转模式
- 无效值: 风速NaN / 风向-999
核心分析要求
1. 风场连续旋转数学模型:
- 设风眼中心为坐标原点O
- 对任意位置点P(x,y),计算:
θ = arctan2(y,x) // 位置方位角(正东为0°,逆时针增加)
φ = 风向角(取自矩阵值)
- 理想台风应满足:φ ≈ θ + 90°(严格切向逆时针旋转)
- 允许偏差δ:|φ - (θ + 90°)| ≤ 30°(眼墙区≤15°,外围区≤30°)
2. 旋转连续性验证:
a. 存在风向突变区(奇点):
• 寻找满足 max(Δφ)≥60° 的局部区域
• 该区域应为中心低风速区(候选风眼)
b. 围绕奇点的连续旋转:
• 从奇点向外,方位角θ变化时,风向角φ应同步连续增加
• 计算旋转一致性:∂φ/∂θ ≈ 1(理想值)
• 可视化:想象从风眼发出的射线,沿线风向应平滑逆时针偏转
3. 风速分布要求:
- 风向突变区对应最低风速区(V<5m/s)
- 周围存在≥13.9m/s的风速带(允许不连续环状)
- 风速梯度:从中心到外围≥5m/s
边界案例处理
1. 初生台风:
- 接受∂φ/∂θ≈0.8-1.2的弱旋转
- 低风速区可不连续
- 最大风速≥13.9m/s即有效
2. 数据限制:
- NaN区域不参与旋转计算
- 有效数据点≥60%即可评估
- 局部突变不影响整体模式
矩阵数据:
[风速矩阵(m/s)] (nan是无效值)
{np.array2string(region_data['speed'], threshold=np.inf, separator=', ', formatter={'float_kind': lambda x: "%.1f" % x})}
[风向矩阵(°)] (-999是无效值)
{np.array2string(region_data['dir'], threshold=np.inf, formatter={'int': lambda x: "%d" % x})}
必须严格遵循以下输出格式
判定: [是/否]
最大风速: [值]m/s
环形结构: [有/无]
风场旋转: [符合/不符合]
理由:
1. 风场数学模型分析: [φ与θ+90°的匹配度, 最大偏差位置]
2. 旋转连续性验证: [奇点识别, ∂φ/∂θ空间分布]
3. 风速-风向关联: [低风速区与旋转中心对应关系]
4. 综合结论: [100字以上判断依据]
"""
return prompt
风向矩阵数据(-999为无效值):
-999,-999,-999,240,242,247,260,270,277,280,277,277,277,280,282,282,282,285,285,287,290,290,290,292,292,295
-999,-999,-999,237,240,247,252,260,272,275,270,272,275,277,280,280,282,282,285,287,287,290,290,290,292,295
-999,-999,-999,252,247,247,-999,-999,-999,-999,267,270,275,275,277,277,282,282,285,287,287,287,287,290,292,292
-999,-999,-999,250,245,247,-999,-999,-999,-999,265,267,270,272,275,277,280,282,282,285,285,287,287,287,290,292
-999,-999,-999,247,245,252,-999,-999,-999,-999,262,265,270,272,275,277,277,280,282,282,285,285,287,287,287,290
-999,-999,-999,242,240,-999,-999,-999,-999,260,262,262,267,272,275,275,277,280,280,282,285,285,285,285,287,290
-999,-999,-999,237,242,-999,-999,-999,-999,-999,257,262,267,270,272,275,277,277,280,282,285,287,285,285,287,290
-999,-999,-999,240,237,-999,-999,-999,-999,250,255,262,267,270,272,277,277,277,280,285,285,287,287,287,287,290
-999,-999,-999,230,-999,-999,-999,-999,-999,245,252,260,267,270,275,277,277,280,282,282,285,287,290,290,290,290
-999,-999,-999,232,-999,-999,-999,-999,230,237,250,255,260,270,275,277,282,282,285,285,287,287,290,290,292,290
-999,-999,-999,225,215,-999,-999,-999,220,232,242,252,260,267,277,280,285,287,287,290,290,290,290,292,292,290
-999,-999,-999,207,200,202,210,210,207,222,235,247,257,272,280,285,290,287,290,290,292,295,292,292,292,292
-999,-999,-999,195,185,187,195,197,190,205,230,252,265,275,282,290,292,292,292,295,295,295,295,292,292,295
-999,-999,-999,185,157,172,180,180,177,185,210,255,277,292,302,305,297,297,297,295,297,297,297,295,292,295
-999,-999,-999,172,152,150,165,172,165,152,185,217,297,315,322,317,312,307,302,297,297,300,300,300,297,297
-999,-999,-999,160,152,137,142,155,155,137,127,115,27,352,340,332,325,317,315,310,300,305,305,305,302,302
-999,-999,-999,162,150,137,130,135,137,127,110,95,50,17,357,345,335,325,322,317,315,310,312,307,305,305
-999,-999,-999,162,147,135,125,122,122,117,105,90,67,40,17,0,342,332,325,322,322,317,320,315,307,305
-999,-999,-999,162,150,132,117,110,107,105,97,82,62,45,27,12,355,345,330,327,325,320,320,317,312,307
-999,-999,-999,142,140,130,117,105,97,90,82,72,60,45,30,15,7,350,335,330,327,325,325,317,315,312
-999,-999,-999,125,117,122,112,100,90,80,72,65,55,40,30,15,5,352,337,332,330,327,327,322,317,317
-999,-999,77,100,102,100,100,87,80,70,62,55,45,37,25,10,355,350,340,332,327,327,330,327,325,322
-999,-999,72,75,85,85,85,77,70,62,55,47,42,37,22,7,352,347,347,337,330,330,335,332,330,327
-999,-999,-999,65,65,67,67,70,65,57,52,47,40,32,20,2,350,345,345,340,335,332,332,332,335,332
-999,-999,-999,55,60,62,57,55,55,52,50,47,40,27,12,5,355,350,350,345,345,335,332,332,335,337
-999,-999,-999,57,55,57,55,52,50,50,47,42,32,15,7,10,2,355,350,345,347,337,335,335,335,337
-999,-999,-999,60,57,55,52,50,47,42,35,32,22,15,12,7,5,0,347,342,350,337,335,335,337,340
-999,-999,-999,57,57,52,50,47,45,45,42,40,30,20,10,10,10,0,345,345,347,337,332,332,340,342
-999,-999,-999,57,57,52,50,50,47,45,42,42,35,20,12,12,10,0,350,350,342,337,335,332,340,345
-999,-999,-999,55,52,52,55,55,55,50,47,42,32,22,17,15,10,5,357,352,342,340,337,337,342,347
-999,-999,-999,50,50,50,50,52,50,50,45,37,35,25,12,5,5,2,0,355,345,342,340,340,347,347
-999,-999,-999,50,50,50,50,50,47,45,37,37,35,27,12,357,5,5,5,357,350,345,342,345,350,350
-999,-999,-999,50,50,50,47,45,45,40,37,37,32,20,10,7,7,10,12,5,355,347,345,350,352,347
-999,-999,-999,47,47,42,42,40,37,30,30,27,25,20,20,20,22,20,15,7,357,350,347,350,350,345
-999,-999,-999,47,42,40,40,37,30,27,30,30,30,30,30,30,30,22,15,10,2,355,350,350,350,345
-999,-999,-999,35,37,37,37,32,27,32,37,37,32,32,32,27,22,20,15,10,5,2,352,350,347,342
-999,-999,-999,27,32,35,32,32,35,37,37,37,37,37,32,27,25,17,15,10,10,5,355,352,345,342
-999,-999,-999,30,35,35,35,35,35,37,37,40,40,40,35,27,27,22,17,12,12,7,357,355,350,345
-999,-999,-999,32,35,37,37,37,37,37,37,40,42,40,35,35,30,22,17,12,10,5,357,352,352,345
-999,-999,-999,35,35,37,37,37,37,35,40,42,42,40,37,32,27,25,17,12,10,2,355,350,352,342
-999,-999,-999,32,37,37,37,40,40,40,42,42,37,37,37,30,30,22,12,10,12,2,350,347,352,340
风速矩阵数据(nan为无效值):
依靠风向矩阵数据转换的风向图

依靠风速矩阵数据转换的风速图

我该怎么更改提示词,让模型能识别台风