mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-05-11 18:10:15 +08:00
feat(provider): add Baidu Qianfan and JDCloud support with base URL presets
This commit is contained in:
@@ -210,6 +210,42 @@ class LlmProviderRegistryTest(unittest.TestCase):
|
||||
self.assertEqual([item["id"] for item in models], ["frog-1"])
|
||||
self.assertEqual(models[0]["source"], "models.dev")
|
||||
|
||||
def test_builtin_provider_includes_baidu_qianfan_base_url_presets(self):
|
||||
manager = LLMProviderManager()
|
||||
|
||||
provider = manager.get_provider("baidu-qianfan-coding-plan")
|
||||
|
||||
self.assertEqual(provider.name, "百度千帆")
|
||||
self.assertEqual(provider.runtime, "openai_compatible")
|
||||
self.assertEqual(provider.default_base_url, "https://qianfan.baidubce.com/v2")
|
||||
self.assertEqual(
|
||||
tuple((preset.label, preset.value) for preset in provider.base_url_presets),
|
||||
(
|
||||
("通用 API", "https://qianfan.baidubce.com/v2"),
|
||||
("Coding Plan", "https://qianfan.baidubce.com/v2/coding"),
|
||||
),
|
||||
)
|
||||
self.assertIsNone(provider.models_dev_provider_id)
|
||||
self.assertFalse(provider.supports_model_refresh)
|
||||
|
||||
def test_builtin_provider_includes_jdcloud_base_url_presets(self):
|
||||
manager = LLMProviderManager()
|
||||
|
||||
provider = manager.get_provider("jdcloud")
|
||||
|
||||
self.assertEqual(provider.name, "京东云")
|
||||
self.assertEqual(provider.runtime, "openai_compatible")
|
||||
self.assertEqual(provider.default_base_url, "https://modelservice.jdcloud.com/v1")
|
||||
self.assertEqual(
|
||||
tuple((preset.label, preset.value) for preset in provider.base_url_presets),
|
||||
(
|
||||
("通用 API", "https://modelservice.jdcloud.com/v1"),
|
||||
("Coding Plan", "https://modelservice.jdcloud.com/coding/openai/v1"),
|
||||
),
|
||||
)
|
||||
self.assertIsNone(provider.models_dev_provider_id)
|
||||
self.assertFalse(provider.supports_model_refresh)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
@@ -184,6 +184,27 @@ class LocalSetupLlmProviderPromptTests(unittest.TestCase):
|
||||
|
||||
self.assertEqual(provider, "my-provider_01")
|
||||
|
||||
def test_fallback_provider_choices_include_baidu_and_jdcloud(self):
|
||||
module = load_local_setup_module()
|
||||
|
||||
self.assertEqual(
|
||||
module.LLM_PROVIDER_FALLBACK_CHOICES["baidu-qianfan-coding-plan"],
|
||||
"百度千帆",
|
||||
)
|
||||
self.assertEqual(module.LLM_PROVIDER_FALLBACK_CHOICES["jdcloud"], "京东云")
|
||||
|
||||
def test_local_setup_defaults_include_baidu_and_jdcloud_base_urls(self):
|
||||
module = load_local_setup_module()
|
||||
|
||||
self.assertEqual(
|
||||
module.LLM_PROVIDER_DEFAULTS["baidu-qianfan-coding-plan"]["base_url"],
|
||||
"https://qianfan.baidubce.com/v2",
|
||||
)
|
||||
self.assertEqual(
|
||||
module.LLM_PROVIDER_DEFAULTS["jdcloud"]["base_url"],
|
||||
"https://modelservice.jdcloud.com/v1",
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user