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

Azure ML中部署的Prophet时序模型端点测试输入数据格式

解决Azure ML中MLflow部署的fbProphet端点测试格式问题

核心问题分析

你遇到的报错本质是输入格式未匹配MLflow对fbProphet模型的解析要求:fbProphet的predict()方法需要接收包含ds列的DataFrame,而Azure ML的MLflow端点对输入的JSON结构有特定规范,错误的格式会导致模型无法将输入转换为合法的DataFrame,进而触发索引或解析错误。

正确的输入格式示例

推荐格式(Split结构,MLflow默认兼容)

这种格式明确指定列名和对应数据,能被MLflow直接解析为DataFrame,是最可靠的方式:

{
  "input_data": {
    "columns": ["ds"],
    "data": [
      ["2023-04-01 22:00:00"],
      ["2023-04-01 23:00:00"]
    ]
  }
}

可选格式(Records结构,需模型支持)

如果你的模型在训练/注册时,自定义了输入解析逻辑支持records格式,也可以使用以下结构(注意仅需ds字段,预测时不需要y值):

{
  "input_data": {
    "data": [
      {"ds": "2023-04-01 22:00:00"},
      {"ds": "2023-04-01 23:00:00"}
    ]
  }
}

之前错误的原因说明

  1. 第一种错误:直接将records数组传给input_data,MLflow默认无法将其直接解析为DataFrame,导致模型尝试用非法索引访问数据,触发报错。
  2. 第二种错误:JSON语法错误——缺少闭合的},导致端点无法解析请求体。
  3. 第三种错误:仅传递日期列表或嵌套列表,无法被解析为带ds列的结构化DataFrame,模型无法识别输入格式,触发索引错误。

关键注意点

  • 预测时不需要输入y值,y是训练阶段的目标变量,预测仅需提供待预测的ds日期。
  • 确保JSON格式完全合法,无语法错误(如括号、引号闭合)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:37:33