117 lines
3.0 KiB
Markdown
117 lines
3.0 KiB
Markdown
|
|
# 配置问题分析和修复报告
|
|||
|
|
|
|||
|
|
## 问题发现时间
|
|||
|
|
- 检查时间: 2025年1月24日
|
|||
|
|
- 问题类型: API配置不一致和调用方式错误
|
|||
|
|
|
|||
|
|
## 🔍 发现的主要配置问题
|
|||
|
|
|
|||
|
|
### 1. API密钥不一致问题 ⚠️
|
|||
|
|
**问题描述**: 不同配置文件使用了不同的API密钥
|
|||
|
|
- `application.properties`: `ak_5f13ec469e6047d5b8155c3cc91350e2`
|
|||
|
|
- `application-dev.properties`: `sk-5wOaLydIpNwJXcObtfzSCRWycZgUz90miXfMPOt9KAhLo1T0`
|
|||
|
|
|
|||
|
|
**影响**: 开发环境使用错误的API密钥,导致认证失败
|
|||
|
|
|
|||
|
|
### 2. API端点不一致问题 ⚠️
|
|||
|
|
**问题描述**: RealAIService中使用了错误的API端点
|
|||
|
|
- 任务提交: 使用 `/v1/videos` (错误)
|
|||
|
|
- 查询状态: 使用 `/user/ai/tasks/{taskId}` (正确)
|
|||
|
|
|
|||
|
|
**影响**: 任务提交失败,导致"Provider"相关错误
|
|||
|
|
|
|||
|
|
### 3. API调用方式不匹配 ⚠️
|
|||
|
|
**问题描述**:
|
|||
|
|
- 使用 `field()` 方式提交表单数据 (错误)
|
|||
|
|
- 应该使用 `body()` 方式提交JSON数据 (正确)
|
|||
|
|
|
|||
|
|
**影响**: 请求格式不匹配,API无法正确解析参数
|
|||
|
|
|
|||
|
|
## ✅ 已修复的问题
|
|||
|
|
|
|||
|
|
### 1. 统一API密钥配置
|
|||
|
|
```properties
|
|||
|
|
# application-dev.properties
|
|||
|
|
ai.api.key=ak_5f13ec469e6047d5b8155c3cc91350e2
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 修正API端点
|
|||
|
|
```java
|
|||
|
|
// 文生视频任务提交
|
|||
|
|
String url = aiApiBaseUrl + "/user/ai/tasks/submit";
|
|||
|
|
|
|||
|
|
// 图生视频任务提交
|
|||
|
|
String url = aiApiBaseUrl + "/user/ai/tasks/submit";
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 修正API调用方式
|
|||
|
|
```java
|
|||
|
|
// 使用JSON格式提交
|
|||
|
|
HttpResponse<String> response = Unirest.post(url)
|
|||
|
|
.header("Authorization", "Bearer " + aiApiKey)
|
|||
|
|
.header("Content-Type", "application/json")
|
|||
|
|
.body(String.format("{\"modelName\":\"%s\",\"prompt\":\"%s\",\"aspectRatio\":\"%s\",\"imageToVideo\":false}",
|
|||
|
|
modelName, prompt, aspectRatio))
|
|||
|
|
.asString();
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🔧 修复后的配置
|
|||
|
|
|
|||
|
|
### API配置
|
|||
|
|
- **API端点**: `http://116.62.4.26:8081`
|
|||
|
|
- **API密钥**: `ak_5f13ec469e6047d5b8155c3cc91350e2`
|
|||
|
|
- **任务提交端点**: `/user/ai/tasks/submit`
|
|||
|
|
- **状态查询端点**: `/user/ai/tasks/{taskId}`
|
|||
|
|
- **模型列表端点**: `/user/ai/models`
|
|||
|
|
|
|||
|
|
### 请求格式
|
|||
|
|
- **Content-Type**: `application/json`
|
|||
|
|
- **认证方式**: `Bearer Token`
|
|||
|
|
- **请求体**: JSON格式
|
|||
|
|
|
|||
|
|
## 📊 修复效果
|
|||
|
|
|
|||
|
|
### 修复前
|
|||
|
|
- 任务失败率: 94.4% (17/18)
|
|||
|
|
- 错误信息: "Provider"相关错误
|
|||
|
|
- API调用: 使用错误的端点和格式
|
|||
|
|
|
|||
|
|
### 修复后
|
|||
|
|
- 应用已重启并应用新配置
|
|||
|
|
- API端点已修正
|
|||
|
|
- 请求格式已标准化
|
|||
|
|
|
|||
|
|
## 🧪 测试建议
|
|||
|
|
|
|||
|
|
### 1. 功能测试
|
|||
|
|
- 提交新的文生视频任务
|
|||
|
|
- 提交新的图生视频任务
|
|||
|
|
- 检查任务状态轮询
|
|||
|
|
|
|||
|
|
### 2. 监控测试
|
|||
|
|
- 观察任务失败率是否降低
|
|||
|
|
- 检查API调用日志
|
|||
|
|
- 验证任务状态更新
|
|||
|
|
|
|||
|
|
## 📋 后续建议
|
|||
|
|
|
|||
|
|
### 1. 配置管理
|
|||
|
|
- 统一所有环境的API配置
|
|||
|
|
- 使用环境变量管理敏感信息
|
|||
|
|
- 添加配置验证机制
|
|||
|
|
|
|||
|
|
### 2. 错误处理
|
|||
|
|
- 改进API调用错误处理
|
|||
|
|
- 添加重试机制
|
|||
|
|
- 完善日志记录
|
|||
|
|
|
|||
|
|
### 3. 监控告警
|
|||
|
|
- 设置任务失败率监控
|
|||
|
|
- 添加API调用成功率监控
|
|||
|
|
- 配置异常告警
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
*报告生成时间: 2025-01-24*
|
|||
|
|
*修复状态: 已完成*
|
|||
|
|
*下一步: 功能测试验证*
|