From ae9769c81e4164e8d2c43ff33ce5d50bbad545be Mon Sep 17 00:00:00 2001 From: dadachann <185672915+dadachann@users.noreply.github.com> Date: Thu, 30 Jul 2026 13:25:28 +0000 Subject: [PATCH] fix(tenancy): scope rerank model sync --- src/langbot/pkg/provider/modelmgr/modelmgr.py | 7 +++++-- tests/unit_tests/api/service/test_provider_service.py | 8 ++++---- tests/unit_tests/provider/test_model_manager.py | 5 +++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/langbot/pkg/provider/modelmgr/modelmgr.py b/src/langbot/pkg/provider/modelmgr/modelmgr.py index 73eb65535..9d5dc803f 100644 --- a/src/langbot/pkg/provider/modelmgr/modelmgr.py +++ b/src/langbot/pkg/provider/modelmgr/modelmgr.py @@ -529,7 +529,7 @@ class ModelManager: model['uuid']: model for model in await self.ap.embedding_models_service.get_embedding_models(context, include_secret=True) } - existing_rerank_models = {m['uuid']: m for m in await self.ap.rerank_models_service.get_rerank_models()} + existing_rerank_models = {m['uuid']: m for m in await self.ap.rerank_models_service.get_rerank_models(context)} created = 0 updated = 0 @@ -602,6 +602,7 @@ class ModelManager: existing = existing_rerank_models.get(space_model.uuid) if existing is None: await self.ap.rerank_models_service.create_rerank_model( + context, { 'uuid': space_model.uuid, 'name': space_model.model_id, @@ -622,7 +623,9 @@ class ModelManager: existing.get('name') != desired['name'] or existing.get('prefered_ranking') != desired['prefered_ranking'] ): - await self.ap.rerank_models_service.update_rerank_model(space_model.uuid, dict(desired)) + await self.ap.rerank_models_service.update_rerank_model( + context, space_model.uuid, dict(desired) + ) updated += 1 if created or updated: diff --git a/tests/unit_tests/api/service/test_provider_service.py b/tests/unit_tests/api/service/test_provider_service.py index 5667ec9fe..15b995895 100644 --- a/tests/unit_tests/api/service/test_provider_service.py +++ b/tests/unit_tests/api/service/test_provider_service.py @@ -862,11 +862,11 @@ class TestModelProviderServiceScanProviderModels: ap.model_mgr.load_provider = AsyncMock(return_value=runtime_provider) ap.llm_model_service.get_llm_models_by_provider = AsyncMock(return_value=[]) ap.embedding_models_service.get_embedding_models_by_provider = AsyncMock(return_value=[]) - ap.rerank_models_service.get_rerank_models_by_provider = AsyncMock( - return_value=[{'name': 'Qwen3-Reranker-8B'}] - ) + ap.rerank_models_service.get_rerank_models_by_provider = AsyncMock(return_value=[{'name': 'Qwen3-Reranker-8B'}]) - result = await ModelProviderService(ap).scan_provider_models('rerank-scan-uuid', model_type='rerank') + result = await ModelProviderService(ap).scan_provider_models( + WORKSPACE_UUID, 'rerank-scan-uuid', model_type='rerank' + ) assert result['models'][0]['type'] == 'rerank' assert result['models'][0]['already_added'] is True diff --git a/tests/unit_tests/provider/test_model_manager.py b/tests/unit_tests/provider/test_model_manager.py index 6f288adee..1185e55d5 100644 --- a/tests/unit_tests/provider/test_model_manager.py +++ b/tests/unit_tests/provider/test_model_manager.py @@ -114,9 +114,10 @@ async def test_sync_new_models_from_space_creates_rerank_models(mock_app_for_mod app.rerank_models_service.get_rerank_models = AsyncMock(return_value=[]) model_mgr = ModelManager(app) - await model_mgr.sync_new_models_from_space() + await model_mgr.sync_new_models_from_space(TEST_EXECUTION_CONTEXT) app.rerank_models_service.create_rerank_model.assert_awaited_once_with( + TEST_EXECUTION_CONTEXT, { 'uuid': 'rerank-model-uuid', 'name': 'Qwen3-Reranker-8B', @@ -1109,4 +1110,4 @@ def test_provider_not_found_error_str(): error = provider_errors.ProviderNotFoundError('test-provider') assert str(error) == 'Provider test-provider not found' - assert error.provider_name == 'test-provider' \ No newline at end of file + assert error.provider_name == 'test-provider'