需求文档
版本:0.0.1
作者:Eric
日期:2025.2.1
审批人:暂无
1.引言
- 文档目的:本文档定义了TalkFlow移动应用的详细需求,旨在指导开发、测试和部署过程。文档确保所有利益相关者对应用的功能和性能有统一的理解。
- 项目背景:面向出国工作、雅思备考、个人爱好等对英语口语需求大的用户,解决用户缺乏英语口语环境、真人对话没有勇气开口的痛点,设计一款Ai英语口语练习应用。项目源于初步的市场调研,用户需求包括简单易用和跨设备同步。
- 范围:本文档覆盖应用的Core功能,包括语音输入(ASR)、自然语言处理(NLP)、语音输出(TTS)、对话管理、用户管理、系统管理。超出范围的如监控看板、Ai视频对话功能,将在后续版本中考虑。
- 定义术语:
- 用户:应用的使用者,包括个人用户和团队成员
2.需求概述
Talkflow是一款AI英语口语练习软件,目的是帮助用户练习口语、纠正发音,成为用户的私人Ai英语教练。其核心功能包括:
- 实时对话
- 意图识别
- 回复生成
- 登录/权限控制
- 多轮上下文跟踪,对话日志存储
核心指标:
- 语音识别准确率(中英混合≥90%)
- 端到端响应时间≤2s
- 支持至少10轮的上下文记忆
3.功能需求
3.1 模块划分
| 功能需求 | |
|---|---|
| 语音输入(ASR) | - 支持实时麦克风录制 - 中英文自动检测 - 环境降噪音(可选) |
| 自然语言处理(NLP引擎) | - 中英混合理解 - 敏感词过滤 - 支持天气查询/翻译等技能扩展(可选) |
| 语音输出(TTS) | - 可调节语速/音调 - 中英语音无缝切换 |
| 对话管理 | - 多轮对话状态跟踪 - 对话日志记录 |
| 用户管理 | 登录/权限控制、使用记录查询 |
| 系统管理 | - API调用监控 - 用户反馈收集 - 错误日志可视化 |
3.2 详细功能
语音交互流程
用户唤醒 → 语音录制 → ASR转文本 → NLP处理 → TTS语音回复
4.技术架构
| 技术架构 | |
|---|---|
| 语音转文本(ASR) | Kaldi + WebRTC/WebAudio(Web) + AudioRecord (Android) + AVAudioEngine (iOS) |
| 自然语言处理(NLP引擎) | ChatGLM3(清华智谱) 、 BERT(需要知识蒸馏) |
| 语音合成(TTS) | 微软Azure TTS |
| 对话管理 | Django实现 |
| 用户管理 | Django实现 |
| 系统管理 | - api监控:Prometheus + Grafana(免费,社区支持) - 用户反馈:Feedback.js + Google Forms(低成本) - 日志存储:Grafana Loki(低存储开销) |
5. 模块开发方案
预期按6个核心模块开发,通过API解耦
模块1:语音输入处理(ASR)
- 技术栈:Kaldi + WebRTC(Web端)/ AudioRecord (Android) + AVAudioEngine (iOS)
- 输入:实时音频流
- 输出:文本/语音(带语言标签,如
{"text":"你好Hello", "lang":"zh-en"}) - 验收标准:中英混合语句分词正确率≥85%
模块2:NLP核心引擎
- 子模块拆分:

- 技术方案:
- 意图识别:微调BERT-wwm模型
- 回复生成:ChatGLM3 + LoRA微调(行业知识注入)
模块3:语音合成(TTS)
- 关键需求:
- 中英文语音支持情感合成(如高兴/平静等)
- 英文支持多发音人选择
- 优化点:流式传输避免完整生成延迟
模块4:对话状态管理
- 数据结构示例:python
class DialogState: def __init__(self): self.history = [] # 存储对话轮次 self.slots = {} # 任务型对话填槽(如{"city":"北京"}) self.context = "" # 当前上下文摘要
模块5:前后端交互
- API设计规范:python
POST /v1/chat Request: {audio: "base64_encoded_data", lang: "auto"} Response: {audio: "base64", text: "回复内容"} - Web端关键技术:
- 使用MediaRecorder API实现浏览器录音
- WebSocket保持长连接
模块6:运维监控
- 必备组件:
- Prometheus监控API延迟
- ELK日志分析系统(记录NLP错误案例)
非功能需求
- 性能:并发支持≥1000 QPS(云部署)
- 安全:用户语音数据加密存储(符合GDPR)
- 兼容性:Android/iOS/Web三端支持(可选)
开发里程碑规划
| 阶段 | 时间 | 交付物 | 跨模块依赖 |
|---|---|---|---|
| 原型期 | 2周 | 可演示的ASR→NLP→TTS流水线 | 模块1/2/3基础对接 |
| Alpha | 4周 | 完整前后端闭环+基础对话管理 | 模块4状态机与模块5联调 |
| Beta | 3周 | 性能优化+多端适配 | 模块6监控系统接入 |
| 发布 | 1周 | 压力测试报告+用户文档 | - |
风险与约束
- 中文方言识别准确率低
- 自研NLP模型消耗研发成本巨大