删除冗余代码

This commit is contained in:
zzh
2025-07-16 00:13:30 +09:00
parent 470fc37f26
commit abae90b16d
3 changed files with 26 additions and 41 deletions
+6 -7
View File
@@ -53,11 +53,10 @@ python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
```python
# app/router/gemini_routes.py 中的智能检测逻辑
if "tts" in model_name.lower():
# 检查是否包含原生TTS配置
generation_config = raw_data.get("generationConfig", {})
response_modalities = generation_config.get("responseModalities", [])
speech_config = generation_config.get("speechConfig", {})
if "tts" in model_name.lower() and request.generationConfig:
# 直接从解析后的request对象获取TTS配置
response_modalities = request.generationConfig.responseModalities or []
speech_config = request.generationConfig.speechConfig or {}
# 如果包含AUDIO模态和语音配置,则认为是原生TTS请求
if "AUDIO" in response_modalities and speech_config:
@@ -210,14 +209,14 @@ TTSGenerationConfig
1. **请求接收**:系统接收到API请求
2. **智能检测**
- 检查模型名称是否包含 "tts"
- 如果是TTS模型,解析请求体检查是否包含 `responseModalities: ["AUDIO"]``speechConfig`
- 如果是TTS模型,`request.generationConfig` 检查是否包含 `responseModalities: ["AUDIO"]``speechConfig`
3. **服务选择**
- **原生TTS请求**:使用 `TTSGeminiChatService` 增强服务
- **普通请求**:使用原有 `GeminiChatService`
4. **请求处理**
- **原生TTS**:使用 `_handle_tts_request()` 特殊处理
- **其他请求**:使用标准 `generate_content()` 方法
5. **字段处理**:从原始HTTP请求体提取TTS字段(`responseModalities`, `speechConfig`
5. **字段处理**:从 `request.generationConfig` 直接获取TTS字段(`responseModalities`, `speechConfig`
6. **API调用**:构建优化的payload并调用Gemini API
7. **自动回退**:如果原生TTS处理失败,自动回退到标准服务
8. **响应处理**
+9 -12
View File
@@ -85,21 +85,18 @@ class TTSGeminiChatService(GeminiChatService):
if payload["generationConfig"] is None:
payload["generationConfig"] = {}
# 从原始请求中提取TTS相关字段
if hasattr(request, '_raw_tts_data'):
raw_data = getattr(request, '_raw_tts_data')
raw_generation_config = raw_data.get("generationConfig", {})
# 从request.generationConfig直接获取TTS相关字段
if request.generationConfig:
# 添加TTS特定字段
if "responseModalities" in raw_generation_config:
payload["generationConfig"]["responseModalities"] = raw_generation_config["responseModalities"]
logger.info(f"Added responseModalities: {raw_generation_config['responseModalities']}")
if request.generationConfig.responseModalities:
payload["generationConfig"]["responseModalities"] = request.generationConfig.responseModalities
logger.info(f"Added responseModalities: {request.generationConfig.responseModalities}")
if "speechConfig" in raw_generation_config:
payload["generationConfig"]["speechConfig"] = raw_generation_config["speechConfig"]
logger.info(f"Added speechConfig: {raw_generation_config['speechConfig']}")
if request.generationConfig.speechConfig:
payload["generationConfig"]["speechConfig"] = request.generationConfig.speechConfig
logger.info(f"Added speechConfig: {request.generationConfig.speechConfig}")
else:
logger.warning("No raw TTS data found in request, TTS fields may be missing")
logger.warning("No generationConfig found in request, TTS fields may be missing")
logger.info(f"TTS payload before API call: {payload}")