跳转到内容

场景与 LLM

ASR 输出的原始文本可能包含语气词、错别字或格式问题。场景定义了一套 prompt,让 LLM 按你的意图对文本进行改写。

ASR 原始文本 → [场景 prompt + LLM] → 改写后的文本

核心关系:

  • 场景是一组配置:prompt(指令)+ 绑定的 LLM provider + model
  • LLM 提供商是一个 OpenAI 兼容 API 端点(如 Ollama、Groq、OpenAI)
  • LLM 适配器是可选的本地桥接进程,把非标准的本地模型包装成 OpenAI 兼容接口,供 LLM 提供商指向

一句话:场景决定”怎么改”,LLM 提供商决定”谁来改”,适配器解决”接口不兼容”

不需要 LLM 改写时,使用内置的 __raw__ 场景,识别结果直接上屏。

每个场景包含:

字段说明
id唯一标识符
label菜单中显示的名称
prompt发送给 LLM 的系统提示
provider_id绑定的 LLM 提供商
model使用的模型名称
candidate_count返回候选数量

只有同时配置了 provider_id + model + prompt 的场景才会调用 LLM。

内置场景:

  • __raw__ — 跳过 LLM,直接输出原始识别文本
  • __command__ — 命令模式专用场景(见下方)

通过 Shift_R 在运行时切换场景。

对应配置:

{
"scenes": {
"active_scene": "__raw__",
"definitions": [
{
"id": "__raw__",
"candidate_count": 0
},
{
"id": "default",
"label": "默认",
"prompt": "纠正语音识别文本的错误,保留原意...",
"provider_id": "groq",
"model": "openai/gpt-oss-120b",
"candidate_count": 5
}
]
}
}

在 Vinput GUI 的 LLM tab 中管理场景:添加、编辑 prompt、绑定 provider 和 model。

Terminal window
vinput scene list # 列出所有场景
vinput scene add --id <id> # 添加场景
vinput scene edit <id> # 编辑场景
vinput scene use <id> # 切换当前场景
vinput scene remove <id> # 删除场景

添加带 LLM 的场景时,--provider--model--prompt 需要同时提供。

LLM 提供商是一个 OpenAI 兼容的 API 端点。场景通过 provider_id 引用它。

你可以配置多个提供商,不同场景可以绑定不同的提供商。

对应配置:

{
"llm": {
"providers": [
{
"id": "groq",
"base_url": "https://api.groq.com/openai/v1",
"api_key": "your-api-key"
}
]
}
}

以本地 Ollama 为例:

Terminal window
vinput llm add ollama --base-url http://127.0.0.1:11434/v1
vinput scene add --id polish \
--label "润色" \
--provider ollama \
--model qwen2.5:7b \
--prompt "将识别结果润色为自然的中文。"
vinput scene use polish
Terminal window
vinput llm list # 列出已配置提供商
vinput llm add <id> --base-url <url> # 添加
vinput llm edit <id> --base-url <url> # 编辑
vinput llm remove <id> # 删除

如果你想用的本地模型不直接提供 OpenAI 兼容接口,可以安装一个 LLM 适配器。适配器是一个本地进程,把模型包装成 OpenAI 兼容 API,然后你在 LLM 提供商中把 base_url 指向它。

对应配置:

{
"llm": {
"adapters": []
}
}

在 Vinput GUI 中进入 资源 → LLM 适配器,浏览并安装。

Terminal window
vinput adapter list # 列出已安装适配器
vinput adapter list -a # 列出可用远程适配器
vinput adapter add <id> # 安装
vinput adapter start <id> # 启动
vinput adapter stop <id> # 停止

命令模式是一种特殊的场景用法:选中已有文本,用语音指令让 LLM 改写它。

操作流程:选中文本 → 按住 Control_R → 说出指令 → 松开 → 完成。

底层使用内置的 __command__ 场景,它的 prompt 模板在运行时拼接你说的指令。

示例:

  • 选中中文 → 说 “翻译成英文” → 替换为英文译文
  • 选中代码 → 说 “加上注释” → 替换为加注释版本

如果当前没有 surrounding-text 选区,会回退到 primary selection 剪贴板内容。

命令模式需要先配置 LLM 提供商,并在 __command__ 场景中绑定 provider_idmodel