| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- """
- A/B 实验用户:LLM / TTS 参数(LLM 与 TTS 均可与普通用户隔离)
- """
- from typing import Optional, TypedDict
- from config import settings
- from scenario_config import is_special_ab_experiment_user
- AB_LLM_MODEL = "qwen3.6-flash"
- AB_TTS_MODEL = "cosyvoice-v3-flash"
- AB_TTS_VOICE = "loongemily_v3"
- AB_TTS_SPEECH_RATE = 0.75
- AB_TTS_PITCH_RATE = 1.2
- class TtsParams(TypedDict):
- model: str
- voice: str
- speech_rate: float
- pitch_rate: float
- def resolve_llm_model(user_info: Optional[dict] = None) -> str:
- if is_special_ab_experiment_user(user_info):
- return AB_LLM_MODEL
- return settings.llm_model
- def resolve_tts_params(user_info: Optional[dict]) -> TtsParams:
- if is_special_ab_experiment_user(user_info):
- return {
- "model": AB_TTS_MODEL,
- "voice": AB_TTS_VOICE,
- "speech_rate": AB_TTS_SPEECH_RATE,
- "pitch_rate": AB_TTS_PITCH_RATE,
- }
- return {
- "model": settings.tts_model,
- "voice": settings.tts_voice,
- "speech_rate": settings.tts_speech_rate,
- "pitch_rate": settings.tts_pitch_rate,
- }
|