# scale **Repository Path**: mirror-trick/scale ## Basic Information - **Project Name**: scale - **Description**: 本项目是一个基于阿里云通义千问AI模型的智能语音对话系统,旨在为用户提供个性化、情感化的AI语音交互体验。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-22 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 1、📋 项目概述 ### 1.1🎯 项目背景 本项目是一个基于阿里云通义千问AI模型的智能语音对话系统,旨在为用户提供个性化、情感化的AI语音交互体验。 ### 1.2 页面的类型用户: 系统主要服务于心理健康需求用户、学习成长型用户、情感陪伴需求用户和专业咨询需求用户四大群体,通过语音与不同类型的AI角色进行自然对话,解决传统咨询成本高、时间限制、心理障碍等痛点问题。 #### 四大核心用户类型: - 心理健康需求用户 (35%) - 用户画像: 18-35岁都市白领、大学生 - 核心痛点: 专业咨询费用昂贵(300-800元/小时)、时间限制、心理障碍、隐私担忧 - 用户故事: 程序员小张深夜焦虑失眠,通过AI心理咨询师获得专业倾听和建议 - 学习成长型用户 (30%) - 用户画像: 16-28岁学生、职场新人 - 核心痛点: 获取答案难、缺乏导师、学习孤独、方向不明 - 用户故事: 大学生李明学习编程遇到难题,AI学习导师提供24小时在线答疑 - 情感陪伴需求用户 (25%) - 用户画像: 50岁以上中老年人、独居青年 - 核心痛点: 孤独感强、数字鸿沟、表达需求、时间充裕 - 用户故事: 退休阿姨通过AI伙伴获得日常陪伴和温暖交流 - 专业咨询需求用户 (10%) - 用户画像: 25-45岁职场人士、创业者 - 核心痛点: 咨询成本高、响应速度慢、精准度要求高、持续性需求 ### 1.3 实现效果 ![](README_assets/2025-10-12-22-58-21-image.png) ![](README_assets/2025-10-12-22-59-15-image.png) ![](README_assets/2025-10-12-23-00-39-image.png) ![](README_assets/2025-10-12-23-02-01-image.png) ![](README_assets/2025-10-12-23-02-10-image.png) ## 2、功能需求分析 **核心功能(高优先级):** 1. **AI角色搜索与选择**:用户可以搜索心理医生、导师、朋友等角色 2. **语音对话功能**:实时语音交互,支持语音识别和TTS 3. **情感分析**:AI能识别用户情绪状态并给出相应回应 4. **对话历史记录**:保存用户与AI的对话记录 **扩展功能(中优先级):** 未完成 1. **情绪追踪**:记录用户情绪变化趋势 2. **个性化建议**:基于用户情况给出生活建议 3. **冥想引导**:AI角色可以引导用户进行放松练习 4. **紧急情况识别**:识别用户是否有自伤倾向并给出建议 **高级功能(低优先级):** 未完成 1. **多角色切换**:用户可以在不同AI角色间切换 2. **群聊功能**:多个AI角色同时参与对话 3. **个性化定制**:用户可以自定义AI角色的性格特点 ## 3. LLM模型选择 #### 全面对比分析: | 模型 | 优势 | 劣势 | 适用性评分 | | ------------ | --------------- | ----------- | ----- | | 阿里云通义千问 | 中文优化、API稳定、语音集成 | 创新能力一般 | ⭐⭐⭐⭐⭐ | | OpenAI GPT-4 | 能力最强、创新性好 | 中文弱、成本高、访问难 | ⭐⭐⭐ | | 百度文心一言 | 中文能力强、生态完整 | API稳定性一般 | ⭐⭐⭐⭐ | | 腾讯混元 | 腾讯生态支持 | 文档不完善 | ⭐⭐⭐ | #### 最终选择:阿里云通义千问-Plus - 中文专优: 95%+ 中文理解准确率 - 生态完整: ASR、TTS、对话生成一体化 - 性价比高: 0.8秒响应,成本仅为GPT-4的40% - 服务稳定: 企业级SLA,99.9%可用性 ## 4、🏗️ 系统架构 ### 技术栈 ```yaml 后端技术: 框架: Spring Boot 2.7+ 数据库: MySQL 8.0+ 认证: JWT Token 实时通信: WebSocket AI服务: 阿里云通义千问-Plus (ASR/TTS/对话生成) 前端技术: 框架: Vue.js 3+ / React 18+ 类型系统: TypeScript 5+ 构建工具: Vite UI组件: Element Plus / Ant Design 状态管理: Pinia / Zustand 音频处理: MediaRecorder API 部署环境: Java: JDK 17+ 构建工具: Maven 3.8+ 开发环境: IntelliJ IDEA / VS Code ``` ### 系统架构图 ```mermaid graph TB subgraph "前端层" A[Vue.js 应用] B[音频录制组件] C[WebSocket 客户端] end subgraph "后端服务层" D[Spring Boot 应用] E[认证服务] F[语音处理服务] G[对话管理服务] H[WebSocket 服务] end subgraph "AI服务层" I[阿里云通义千问] J[ASR 语音识别] K[TTS 语音合成] L[对话生成] end subgraph "数据层" M[MySQL 数据库] N[文件存储系统] end A --> D B --> F C --> H F --> J F --> K G --> L D --> M F --> N ``` ### 核心技术实现 #### 1. 流式语音处理架构 ```java // 语音处理流程 录音上传 → 任务创建 → 异步处理队列 → WebSocket进度推送 ↓ ↓ ↓ ↓ 文件存储 返回任务ID 流式ASR处理 实时状态更新 ↓ AI对话生成 ↓ 流式TTS处理 ↓ 语音文件存储 ``` #### 2. WebSocket实时通信 - **按用户管理**: 每个用户独立的WebSocket连接通道 - **消息类型**: 进度更新、任务完成、任务失败、连接状态 - **自动重连**: 前端实现断线重连机制 - **并发支持**: 支持多用户同时在线使用 ## 5、🏆 项目成果与收获 ### 技术成果 - ✅ 完整的端到端AI语音对话系统 - ✅ 高性能的流式语音处理架构 - ✅ 可扩展的微服务架构设计 - ✅ 现代化的前端用户界面 - ✅ 完善的API接口和文档体系 ### 学习收获 1. **AI技术应用**: 深入理解语音识别、自然语言处理、语音合成等AI技术 2. **系统架构设计**: 掌握微服务架构、异步处理、实时通信等系统设计方法 3. **前后端协作**: 熟练掌握前后端分离开发模式和接口设计规范 4. **云服务集成**: 学会集成第三方AI服务,构建混合云应用架构 5. **项目管理**: 体验完整的软件开发生命周期管理 ### 技能提升 - **编程能力**: Java后端开发、JavaScript/TypeScript前端开发 - **架构能力**: 系统设计、数据库设计、API设计 - **工程能力**: 代码规范、测试驱动开发、CI/CD流程 - **问题解决**: 性能优化、问题诊断、技术调研 启动应用后,访问以下地址查看API文档: - Knife4j文档: http://localhost:8080/doc.html - Swagger UI: http://localhost:8080/swagger-ui.html ## 6、待办 1、 发送验证码需要api ScaleServer/scale-parent/service/src/main/java/com/scale/service/user/service/impl/UserAuthServiceImpl.java 2、~~ai集成:阿里云的tts和语音识别服务 ScaleServer/scale-parent/service/src/main/java/com/scale/service/voice/service/impl/VoiceProcessServiceImpl.java~~ 3、Access-Control-Allow-Origin 后期上线需要修改 ScaleServer/scale-parent/service/src/main/java/com/scale/config/WebConfig.java ScaleServer/scale-parent/service/src/main/resources/application.yml