基于 SciPy 构建的 Python 机器学习库,提供分类、回归、聚类和模型选择等工具。
haifengl/smile
面向 JVM 的机器学习与 AI 平台,覆盖经典机器学习、深度学习、NLP、可视化以及 LLM/ONNX 推理。
- Star
- 6,429
- Fork
- 1,149
- 未关闭 Issue
- 3
- 最近提交
- 8小时前
这是什么?
SMILE 是一个面向 JVM 的机器学习库和 AI 平台,可在 Java、Kotlin 和 Scala 中直接调用。它提供分类、回归、聚类、流形学习、异常检测、时间序列、NLP 和统计等大量算法,无需额外部署 Python 服务即可在应用进程内运行。
除核心库外,项目还包含基于 Quarkus 的推理服务 SMILE Serve,可通过兼容 OpenAI 的接口提供序列化 SMILE 模型、ONNX 模型和 LLM 服务,支持 SSE 流式输出和 Prometheus 指标。SMILE Studio 是一个桌面工作台,结合交互式笔记本与 AI 代理用于数据探索、模型训练和导出。模型解释方面支持 TreeSHAP 与 KernelSHAP 的局部特征归因。
项目采用双重授权:默认适用 GPLv3、AGPLv3 等开源许可,Studio 采用 BSL 1.1;如需闭源分发,可向 HALO.AI 申请商业授权。
核心功能
- 01在 Java、Kotlin、Scala 中直接调用分类、回归、聚类和流形学习算法
- 02基于 LibTorch 的 GPU 深度学习与 ONNX Runtime 推理
- 03提供兼容 OpenAI 接口的 LLM 服务,支持工具调用和流式输出
- 04通过 TreeSHAP 和 KernelSHAP 解释模型预测
- 05提供 DataFrame、CSV/Parquet/Arrow/JDBC 读写及数据变换工具
- 06支持 Swing 与 Vega-Lite 两种可视化方式
适用场景
- 在现有 JVM 微服务中直接嵌入预测模型,无需部署 Python 旁路服务
- 在自托管推理服务中同时提供经典机器学习、ONNX 和 LLM 模型
- 在边缘设备或离线网络中执行模型打分与更新
- 在交互式笔记本环境中进行数据探索和模型训练
快速上手
- 1
从 Maven Central 将 smile-core 库添加到你的构建配置中(参见 README 的安装部分)
- 2
按照 README 的快速开始部分运行你的第一个示例
使用前须知
- 最新版本需要 Java 25,v4.x 支持 Java 21,更早版本支持 Java 8。
- 元数据未明确标明许可证,使用前请先核实许可条款。
- README 称开源许可包含 copyleft 和源码公开义务,若要避免这些义务,需向 HALO.AI 购买商业许可。
收录于专题
标签
常见问题
- smile 是什么?
- 面向 JVM 的机器学习与 AI 平台,覆盖经典机器学习、深度学习、NLP、可视化以及 LLM/ONNX 推理。 SMILE 是一个面向 JVM 的机器学习库和 AI 平台,可在 Java、Kotlin 和 Scala 中直接调用。它提供分类、回归、聚类、流形学习、异常检测、时间序列、NLP 和统计等大量算法,无需额外部署 Python 服务即可在应用进程内运行。
- smile 可以免费使用吗?用的什么许可证?
- smile 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- smile 还在维护吗?
- 活跃维护中。smile 最近一次提交是在 2026年11月7日。
- smile 适合用来做什么?
- 在现有 JVM 微服务中直接嵌入预测模型,无需部署 Python 旁路服务 在自托管推理服务中同时提供经典机器学习、ONNX 和 LLM 模型 在边缘设备或离线网络中执行模型打分与更新 在交互式笔记本环境中进行数据探索和模型训练
- smile 怎么安装和运行?
- 从 Maven Central 将 smile-core 库添加到你的构建配置中(参见 README 的安装部分) 按照 README 的快速开始部分运行你的第一个示例
- 在哪里获取 smile?
- 源代码和安装说明在 GitHub 上:https://github.com/haifengl/smile
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Orange 是一款开源的可视化数据挖掘与分析工具,通过拖拽式工作流完成数据处理与建模。
一套用于评估和调试机器学习模型的工具集,涵盖错误分析、公平性、可解释性和因果分析。
基于 scikit-learn 和 pandas 的 Python 机器学习框架,内置市场交易与体育赛事预测模块。
开源 Python 工具包,用 30 多种指标定量评估神经网络解释结果,支持 PyTorch 与 TensorFlow。
一个深度学习服务器与命令行工具,通过 REST API 对图像、文本、表格和时间序列数据进行训练与推理。