跳转到主要内容
请在 nexa 可执行文件所在目录运行 nexa 命令。

nexa pull

下载模型并存储到本地。 输入 pull 命令后,CLI 会引导你完成选择模型类型、主模型文件、分词器(可选)以及额外文件(可选)的流程。

通用行为说明

当运行 nexa pull <model-name> 后,CLI 将提示:
  1. 量化版本选择
    如果当前模型支持多个量化版本,你会看到类似如下的菜单:
    Quant version selection
    Choose a quant version to download
    > Q4_K_M     [1.2 GiB] (default)
      Q8_0       [2.0 GiB]
      F16        [3.8 GiB]
    
    选择你希望下载的量化版本。
  2. 开始下载
    选择完成后,模型文件将自动开始下载。

LLM

bash
nexa pull NexaAI/Qwen3-0.6B-GGUF

VLM

bash
nexa pull NexaAI/Qwen2.5-Omni-3B-GGUF

Function Call

bash
nexa pull NexaAI/Qwen3-0.6B-GGUF

Omni 模型

bash
nexa pull NexaAI/Qwen2.5-Omni-3B-GGUF

ASR(语音识别)

bash
nexa pull mlx-community/whisper-tiny

TTS(语音合成)

bash
nexa pull nexaml/Kokoro-82M-bf16-MLX

嵌入模型(Embedder)

bash
nexa pull djuna/jina-embeddings-v2-small-en-Q5_K_M-GGUF

重排模型(Reranker)

bash
nexa pull pqnet/bge-reranker-v2-m3-Q8_0-GGUF

nexa list

以表格显示所有已下载模型及其名称与大小。
bash
nexa list

nexa remove

按名称移除某个本地模型。 示例:从缓存目录移除已下载的模型 NexaAI/Qwen3-0.6B-GGUF。移除后可释放磁盘空间;如需再次推理,需要重新下载。
bash
nexa remove NexaAI/Qwen3-0.6B-GGUF

nexa clean

删除所有本地缓存模型。
bash
nexa clean

nexa infer

使用指定模型运行推理。该模型必须已下载并缓存到本地。

帮助菜单

bash
nexa infer -h
显示 nexa infer 的帮助菜单。

LLM

与语言模型开启交互式聊天会话。
bash
nexa infer NexaAI/Qwen3-0.6B-GGUF
使用 --think 选项控制是否展示模型的内部推理过程:
  • --think=false:模型直接返回,不展示推理过程。
  • --think=true:模型在最终回答前展示其推理步骤。 启用推理过程的示例:
bash
nexa infer NexaAI/Qwen3-0.6B-GGUF --think=true

VLM

仅文本响应,或基于图像文件进行回答(交互式图像输入):
bash
nexa infer NexaAI/Qwen2.5-Omni-3B-GGUF
如果只需要文本输入,直接启动命令并开始聊天。
如果希望模型根据图片回答,请在消息末尾提供图像的绝对路径
示例提示词:Describe this picture </path/to/image.png>

Omni 模型

仅文本响应,或基于音频文件进行回答(交互式音频输出):
bash
nexa infer ggml-org/Qwen2.5-Omni-3B-GGUF
如果只需要文本输出,正常开始聊天即可。
如果希望模型根据音频回答,请在消息末尾提供音频的绝对路径
示例提示词:Convert this audio into text </path/to/audio.mp3>

ASR(语音识别)

目前,ASR 仅在 macOS 上通过 mlx 运行时支持。
使用 ASR 模型将音频文件中的语音转写为文本。
bash
nexa infer -m asr mlx-community/whisper-tiny  --input < /path/to/audio.wav > --language en
  • -m asr:设置模型类型为 ASR。
  • --input:指定输入音频文件。
  • --language:设置语言代码(例如 en 表示英语,zh 表示中文)。

TTS(语音合成)

目前,TTS 仅在 macOS 上通过 mlx 运行时支持。
使用 TTS 模型将输入文本转换为语音音频。
bash
nexa infer nexaml/Kokoro-82M-bf16-MLX -m tts --voice-identifier zm_yunyang -p "Hello world this is a text to speech test" -o < /path/to/audio.wav >
  • -m TTS:设置模型类型为 TTS。
  • --voice-identifier:指定说话人的声音。
    如果未提供 --voice-identifier,NexaCLI 会在错误信息中返回所有支持的声音列表,便于选择。
  • -p:需要合成的文本。
  • -o:生成的 .wav 音频输出文件。

嵌入(Embedder)

使用嵌入模型为多段文本生成向量嵌入。
bash
nexa infer djuna/jina-embeddings-v2-small-en-Q5_K_M-GGUF -m embedder --prompt "translate to text" --prompt "second"
  • -m embedder:设置模型类型为 Embedder。
  • --prompt:提供一段或多段文本进行向量化。

重排(Reranker)

使用重排模型根据查询为文档打分并排序。
bash
nexa infer pqnet/bge-reranker-v2-m3-Q8_0-GGUF -m reranker --query "query" --document "a" --document "query"
  • -m reranker:设置模型类型为 Reranker。
  • --query:用于评估文档相关性的主查询字符串。
  • --document:一段或多段需要根据查询进行打分的文档。

nexa serve

启动 Nexa 推理服务器(REST API)。

帮助菜单

bash
nexa serve -h
显示 nexa serve 的帮助菜单。

启动服务

示例:启动一个绑定到 127.0.0.1:8080 的本地推理服务器。该服务器支持 OpenAI 兼容 API,--keepalive 600 表示在请求间将模型在内存中保留 10 分钟。
bash
nexa serve --host 127.0.0.1:8080 --keepalive 600
你可以用如下方式进行测试:
curl -X POST http://127.0.0.1:8080/v1/chat/completions -H "Content-Type: application/json" -d "{\"model\": \"NexaAI/Qwen3-0.6B-GGUF\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello!\"}], \"max_tokens\": 64}"
这会向本地 /v1/completions 接口发送一个 POST 请求,使用 NexaAI/Qwen3-0.6B-GGUF 模型,并返回最多 100 个 token 的响应。

nexa run

连接到正在运行的 Nexa 服务器(OpenAI 兼容 API)并开启聊天界面。你需要先启动服务器。

帮助菜单

bash
nexa run -h
显示 nexa run 的帮助菜单。

运行模型

示例:开启与 NexaAI/Qwen3-0.6B-GGUF 的交互式 流式 聊天会话。模型会在生成 token 的同时逐步输出结果。
bash
nexa run NexaAI/Qwen3-0.6B-GGUF
--disable-stream|-s:禁用流式输出,直接返回完整的 JSON。