SMILE 项目启动指南
项目概述
SMILE (Statistical Machine Intelligence & Learning Engine) 是一个用Java编写的全面机器学习框架,提供Scala、Kotlin和Clojure API。项目使用双构建系统:SBT(主要)和 Gradle(用于Kotlin模块)。
系统要求
- Java 25(用于SMILE v5.x)
- 系统依赖:OpenBLAS和ARPACK用于优化的矩阵计算
- SBT 1.11.7+ 用于基于Scala的构建
- Node.js/npm 用于Web界面
系统依赖安装
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install libopenblas-dev libarpack2
macOS:
brew install arpack
注意:由于macOS SIP,请将 /opt/homebrew/lib/libarpack.dylib 复制到工作目录。
Windows: 发布包的 bin 目录中提供预构建的DLL文件。请将此目录添加到PATH环境变量。
主要启动方法
方法1:快速启动 - Scala Shell(推荐)
# 1. 克隆仓库
git clone https://github.com/haifengl/smile.git
cd smile
# 2. 运行Scala shell(自动构建)
bin/smile.sh
方法2:Java Shell替代方案
# 1. 构建shell
sbt shell/stage
# 2. 运行Java shell
cd shell/target/universal/stage
bin/jshell.sh
方法3:LLM推理服务器
# 启动LLM推理服务器(支持OpenAI兼容API)
bin/serve.sh
方法4:文档网站
# 1. 进入web目录
cd web
# 2. 安装依赖并启动开发服务器
npm install
npm run serve
# 3. 构建生产版本
npm run deploy
构建命令
SBT构建(主要)
# 完整构建
sbt package
# 运行测试
sbt test
# Scala 3构建
sbt ++3.3.3 scala/package
# 发布到本地Maven仓库
sbt publishM2
Gradle构建(Kotlin模块)
cd kotlin
./gradlew build
内存配置
默认情况下,shell使用最多75%的内存。对于大型数据集:
./bin/smile -J-Xmx30G
项目结构
项目包含以下主要模块:
- base: 核心Java工具
- core: 主要机器学习算法
- deep: 深度学习功能
- nlp: 自然语言处理
- plot: 数据可视化
- json: JSON处理
- scala: Scala API包装器
- kotlin: Kotlin API(基于Gradle)
- shell: 交互式shell
- serve: LLM推理服务器
核心功能
- Java、Scala和Kotlin的交互式shell
- 全面的ML算法(分类、回归、聚类等)
- 支持CPU/GPU的深度学习
- 具有OpenAI兼容API的LLM实现
- 数据可视化工具
- 基于Web的文档和聊天界面
使用场景建议
- 数据科学工作:使用Scala shell
- Java开发:使用Java shell
- AI应用:使用LLM服务器
- 文档查看:使用Web界面
故障排除
- 确保Java版本正确(Java 25 for v5.x)
- 检查系统依赖是否安装(OpenBLAS, ARPACK)
- 验证SBT和Node.js版本要求
- 对于macOS用户,注意SIP相关的库文件处理
选择适合您用例的入口点,项目提供了多种灵活的运行方式。
登录后可参与表态
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
领取 2000万 Tokens
通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力