MokuML:无需流水线的本地机器学习预测

概念验证研究。github.com/amiune/MokuML

如果小企业能够连接 Postgres,用简单的英语描述预测需求,然后直接在自己的 Mac 上得到结果,而不需要数据科学团队、云端机器学习系统或类似 Kumo 的订阅服务,会怎样?

这正是我们通过 MokuML 探索的可能性。可以把它理解为轻量版 Kumo.ai:连接数据库,提出预测需求,获得答案。但所有操作都在本地进行。

思路

  1. 连接您的 Postgres 数据库。
  2. 描述您想预测的内容(例如“哪些客户会流失?”或“哪些发票会延迟付款?”)。
  3. 一个 本地 LLM 读取数据库结构(表名、列和键),编写安全的 SELECT 查询。它不会看到真实的数据行。
  4. 查询在您的电脑上以只读事务运行。
  5. TabPFN-3 在该表上进行训练和预测,同样在本地运行。

无需特征工程流水线,无需模型调参界面,也不会把客户数据发送给 API。

隐私是产品原则

LLM 接收数据库结构的元数据和您的提示词,不接收单元格值、预览或密码。SQL 在执行前会通过 AST 解析器验证。修改数据的操作、DDL 和多语句技巧都会被拒绝。

可以选择远程 LLM 模式,但仍遵守相同边界:只提供数据库结构。

技术栈

  • 使用 SwiftUI 构建的 macOS 应用
  • 在 127.0.0.1 上运行的 Python 工作进程,负责数据库访问、SQL 验证和 TabPFN 推理
  • 使用 Ollama(或 OpenAI 兼容 API)将文本转为 SQL
  • 本地运行历史保存在 ~/Library/Application Support/MokuML/runs/

实际限制

它无法凭空预测未来。您需要历史标签,或能从数据库结构中推导出来的目标。TabPFN 对行数和特征数量有限制。商业使用前还应检查 TabPFN 的许可证。

项目仍处于早期,但方向看起来值得探索:本地 LLM 与表格基础模型相结合,可能让小企业以低成本、保护隐私的方式使用实用的机器学习。

代码仓库: github.com/amiune/MokuML