You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shapelets平台Python异常检测应用按钮函数绑定报错求助

Shapelets平台异常检测按钮绑定报错排查

问题场景

在Shapelets平台开发Python异常检测应用时,尝试将异常检测函数绑定到按钮触发,但点击按钮时出现Error: Internal Server Error. Runtime error executing computeAndPlotAnomalies错误,现有代码如下:

button = app.button("Execute anomaly-detection")
app.place(button)

ailtair_chart1 = app.altair_chart(title='MLII', data=df['MLII'])
app.place(line_chart1)

ailtair.bind(computeAndPlotAnomalies, df['MLII'], windowSize, top_k, triggers=[button])

app.register()

可能的报错原因及排查方向

1. 变量名拼写错误

代码中创建的图表变量是ailtair_chart1,但调用app.place()时传入的是未定义的line_chart1,这会直接引发运行时错误,先修正为:

app.place(ailtair_chart1)

2. 绑定函数的API调用错误

Shapelets中绑定函数到触发器的正确API是app.bind(),而非ailtair.bind(),错误的API调用会导致无法正确触发函数,修改为:

app.bind(computeAndPlotAnomalies, df['MLII'], windowSize, top_k, triggers=[button])

3. computeAndPlotAnomalies函数参数不匹配

检查computeAndPlotAnomalies的定义,确保它接受你传递的3个参数(df['MLII']、windowSize、top_k),参数数量、顺序、类型必须完全一致。比如函数定义是否为def computeAndPlotAnomalies(data, window, k):,若参数数量不符、类型不匹配(如windowSize是字符串而非整数),会直接引发函数执行错误。

4. 函数内部未处理的异常

computeAndPlotAnomalies函数内部可能存在逻辑错误:

  • 检查df['MLII']的数据格式是否符合函数要求,比如是否是Shapelets支持的数据集类型,而非普通Pandas Series
  • 检查windowSize和top_k是否为有效数值(如windowSize不能小于1,top_k不能大于数据量)
  • 函数中若涉及更新图表,要确保用Shapelets的API修改ailtair_chart1,比如用ailtair_chart1.data(new_data)更新数据,而非重新创建图表

5. 权限或资源问题

如果函数涉及读取外部数据或占用较多计算资源,可能触发Shapelets平台的内部限制。可以先测试空的computeAndPlotAnomalies函数(比如仅打印日志),确认绑定和触发逻辑正常后,再逐步添加异常检测代码。

内容的提问来源于stack exchange,提问作者Chen Sofia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 08:42:06