ARCHITECTURE
MOLA V1 架构详解
一、架构概述
MOLA V1版本(2025.09)采用"大小模型混合架构",在资源约束下实现了基础的语音对话能力。该架构通过合理分工大小模型,平衡了响应速度、理解深度和计算资源消耗。
核心设计理念:
- 轻量小模型处理高频、简单任务 → 快速响应
- 专用大模型处理复杂任务(改写、意图拆解、函数调用) → 深度理解
- 并行处理:小模型与大模型同时处理同一输入
- 大模型顺序处理:①改写 → ②意图拆解 → ③Function Call
- 规则融合:在结果生成阶段综合各模块输出,决定最终响应
二、系统架构图
flowchart TB
subgraph V1_Arch["MOLA V1 完整架构 (2025.09)"]
User[用户语音输入]
subgraph ASR["三方ASR模块"]
ThirdASR["第三方ASR服务"]
end
subgraph Parallel_Processing["并行处理层"]
subgraph SmallNLU["小模型NLU模块"]
Dist["百科分发"]
Rejection["拒识模块"]
VerticalNLU["垂域NLU (部分场景)"]
end
subgraph LLM_Stack["大模型处理流程 (Qwen2.5-7B x 3)"]
Rewriter["① 改写模型 Query Rewriter 支持2轮对话改写"]
IntentSplitter["② 多意图拆解模型 并行意图识别与拆解"]
FunctionCaller["③ Function Call模型 口语化指令解析 支持部分功能"]
end
end
RuleFusion[规则融合模块 综合小模型和大模型结果]
subgraph Template["模板层"]
ResponseTmpl["TTS播报模板 固定文本模板"]
end
subgraph TTS["TTS模块"]
TTS_Engine[TTS语音合成]
end
Response[系统响应]
AudioOutput[语音输出]
User --> ThirdASR
ThirdASR --> Parallel_Processing
Rewriter --> IntentSplitter
IntentSplitter --> FunctionCaller
Dist --> RuleFusion
Rejection --> RuleFusion
VerticalNLU --> RuleFusion
FunctionCaller --> RuleFusion
RuleFusion --> Response
Response --> ResponseTmpl
ResponseTmpl --> TTS_Engine
TTS_Engine --> AudioOutput
end
大模型处理流程说明
ASR文本输出
↓
① 改写模型 (Query Rewriter)
├─ 基于2轮对话历史进行改写
└─ 输出: 改写后的标准化Query
↓
② 多意图拆解模型
├─ 识别并拆解单句中的多个并行意图
└─ 输出: 拆解后的独立意图列表
↓
③ Function Call模型
├─ 将意图映射为具体函数调用
└─ 输出: Function Call结果(只有此结果进入规则融合)
三、架构优势与创新点(对比之前架构)
MOLA V1架构相较之前的语音助手系统架构,引入了三大核心模型,实现了对话能力的质的飞跃。以下优势使系统在多轮对话连续性、多意图识别、口语化理解等方面显著提升。
3.1 对比概览:从规则驱动到大模型驱动
MOLA V1的核心转变在于从"规则驱动"向"大模型驱动"的范式升级。传统NLU架构依赖大量训练数据和人工规则配置,而MOLA V1通过大模型底座的泛化能力,大幅降低了数据门槛和配置复杂度。
| 对比维度 | 之前架构(传统NLU) | MOLA V1架构 |
|---|---|---|
| 意图识别 | 依赖海量训练数据(百万级别)构建模型 | 基于大模型底座,仅需少量样本(1万以内)即可适配 |
| 多轮对话 | 需逐场景配置DM规则 | 依托大模型语义理解,无需规则即可处理上下文省略 |
| 口语化理解 | 要求用户严格按既定槽位表达,容错率低 | 理解自然口语,无明确槽位也能推理意图 |
| 扩展性 | 新增意图需重新训练NLU模型,迭代周期长 | 大模型天然泛化,新增场景无需全量重训 |
3.2 架构带来的体验变化
多轮对话:更自然的连续交互(改写模型)
| 对话场景 | 之前架构 | V1架构 |
|---|---|---|
| "导航去机场T3" → "去T2" | ❌ 无法理解上下文 | ✅ 改写为"导航去机场T2" |
| "查周杰伦的专辑" → "林俊杰呢?" | ❌ 意图识别失效 | ✅ 改写为"查林俊杰的专辑" |
多意图拆解:单句支持大规模并行任务(多意图拆解模型)
| 用户输入 | 拆解结果 | 执行效果 |
|---|---|---|
| "打开天窗空调座椅加热,关上车窗遮阳帘,导航去机场,播放周杰伦的歌" | [打开天窗, 打开空调, 座椅加热, 关车窗, 关遮阳帘, 导航-机场, 播放音乐] | ✅ 8项操作同时执行 |
| "打开所有车控设备,再把音量调大,告诉我股市行情" | [打开天窗, 打开车窗, 打开空调, 音量调大, 查询股市] | ✅ 5项操作并行处理 |
口语化车控:理解自然表达(Function Call模型)
| 用户口语化表达 | 之前架构 | V1架构 | 说明 |
|---|---|---|---|
| "打开车耳朵" | ❌ 不理解 | ✅ 打开后视镜 | 理解"车耳朵"=后视镜 |
| "打开头顶的灯" | ❌ 不理解 | ✅ 打开阅读灯 | 理解"头顶的灯"=阅读灯 |
| "把座椅调舒服点" | ❌ 不理解 | ✅ 调节至舒适模式 | 理解模糊舒适度 |
小结
MOLA V1通过大小模型混合架构,在有限资源下实现了对话能力的显著提升。从规则驱动到大模型驱动,降低了数据门槛和配置复杂度,为后续版本的多智能体演进奠定了基础。