Json-Python-Server/docs/V1.1.md
2026-01-29 18:18:32 +08:00

1.7 KiB
Raw Blame History

会话总结V1.1

近期问题与修复

  • 内存限制:发现 uvicorn 启动阶段因 RLIMIT_AS 2GB 触发 MemoryError。将内存限制改为可选,通过环境变量控制(默认不设限)。
  • pandas 频率大小写pandas 3.x 需小写频率,已将 freq='H'/'S' 改为 freq='h'/'s',解决 Invalid frequency 报错。

接口现状(简)

  • v1 /api: uploadanalyzeavailable_methodsimage/{filename}download/{filename}list_uploads 均已实现。
  • v2 /api/v2: analyzeOSS/URL 输入)、available_methods 已实现;API_MODE=v2 可禁用 v1 上传/图片接口。

设计决策:前端渲染、数据模式

  • 不再传 PNG后端只返回结构化数据前端用 ECharts 渲染。方案详见 docs/charts-data-mode-plan.md
  • 统一清洗:to_echarts_safe 处理 NaN/Inf/pd.NA、Timestamp → ISO8601、numpy/Decimal 转原生,防循环引用。
  • 数据格式约定:
    • 时间序列/多系列:优先 dataset;矩阵(相关性等)提前 flatten [i,j,value]
    • 直方图:后端 np.histogram 分箱,返回 [range_start, range_end, count]
    • 样式解耦:后端不返回颜色/线型。
  • 算法保持不变,改动仅在结果封装/清洗;如需 CI/异常标注属于额外封装,不改核心算法。

待办(尚未落地)

  • 落实 charts 数据模式:实现 to_echarts_safe、新增 charts 字段、禁用图片保存时的返回路径。
  • 直方图分箱数据、异常点标注(若需要)、预测上下界(若需要)在封装层返回。

参考

  • 详细方案:docs/charts-data-mode-plan.md
  • 接口清单:docs/api-endpoints-status.md