第 1 课
装好 llmster,加载模型并在终端对话
用官方脚本安装 llmster 并处理 ldconfig、下载被拦截两个常见坑,用 lms daemon 启动后台服务,lms get 下载 IBM Granite 4.0 Micro,lms load --estimate-only 先估内存,再带 --context-length、--identifier、--ttl 正式加载,最后用 lms chat -p --stats 对话并看速度。
学习位置仅保存在当前浏览器,有效期 180 天。
图文教材
本课对照的官方页面:Headless 运行、lms CLI、lms get、lms load、lms chat。命令与输出在无显卡的 Linux x86_64 云主机上实测(llmster 0.0.27+1),输出为节选。
这一课在一台没有图形界面的机器上装好 LM Studio 的后台服务 llmster,下载官方示例模型 IBM Granite 4.0 Micro,加载进内存,再在终端里和它说第一句话。全程不需要账号,也不花钱。
第 1 步:用官方脚本安装 llmster
llmster 是 LM Studio 桌面版的推理内核,单独打包成不依赖图形界面的后台服务。官方安装命令:
# Linux / macOS
curl -fsSL https://lmstudio.ai/install.sh | bash
# Windows(PowerShell)
irm https://lmstudio.ai/install.ps1 | iex
对照结果(Linux,节选):
Downloading llmster 0.0.27-1 Linux x86_64
(下载进度条省略)
Verifying checksum...
Installing llmster...
Install completed at /home/box/.lmstudio/llmster/0.0.27-1.
Installation finished successfully! llmster is ready to launch.
To start the daemon, run:
lms daemon up
To add lms to your PATH, either restart your shell or run:
export PATH="/home/box/.lmstudio/bin:$PATH"
安装包约 1.2 GB,装在 ~/.lmstudio/ 下。按提示把 lms 加进 PATH:
export PATH="$HOME/.lmstudio/bin:$PATH"
lms --help
lms --help 会列出 Local models(chat、get、load、unload、ls、ps、import)、Serve(server、log)、Runtime 等几组命令,本课会用到其中大部分。
实测遇到的两个坑,按需处理:
- 脚本报
ldconfig must be available:精简版 Linux 的普通用户 PATH 里可能没有/sbin。先执行export PATH="$PATH:/sbin:/usr/sbin"再重跑脚本。 - 下载安装包时报 HTTP 500:测试机所在网络会拦截不带 https 的下载请求,而脚本里的安装包地址没有写协议头。解决办法是先
curl -fsSL https://lmstudio.ai/install.sh -o install.sh把脚本存下来,把里面的下载地址改成以https://开头,再bash install.sh。脚本自己会做校验(上面的Verifying checksum...)。本课测试机就是这样装的,另外还手动下载了一份安装包,用官方同目录下的.sha512文件核对,结果一致。网络正常的机器不会遇到这个问题。
第 2 步:启动后台服务
llmster 以守护进程(daemon)方式运行,用 lms daemon 管理:
lms daemon up
lms daemon status
lms server status
对照结果:
Starting local model service...
llmster started (PID: 1145672).
llmster v0.0.27+1 is running (PID: 1145672)
Server: OFF
(i) To start the server, run the following command:
lms server start
daemon 负责加载模型和推理;HTTP 服务(server)是另一个开关,第 2 课再打开。现在 lms 命令已经能直接和 daemon 对话。需要给脚本读状态时,可以加 --json(下面是另一次启动的输出,所以 PID 不同):
lms daemon up --json
lms daemon status --json
对照结果:
Starting local model service...
{"status":"running","pid":1157334,"isDaemon":true,"version":"0.0.27+1"}
{"status":"running","pid":1157334,"isDaemon":true}
第 3 步:下载示例模型
官方 REST 快速开始用的示例模型是 ibm/granite-4-micro,3B 参数,量化后约 2.1 GB,没有显卡也能跑。--yes 表示不弹出选择、直接下载推荐的量化版本:
lms get ibm/granite-4-micro --yes
lms ls
对照结果(节选):
To download: Granite 4.0 Micro Q4_K_M [GGUF] - 2.10 GB
Resolution completed. Downloading 2.10 GB...
(下载进度条省略)
Download completed.
You have 2 models, taking up 2.18 GB of disk space.
LLM PARAMS ARCH SIZE DEVICE
ibm/granite-4-micro (1 variant) 3B granite 2.10 GB Local
EMBEDDING PARAMS ARCH SIZE
text-embedding-nomic-embed-text-v1.5 Nomic BERT 84.11 MB
列表里的嵌入模型 text-embedding-nomic-embed-text-v1.5 是安装后就有的,本课用不到。想换别的模型,lms get 后面可以跟 LM Studio 模型库里的名字或 Hugging Face 仓库地址,不带 --yes 时会让你选量化版本。
第 4 步:先估算内存,再加载
加载前可以先看看要占多少内存,--estimate-only 只估算、不真加载:
lms load ibm/granite-4-micro --estimate-only
对照结果:
Model: ibm/granite-4-micro
Estimated GPU Memory: 1.96 GiB
Estimated Total Memory: 1.96 GiB
Confidence: LOW
Estimate: This model may be loaded based on your resource
guardrails settings.
确认放得下就正式加载。下面三个参数都很常用:
lms load ibm/granite-4-micro \
--context-length 8192 \
--identifier granite \
--ttl 3600 -y
lms ps
| 参数 | 作用 |
|---|---|
--context-length 8192 | 上下文长度,越大越占内存 |
--identifier granite | 给这次加载起个短名,API 里用它当 model |
--ttl 3600 | 空闲 3600 秒后自动卸载;不写则一直留在内存里 |
-y | 遇到选择时自动用默认项 |
对照结果:
Model loaded successfully in 3.89s.
(1.96 GiB)
To use the model in the API/SDK, use the identifier "granite".
IDENTIFIER MODEL STATUS SIZE CONTEXT PARALLEL
granite ibm/granite-4-micro IDLE 2.10 GB 8192 4
(表格后面还有 LOAD CONFIG、DEVICE、TTL 三列,TTL 显示 60m / 1h)
PARALLEL 4 表示这个实例最多同时处理 4 个请求。
第 5 步:在终端里对话
lms chat 不带 -p 会进入交互式对话;带 -p 则只问一句就退出,适合脚本和快速试用。--stats 会打印速度和 token 数:
lms chat granite \
-p "用一句中文介绍你自己,不超过 30 个字。" --stats
对照结果:
我是一个AI助手,为用户提供有用且简明的回答。
Prediction Stats:
Stop Reason: eosFound
Tokens/Second: 6.75
Time to First Token: 1.340s
Prompt Tokens: 54
Predicted Tokens: 24
Total Tokens: 78
在没有显卡的测试机上约每秒 7 个 token。有 NVIDIA 显卡或 Apple Silicon 的电脑会快很多。Prompt Tokens 比你输入的字多,是因为模型的对话模板加了系统提示和角色标记,第 3 课会用日志把它们打印出来。
小结
- llmster 是 LM Studio 不带图形界面的推理内核,
curl -fsSL https://lmstudio.ai/install.sh | bash一条命令装好,装完记得把~/.lmstudio/bin加进 PATH。 lms daemon up启动后台服务,lms daemon status看状态。daemon 和 HTTP 服务是两个开关。lms get下载、lms ls列出磁盘上的模型;lms load --estimate-only先估内存,再用--context-length、--identifier、--ttl正式加载;lms ps看内存里有哪些模型。lms chat <名字> -p "..." --stats一句话试模型,顺便看速度。
下一课打开 HTTP 服务,用 OpenAI SDK 和 LM Studio 自己的 REST 接口调用这个模型。
