Skip to content

Latest commit

 

History

History
208 lines (167 loc) · 7.16 KB

File metadata and controls

208 lines (167 loc) · 7.16 KB

🐒 WukongTTS 项目简历

📋 项目概述

项目名称: WukongTTS - 经典文学IP角色AI交互系统
项目类型: 大模型微调 + 语音合成 + 角色扮演系统
开发周期: 2024年9月
技术栈: Python, PyTorch, XTuner, Qwen2.5, F5-TTS, LMDeploy, TurboMind
项目规模: 大型AI应用项目 (~3000行代码 + 3000+条训练数据)

🎯 项目目标

针对经典文学IP角色AI交互市场需求,构建端到端语音交互系统:

  • 基于《西游记》孙悟空3000+条对话数据构建角色化AI
  • 实现文本对话模型到语音合成能力的扩展
  • 满足沉浸式角色扮演体验的个性化需求
  • 完成从数据处理到系统部署的完整技术链路

🏗️ 核心技术架构

数据处理层

  • 数据来源: 《西游记》原著和影视作品
  • 数据规模: 3000+条孙悟空角色对话
  • 处理流程: 数据抽取→清洗→标注→格式转换
  • 数据质量: instruction-following格式高质量训练数据

语言模型层

  • 基础模型: Qwen2.5-7B-Instruct
  • 微调框架: XTuner + LoRA (Low-Rank Adaptation)
  • 部署优化: LMDeploy + TurboMind + W4量化
  • 性能提升: 推理时间从3.2秒优化至1.8秒(43.75%提升)

语音合成层

  • TTS引擎: F5-TTS (Flow-based TTS)
  • 声音克隆: 零样本语音合成
  • 音频处理: 16kHz/22kHz采样率支持
  • 实时合成: 流式音频生成

应用层

  • Web界面: Gradio多标签页交互,支持10+并发用户
  • CLI工具: 命令行接口支持,批处理自动化
  • API封装: 模块化Python API,完整技术链路
  • 系统部署: 本地环境稳定运行,完整测试验证

💻 技术实现细节

1. 数据构建与预处理

# 完整数据处理pipeline西游记原著数据抽取脚本3000+条对话清洗标注instruction-following格式

关键技术点:

  • 开发专用数据抽取脚本从小说文本中提取孙悟空对话
  • 实现数据清洗、标注和格式转换的完整pipeline
  • 构建instruction-following格式的高质量训练数据
  • 数据质量验证和一致性检查

2. 大模型微调与优化

# XTuner + LMDeploy完整流程
Qwen2.5-7BXTuner微调LoRA权重LMDeploy转换TurboMind + W4量化

关键技术点:

  • 采用XTuner框架进行高效的LoRA微调训练
  • 使用LMDeploy将微调模型转换为TurboMind格式
  • 实现W4量化优化,推理性能提升43.75%
  • 基于LoRA微调的Qwen2.5-7B模型在角色对话测试中表现稳定

3. 语音合成系统集成

# F5-TTS零样本语音合成
参考音频 + 参考文本 + 生成文本F5-TTS孙悟空声音克隆

关键技术点:

  • 集成F5-TTS构建零样本语音合成系统
  • 实现孙悟空声音克隆功能
  • 设计音频处理流程,支持多种格式和采样率
  • 构建完整的文本到语音转换pipeline

4. 系统部署与工程化

  • Web界面: Gradio多标签页交互,支持10+并发用户测试
  • CLI工具: 命令行接口,批处理和自动化支持
  • 系统稳定性: 本地环境稳定运行,完整测试验证
  • 技术链路: 完成从文本生成到语音合成的完整验证

📊 项目成果

功能实现

  • 智能对话: 基于1600+条训练数据的角色化对话
  • 语音合成: 高质量孙悟空语音生成
  • 多模态交互: 文本+语音完整体验
  • Web界面: 用户友好的交互界面
  • CLI工具: 开发者友好的命令行接口

