nanochat 后半程 · 第 7 章 语音入口


nanochat 后半程 · 第 7 章 语音入口

章节摘要:打字不是唯一的入口。nanochat 发布帖的四阶段口径里,推理界面 = llama.cpp + Whisper:Whisper 负责把语音变成文字,之后的路全是旧路——文字装进 messages、过模板、调第 6 章的服务。7.1 节搭转写管线:Whisper 的档位表(tiny/base/small/medium/large:参数量、显存、相对速度、中文表现),档位的本质是用准确率换实时性;附中文转写代码与中文转写三病(简繁混杂、静音幻觉、太慢降档)。7.2 节把整条回路接起来:录音 → Whisper 转写 → llama-server 对话 → 可选 TTS 播放,给出完整回路图、代码骨架与实时性预算表——每个环节选什么档位,加起来要在几秒内答话。语音不引入新的模型知识,只把第 4~6 章的资产串成一条会听的流水线。

学习目标

阅读完本章,你应当能够:

  1. 说出 Whisper 在四阶段流水线里的位置,解释"档位换实时性"的权衡。
  2. 按硬件与延迟要求从档位表选出转写模型。
  3. 跑通中文转写并处置三种常见转写病。
  4. 画出语音对话闭环的完整回路图并跑通代码骨架。
  5. 用实时性预算表为各环节配档位,让全链路在几秒内应答。

核心概念速览

(文字流程图) B ──文字──▶ messages 历史·第 2 章契约 messages 历史·第 2 章契约 ──▶ llama-server·6.2 本地 API llama-server·6.2 本地 API ──▶ 回答文本

一句话金句:语音入口没有新魔法——Whisper 把声音翻译成文字,剩下的路第 4~6 章已经修好。

💡 阅读策略:7.1 可独立于第 6 章阅读(只依赖录音与转写);7.2 需要先跑通 6.2 的本地服务。两节都不需要 GPU——tiny/base 档在纯 CPU 上就够教学闭环。

子章节导航

7.1 Whisper 转写管线

Whisper 档位表(参数量/显存/相对速度/中文表现,以官方 README 为准);录音三纪律与转写代码示意;中文转写三病与处置(简繁混杂、静音幻觉、太慢降档)。

7.2 语音对话闭环

录音→转写→对话→可选 TTS 的完整回路图;整合 7.1 与 6.2 的代码骨架;实时性预算表与档位联动;工程化延伸路标(VAD/流式/whisper.cpp)。

子章节之间的逻辑关系

7.1 转写管线(声音→文字:选档、录音、转写、治转写病) │ 产出:一段可靠的中文字符串 + 固定的转写耗时 ▼ 7.2 对话闭环(文字→回答→声音:串起 6.2 API,可选 TTS) │ 产出:全链路数秒内应答的语音问答 demo ▼ 第 8 章 改造实验(中文 SFT / 规模实验 / 对齐路标)

前置知识与后续延伸

前置知识:第 6 章的本地服务(闭环的对话腿插在 6.2 的 API 上);4.2 的采样参数(语音场景取偏稳的低温);0.2 的环境约定(本章另需 whisper 与录音依赖,安装见各小节代码注释)。

为后续奠定基础:7.2 的闭环是全书交付形态的完整体——一个能听、能想、能说的本地小 ChatGPT;第 8 章中文改造完成后,这条回路原样复用,只是背后的模型换了中文语料重训。


作者与出处
原作者: 灏天文库
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天文库 转发
评论区 (0)
U