llama cli 是 llama.cpp 的终端前端:一个交互式聊天界面,也是用于试验模型、采样设置、语法和多模态输入的实验场。

基本用法

指向一个模型(本地文件或 Hugging Face 仓库),即可开始聊天:

# 从 Hugging Face 下载(首次运行后会被缓存)
llama cli -hf unsloth/gemma-4-E4B-it-GGUF:Q4_0

# 本地 GGUF 文件
llama cli -m my-model.gguf

你将看到可用命令以及模型的输入选项。

llama CLI 输出

一些提示:

# 设置系统提示词
llama cli -m model.gguf -sys "You are a concise assistant that answers in bullet points."

# 提问一次并在回答结束后退出
llama cli -m model.gguf -st -p "Give me a baklava recipe"

控制生成过程

采样参数决定了模型如何生成文本。llama.cpp 会为你使用的模型选择合理的默认值,但你可以自行实验和调整这些参数:

llama cli -hf ggml-org/gemma-4-e4b-it-GGUF:Q4_0 --temp 0.2 --top-k 40 --top-p 0.95
标志默认值作用
--temp N0.8随机性;数值越低越确定
--top-k N40仅从最可能的 K 个 token 中采样
--top-p N0.95Nucleus sampling 概率质量
--min-p N0.05丢弃低于此相对概率的 token
-n, --predict N-1最大生成的 token 数 (-1 = 无限制)
--repeat-penalty N1.0惩罚重复的 token 序列

性能与内存

# 设置上下文窗口大小 (0 = 模型允许的最大上下文长度)
llama cli -m model.gguf -c 16384

# 将 MoE 专家权重保留在 CPU 上;适用于在小 GPU 上运行大型 MoE 模型
llama cli -m model.gguf -cmoe

默认情况下,llama.cpp 会调整未设置的选项以适应可用的设备显存 (--fit on),因此启动时很少出现内存溢出错误。使用 --list-devices 查看可用的 GPU,并使用 -dev 指定特定的 GPU。

多模态输入

许多 LLM 支持图像或多模态输入。启动 llama cli 后,你可以使用 /image 命令向提示中添加图像(媒体文件在前,然后是引用该图像的文本提示):

> /image image.png

Loaded media from 'image.png'

> describe this image

对于一次性的媒体-文本提示,请在提示旁传递媒体文件。

llama cli -hf ggml-org/gemma-4-e4b-it-GGUF:Q4_0 --image "image.png" -p "Describe this image."

同样地,你可以在 CLI 中使用 /audio 处理音频输入,或使用 --audio 处理一次性的音频-文本对。通过逗号分隔的路径允许多个文件。

> /audio /Users/mervenoyan/Downloads/example_audio.mp3

Loaded media from '/Users/mervenoyan/Downloads/example_audio.mp3'

> transcribe this audio

推理模型

对于支持思考/推理功能的模型,你可以控制其思考行为:

# 完全禁用思考功能
llama cli -hf ggml-org/gemma-4-e4b-it-GGUF:Q4_0 -rea off

# 将思考预算限制为 1024 个 token
llama cli -m model.gguf --reasoning-budget 1024

推测解码

使用推测解码助手(或草稿)模型来加速生成。这适用于支持此功能的模型,你需要同时指定主模型和草稿模型:

llama cli -m big-model.gguf -md small-draft-model.gguf --spec-type draft-simple

对于 Hugging Face Hub 上的 GGUF 仓库,你可以指向大模型和小模型仓库。在某些仓库中,它们被放在一起;在其他仓库中,你可以分别指向包含主模型和助手模型的仓库。

llama cli -hf ggml-org/gemma-4-e4b-it-GGUF:Q4_0 --hf-repo-draft ggml-org/gemma-4-e4b-it-GGUF:Q4_0 --spec-type draft-mtp

--spec-type 默认为 none(不使用草稿模型),常见的选择有 draft-simple、draft-mtp 或 draft-eagle3,具体取决于模型支持的草稿风格。

获取帮助

llama cli -h 打印所有选项。这里展示的是一些最常用的标志;完整参考文档记录了更多高级设置。