[Wake/VAD/STT 与 Live runtime]:完成真实重复语音运行,包含云端ASR/TTS开关、run-live和临时上下文测试
This commit is contained in:
@@ -59,25 +59,46 @@ class ModelsConfigTests(unittest.TestCase):
|
||||
handle.write(
|
||||
"\n".join(
|
||||
[
|
||||
"OWNER_LLM_BASE_URL=https://newapi.mkbk.shop/",
|
||||
"OWNER_LLM_BASE_URL=https://token-plan-cn.xiaomimimo.com/v1/",
|
||||
"OWNER_LLM_API_KEY=secret-value",
|
||||
"OWNER_LLM_MODEL=test-model",
|
||||
]
|
||||
)
|
||||
)
|
||||
config = AppConfig.from_dotenv(path)
|
||||
self.assertEqual(config.llm_base_url, "https://newapi.mkbk.shop")
|
||||
self.assertEqual(config.llm_base_url, "https://token-plan-cn.xiaomimimo.com/v1")
|
||||
self.assertEqual(config.llm_api_key, "secret-value")
|
||||
self.assertEqual(config.llm_model, "test-model")
|
||||
self.assertEqual(config.speech_provider, "cloud")
|
||||
self.assertEqual(config.asr_model, "mimo-v2.5-asr")
|
||||
self.assertEqual(config.tts_model, "mimo-v2.5-tts")
|
||||
self.assertEqual(config.tts_voice, "alloy")
|
||||
self.assertEqual(str(config.speech_models_dir), "models")
|
||||
self.assertTrue(config.llm_stream)
|
||||
self.assertEqual(config.validate_basic(), [])
|
||||
|
||||
def test_speech_provider_must_be_cloud_or_local(self) -> None:
|
||||
config = AppConfig(speech_provider="invalid")
|
||||
errors = config.validate_basic()
|
||||
self.assertTrue(any("OWNER_SPEECH_PROVIDER" in error.message for error in errors))
|
||||
|
||||
def test_missing_dotenv_uses_non_secret_defaults(self) -> None:
|
||||
config = AppConfig.from_dotenv("/tmp/owner-voice-pet-missing.env")
|
||||
self.assertEqual(config.llm_base_url, "https://newapi.mkbk.shop")
|
||||
self.assertEqual(config.llm_base_url, "https://token-plan-cn.xiaomimimo.com/v1")
|
||||
self.assertIsNone(config.llm_api_key)
|
||||
|
||||
def test_api_url_accepts_base_with_or_without_v1(self) -> None:
|
||||
with_v1 = AppConfig(llm_base_url="https://token-plan-cn.xiaomimimo.com/v1")
|
||||
without_v1 = AppConfig(llm_base_url="https://newapi.mkbk.shop")
|
||||
self.assertEqual(
|
||||
with_v1.api_url("/v1/chat/completions"),
|
||||
"https://token-plan-cn.xiaomimimo.com/v1/chat/completions",
|
||||
)
|
||||
self.assertEqual(
|
||||
without_v1.api_url("/v1/chat/completions"),
|
||||
"https://newapi.mkbk.shop/v1/chat/completions",
|
||||
)
|
||||
|
||||
def test_missing_llm_key_has_structured_error(self) -> None:
|
||||
config = AppConfig(llm_api_key=None)
|
||||
with self.assertRaises(ProviderError) as raised:
|
||||
|
||||
Reference in New Issue
Block a user