Retire ZenMux subscription and keep BYOK as terminal fallback
This commit is contained in:
@@ -9,13 +9,13 @@ from render_config import build_hk_config
|
||||
class RoutingTests(unittest.TestCase):
|
||||
def test_official_api_names_do_not_replace_hk_routes(self):
|
||||
catalog = yaml.safe_load(Path(__file__).with_name('models.yaml').read_text())
|
||||
env = {'ZENMUX_SUBSCRIPTION_API_KEY': 'synthetic', 'OPENAI_API_KEY': 'synthetic'}
|
||||
env = {'ZENMUX_SUBSCRIPTION_API_KEY': 'synthetic', 'ZENMUX_PAYG_API_KEY': 'synthetic', 'OPENAI_API_KEY': 'synthetic'}
|
||||
config = build_hk_config(catalog, env)
|
||||
routes = {r['model_name']: r['litellm_params'] for r in config['model_list']}
|
||||
self.assertEqual(routes['openai/gpt-transcribe']['api_base'], 'https://api.openai.com/v1')
|
||||
self.assertEqual(routes['zenmux/gpt-transcribe']['api_base'], 'https://zenmux.ai/api/v1')
|
||||
self.assertEqual(routes['zenmux/gpt-transcribe']['api_base'], 'https://api.openai.com/v1')
|
||||
self.assertEqual(routes['asr-gpt'], routes['openai/gpt-transcribe'])
|
||||
self.assertIn({'asr-gpt': ['zenmux/gpt-transcribe']}, config['router_settings']['fallbacks'])
|
||||
self.assertIn({'asr-gpt': ['zenmux-payg/gpt-transcribe']}, config['router_settings']['fallbacks'])
|
||||
self.assertEqual(routes['openai/gpt-sol-latest']['model'], 'openai/gpt-6.1-sol')
|
||||
self.assertNotIn('codex/gpt-sol-latest', routes)
|
||||
self.assertNotIn('synthetic', yaml.safe_dump(config))
|
||||
@@ -25,14 +25,14 @@ class RoutingTests(unittest.TestCase):
|
||||
config = build_hk_config(catalog, {'OPENAI_API_KEY': 'synthetic'})
|
||||
routes = {r['model_name']: r['litellm_params'] for r in config['model_list']}
|
||||
self.assertEqual(routes['asr-gpt']['model'], 'openai/gpt-transcribe')
|
||||
self.assertNotIn('zenmux/gpt-transcribe', routes)
|
||||
self.assertEqual(routes['zenmux/gpt-transcribe'], routes['asr-gpt'])
|
||||
self.assertNotIn({'asr-gpt': ['zenmux/gpt-transcribe']}, config['router_settings']['fallbacks'])
|
||||
|
||||
def test_bailian_personal_uses_hk_private_vocabulary(self):
|
||||
catalog = yaml.safe_load(Path(__file__).with_name('models.yaml').read_text())
|
||||
routes = build_hk_config(catalog, {'BAILIAN_CN_API_KEY':'synthetic',
|
||||
'BAILIAN_CN_API_BASE':'https://ws-test.cn-beijing.maas.aliyuncs.com/api/v1'})['model_list']
|
||||
self.assertEqual(len(routes),2)
|
||||
self.assertEqual(len(routes),4)
|
||||
self.assertEqual(routes[1]['litellm_params']['bailian_vocabulary_path'],
|
||||
'/credentials/personal-vocabulary.json')
|
||||
|
||||
@@ -56,10 +56,12 @@ class RoutingTests(unittest.TestCase):
|
||||
self.assertEqual(routes['asr-mimo']['model'], 'openai/xiaomi/mimo-v2.5-asr')
|
||||
for alias in ['asr-gpt', 'asr-qwen', 'asr-doubao', 'asr-mimo']:
|
||||
self.assertNotIn('personal_dictation', routes[alias])
|
||||
self.assertEqual(routes[alias]['api_key'], 'os.environ/ZENMUX_SUBSCRIPTION_API_KEY')
|
||||
self.assertEqual(routes[alias]['api_key'], 'os.environ/ZENMUX_PAYG_API_KEY')
|
||||
self.assertEqual(routes['gemini-transcribe']['model'], 'gemini/gemini-3.5-transcribe')
|
||||
self.assertEqual(routes['gemini-3.6-flash']['model'], 'vertex_ai/gemini-3.8-flash')
|
||||
self.assertEqual(len(result['router_settings']['fallbacks']), 12)
|
||||
self.assertTrue(result['router_settings']['fallbacks'])
|
||||
self.assertNotIn('os.environ/ZENMUX_SUBSCRIPTION_API_KEY', yaml.safe_dump(result))
|
||||
self.assertEqual(routes['auto/glm-latest']['api_key'], 'os.environ/OPENROUTER_API_KEY')
|
||||
self.assertEqual(routes['vertex/gemini-transcribe-personal'], routes['gemini-transcribe-personal'])
|
||||
self.assertNotIn('aistudio/gemini-transcribe-personal', routes)
|
||||
self.assertEqual(routes['zenmux/gpt-transcribe'], routes['asr-gpt'])
|
||||
|
||||
Reference in New Issue
Block a user