“模型能跑”只是一个局部事实;“别人可以安全、稳定、可复核地调用它”才开始接近基础设施。
为什么不是三个 notebook
三个模型有不同的依赖、权重、显存成本和输入处理方式。如果把这种差异直接推给调用者,每次实验都要重新进入某台机器、找环境、找 checkpoint、理解一套脚本,然后手工确认结果到底来自什么版本。
统一 API 隐藏的是部署摩擦,不是模型差异。调用者发送原始语义列及其 numeric、categorical、boolean 类型,缺失值保留为 null。每个 backend 仍按自己的机制完成 preprocessing 与 inference;服务不强迫所有方法共享一个 one-hot matrix。
统一的,是证据边界
每个响应除了 predictions,还带有 request fingerprint、checkpoint hash、service source hash、configuration 与 timing receipt。/evaluate 的 query labels 只在 gateway 计算 RMSE、MAE 和 R²,不会进入模型 worker。
这层设计对于 TabUF 尤其重要。我们不能先用一套含糊、不可复核的 baseline,再把 TabUF 的差异解释成模型进步。公共 API 不是 benchmark 本身,但它把 baseline 调用路径固定成一个能被重放和审计的对象。
现在怎样调用
POST https://tabular.wehub.us/v1/models/{model_id}/predict当前模型 ID 是 tabpfn-v3-regression、tabfm-v1-regression 与 limix-2m-regression。完整请求 schema、容量限制和错误码见 API 使用说明;可执行 OpenAPI 位于 tabular.wehub.us/docs。
它还不是什么
我愿意现在公开接口,是因为已有足够证据冻结“怎样诚实调用”这件事;我不愿意把尚未验证的运营能力写成承诺。下一步应该由真实使用中的摩擦决定:是更需要 batch job、独立 credential、quota,还是一种更适合 Agent 的 table task contract。
这对 TabUF 意味着什么
在 baseline bundle、split discipline 和真实 inference 证据完成前,TabUF 的新结果不应该被解释成有意义的 benchmark 结论。这个 API 解决的是其中一块基础设施:让强 baseline 不再是散落在机器上的“听说能跑”,而是可访问、可复核、能留下 receipt 的 reference。
等 TabUF 的 typed-token route 达到自己的 availability gate,它也可以进入同一个服务。但在那之前,model list 只会展示已经通过实际加载与 inference 验证的模型,不用未来计划冒充当前能力。