MokuML:无需流水线的本地机器学习预测
概念验证研究。github.com/amiune/MokuML
如果小企业能够连接 Postgres,用简单的英语描述预测需求,然后直接在自己的 Mac 上得到结果,而不需要数据科学团队、云端机器学习系统或类似 Kumo 的订阅服务,会怎样?
这正是我们通过 MokuML 探索的可能性。可以把它理解为轻量版 Kumo.ai:连接数据库,提出预测需求,获得答案。但所有操作都在本地进行。
思路
- 连接您的 Postgres 数据库。
- 描述您想预测的内容(例如“哪些客户会流失?”或“哪些发票会延迟付款?”)。
- 一个 本地 LLM 读取数据库结构(表名、列和键),编写安全的
SELECT查询。它不会看到真实的数据行。 - 查询在您的电脑上以只读事务运行。
- 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