技术指标

  • 模型大小: 7B参数基础模型 + LoRA权重
  • 推理速度: GPU模式下 ~2-5秒/回合
  • 音频质量: 16kHz高质量语音输出
  • 内存占用: 8GB GPU显存 / 16GB系统内存
  • 支持平台: Linux, macOS, Windows

代码质量

  • 模块化设计: 清晰的代码架构分离
  • 错误处理: 完善的异常处理机制
  • 配置管理: 灵活的参数配置系统
  • 文档完整: 详细的使用说明和API文档

🛠️ 核心技术能力展示

1. 深度学习模型微调

# LoRA微调配置
config = LoraConfig(
    task_type=TaskType.CAUSAL_LM,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj", 
                   "gate_proj", "up_proj", "down_proj"],
    r=16, lora_alpha=32, lora_dropout=0.1
)

2. 语音合成集成

# F5-TTS语音合成
wav, sr, spec = f5tts.infer(
    ref_file=ref_audio_path,
    ref_text=ref_text,
    gen_text=generated_text
)

3. Web应用开发

# Gradio多功能界面
with gr.Blocks() as demo:
    with gr.Tab("💬 文本对话"):
        # 对话界面实现
    with gr.Tab("🔊 语音合成"):
        # 语音合成界面
    with gr.Tab("🎙️ 语音对话"):
        # 完整语音对话流程

🎯 项目亮点

技术创新

  1. 多模态AI集成: LLM + TTS端到端整合
  2. 角色化定制: 基于文学作品的角色AI构建
  3. 实时语音交互: 流畅的对话+语音生成体验
  4. 模块化架构: 易于扩展和维护的代码结构

工程实践

  1. 完整开发流程: 数据处理→模型训练→应用部署
  2. 用户体验设计: 多种交互方式满足不同需求
  3. 部署友好: 一键安装脚本和详细文档
  4. 错误处理: 健壮的异常处理和用户提示

可扩展性

  1. 模型可替换: 支持不同规模的基础模型
  2. 声音可定制: 支持不同角色的语音合成
  3. 界面可扩展: 模块化的Web界面设计
  4. 配置可调: 丰富的参数配置选项

📈 项目价值

技术价值

  • 展示了大语言模型微调的完整流程
  • 实现了先进TTS技术的工程化应用
  • 提供了多模态AI应用的最佳实践
  • 构建了可复用的AI角色化框架

应用价值

  • 可用于教育娱乐场景的AI助手
  • 为文化IP数字化提供技术方案
  • 展示了AI技术在传统文化传承中的应用
  • 提供了完整的开源解决方案

商业价值

  • 可扩展为商业化的角色AI产品
  • 适用于游戏、教育、娱乐等多个行业
  • 展示了AI技术的产品化能力
  • 具备技术转化的商业潜力

🔧 技术栈总结

核心技术:

  • 🤖 AI/ML: PyTorch, Transformers, PEFT, Qwen2.5
  • 🎵 语音技术: F5-TTS, soundfile, torchaudio
  • 🌐 Web开发: Gradio, Python Web框架
  • ⚙️ 工程化: Docker支持, 配置管理, 自动化部署

开发工具:

  • 📝 代码管理: Git, GitHub
  • 🧪 测试调试: pytest, 自定义测试脚本
  • 📚 文档: Markdown, 项目文档
  • 🔧 部署: Shell脚本, 环境管理

🎉 项目总结

WukongTTS项目成功展示了现代AI技术在角色化应用中的完整实现,从数据处理、模型训练到应用部署形成了完整的技术闭环。项目不仅实现了预期的技术目标,还在用户体验、工程质量、可扩展性等方面达到了较高水准。

这个项目充分体现了在AI应用开发中的全栈能力,包括深度学习模型微调、语音技术集成、Web应用开发、系统工程化等多个技术领域的综合运用。


"俺老孙的七十二变,样样精通!这个项目就是最好的证明!" 🐒✨