liumaolin
commited on
Commit
·
d231de5
1
Parent(s):
fb6d02a
Refactor ASR routes: replace `fastapi_request.state` with `fastapi_request.app.state` for consistent application-level state management.
Browse files
src/VoiceDialogue/api/routes/asr_routes.py
CHANGED
|
@@ -29,7 +29,7 @@ async def get_supported_languages(fastapi_request: Request):
|
|
| 29 |
available_languages = asr_manager.get_available_languages()
|
| 30 |
language_mappings = asr_manager._language_to_asr_mapping
|
| 31 |
asr_engines = list(asr_manager.list_registered_asr().keys())
|
| 32 |
-
current_asr_language = getattr(fastapi_request.state, "current_asr_language", None)
|
| 33 |
|
| 34 |
return SupportedLanguagesResponse(
|
| 35 |
languages=available_languages,
|
|
@@ -63,7 +63,7 @@ async def create_asr_instance(
|
|
| 63 |
)
|
| 64 |
|
| 65 |
# 检查当前语言是否已存在且相同
|
| 66 |
-
current_asr_language = getattr(fastapi_request.state, "current_asr_language", None)
|
| 67 |
if current_asr_language and current_asr_language == request.language:
|
| 68 |
asr_type = asr_manager._get_asr_type_for_language(request.language)
|
| 69 |
return ASRInstanceResponse(
|
|
@@ -126,7 +126,7 @@ async def _create_asr_instance_background(request: ASRInstanceRequest, fastapi_r
|
|
| 126 |
raise RuntimeError("服务管理器未初始化")
|
| 127 |
|
| 128 |
# 检查是否需要重新创建服务
|
| 129 |
-
current_asr_language = getattr(fastapi_request.state, "current_asr_language", None)
|
| 130 |
if current_asr_language and current_asr_language != request.language:
|
| 131 |
logger.info(f"请求语言({request.language})与当前语言({current_asr_language})不同,需要重新创建服务")
|
| 132 |
|
|
@@ -142,7 +142,7 @@ async def _create_asr_instance_background(request: ASRInstanceRequest, fastapi_r
|
|
| 142 |
raise RuntimeError("ASR服务启动失败")
|
| 143 |
|
| 144 |
# 更新请求状态中的当前语言
|
| 145 |
-
fastapi_request.state.current_asr_language = request.language
|
| 146 |
|
| 147 |
# 生成实例ID
|
| 148 |
instance_id = f"{asr_type}_{request.language}"
|
|
|
|
| 29 |
available_languages = asr_manager.get_available_languages()
|
| 30 |
language_mappings = asr_manager._language_to_asr_mapping
|
| 31 |
asr_engines = list(asr_manager.list_registered_asr().keys())
|
| 32 |
+
current_asr_language = getattr(fastapi_request.app.state, "current_asr_language", None)
|
| 33 |
|
| 34 |
return SupportedLanguagesResponse(
|
| 35 |
languages=available_languages,
|
|
|
|
| 63 |
)
|
| 64 |
|
| 65 |
# 检查当前语言是否已存在且相同
|
| 66 |
+
current_asr_language = getattr(fastapi_request.app.state, "current_asr_language", None)
|
| 67 |
if current_asr_language and current_asr_language == request.language:
|
| 68 |
asr_type = asr_manager._get_asr_type_for_language(request.language)
|
| 69 |
return ASRInstanceResponse(
|
|
|
|
| 126 |
raise RuntimeError("服务管理器未初始化")
|
| 127 |
|
| 128 |
# 检查是否需要重新创建服务
|
| 129 |
+
current_asr_language = getattr(fastapi_request.app.state, "current_asr_language", None)
|
| 130 |
if current_asr_language and current_asr_language != request.language:
|
| 131 |
logger.info(f"请求语言({request.language})与当前语言({current_asr_language})不同,需要重新创建服务")
|
| 132 |
|
|
|
|
| 142 |
raise RuntimeError("ASR服务启动失败")
|
| 143 |
|
| 144 |
# 更新请求状态中的当前语言
|
| 145 |
+
fastapi_request.app.state.current_asr_language = request.language
|
| 146 |
|
| 147 |
# 生成实例ID
|
| 148 |
instance_id = f"{asr_type}_{request.language}"
|