67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# Implementation Tasks
|
|
|
|
## 1. 配置类实现
|
|
- [ ] 1.1 创建 `SiliconFlowProviderConfig` 配置类
|
|
- 继承 `VoiceProviderProperties.ProviderConfig`
|
|
- 添加硅基流动特有配置字段
|
|
- 添加默认值和配置前缀
|
|
|
|
## 2. API 客户端实现
|
|
- [ ] 2.1 创建 `SiliconFlowApi` HTTP 客户端
|
|
- 实现 `uploadVoice()` 方法 - 上传参考音频
|
|
- 实现 `synthesize()` 方法 - 文本转语音
|
|
- 实现 `transcribe()` 方法 - 语音转文本(可选)
|
|
- 配置 RestTemplate/ WebClient
|
|
- 添加请求/响应日志
|
|
|
|
## 3. DTO 类实现
|
|
- [ ] 3.1 创建 `SiliconFlowVoiceUploadRequest` - 上传参考音频请求
|
|
- [ ] 3.2 创建 `SiliconFlowVoiceUploadResponse` - 上传参考音频响应
|
|
- [ ] 3.3 创建 `SiliconFlowTtsRequest` - 文本转语音请求
|
|
- [ ] 3.4 创建 `SiliconFlowTtsResponse` - 文本转语音响应(二进制处理)
|
|
|
|
## 4. Provider 实现类
|
|
- [ ] 4.1 创建 `SiliconFlowProvider` 实现类
|
|
- 实现 `VoiceCloneProvider` 接口
|
|
- 实现 `cloneVoice()` 方法
|
|
- 实现 `synthesize()` 方法
|
|
- 实现 `supports()` 方法
|
|
- 实现 `getProviderType()` 方法
|
|
- 添加 `@Component` 注解注册为 Spring Bean
|
|
|
|
## 5. 配置文件更新
|
|
- [ ] 5.1 更新 `application.yaml`
|
|
- 添加 `yudao.voice.providers.siliconflow` 配置节
|
|
- 配置 API Key、base URL、模型等参数
|
|
- 默认设置为 `enabled: false`
|
|
|
|
## 6. 测试与验证
|
|
- [ ] 6.1 编写单元测试
|
|
- 测试 `SiliconFlowApi` HTTP 调用
|
|
- 测试 `SiliconFlowProvider` 适配逻辑
|
|
- Mock 硅基流动 API 响应
|
|
- [ ] 6.2 集成测试
|
|
- 测试语音克隆完整流程
|
|
- 测试 TTS 合成完整流程
|
|
- 测试供应商切换功能
|
|
- [ ] 6.3 验证前端兼容性
|
|
- 验证 `voiceConfig.js` 支持 `siliconflow` 类型
|
|
- 验证 API 请求支持 `providerType` 参数
|
|
|
|
## 7. 文档与清理
|
|
- [ ] 7.1 更新相关文档
|
|
- 添加硅基流动配置说明
|
|
- 添加硅基流动使用示例
|
|
- [ ] 7.2 代码审查与清理
|
|
- 检查代码规范
|
|
- 移除调试代码
|
|
- 确保日志级别正确
|
|
|
|
---
|
|
|
|
**总计**: 20 项任务
|
|
|
|
**预计工作量**: 2-3 天
|
|
|
|
**依赖**: 多供应商架构重构已完成
|