2.1 KiB
2.1 KiB
Implementation Tasks
1. 配置类实现
- 1.1 创建
SiliconFlowProviderConfig配置类- 继承
VoiceProviderProperties.ProviderConfig - 添加硅基流动特有配置字段
- 添加默认值和配置前缀
- 继承
2. API 客户端实现
- 2.1 创建
SiliconFlowApiHTTP 客户端- 实现
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 编写单元测试
- 测试
SiliconFlowApiHTTP 调用 - 测试
SiliconFlowProvider适配逻辑 - Mock 硅基流动 API 响应
- 测试
- 6.2 集成测试
- 测试语音克隆完整流程
- 测试 TTS 合成完整流程
- 测试供应商切换功能
- 6.3 验证前端兼容性
- 验证
voiceConfig.js支持siliconflow类型 - 验证 API 请求支持
providerType参数
- 验证
7. 文档与清理
- 7.1 更新相关文档
- 添加硅基流动配置说明
- 添加硅基流动使用示例
- 7.2 代码审查与清理
- 检查代码规范
- 移除调试代码
- 确保日志级别正确
总计: 20 项任务
预计工作量: 2-3 天
依赖: 多供应商架构重构已完成