Repolode
haifengl

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. 1

    从 Maven Central 将 smile-core 库添加到你的构建配置中(参见 README 的安装部分)

  2. 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 数据每日更新。

相关项目