fix(tenancy): scope rerank model sync

This commit is contained in:
dadachann
2026-07-30 13:25:28 +00:00
parent 32f2a1bf88
commit ae9769c81e
3 changed files with 12 additions and 8 deletions
@@ -529,7 +529,7 @@ class ModelManager:
model['uuid']: model model['uuid']: model
for model in await self.ap.embedding_models_service.get_embedding_models(context, include_secret=True) 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 created = 0
updated = 0 updated = 0
@@ -602,6 +602,7 @@ class ModelManager:
existing = existing_rerank_models.get(space_model.uuid) existing = existing_rerank_models.get(space_model.uuid)
if existing is None: if existing is None:
await self.ap.rerank_models_service.create_rerank_model( await self.ap.rerank_models_service.create_rerank_model(
context,
{ {
'uuid': space_model.uuid, 'uuid': space_model.uuid,
'name': space_model.model_id, 'name': space_model.model_id,
@@ -622,7 +623,9 @@ class ModelManager:
existing.get('name') != desired['name'] existing.get('name') != desired['name']
or existing.get('prefered_ranking') != desired['prefered_ranking'] 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 updated += 1
if created or updated: if created or updated:
@@ -862,11 +862,11 @@ class TestModelProviderServiceScanProviderModels:
ap.model_mgr.load_provider = AsyncMock(return_value=runtime_provider) ap.model_mgr.load_provider = AsyncMock(return_value=runtime_provider)
ap.llm_model_service.get_llm_models_by_provider = AsyncMock(return_value=[]) 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.embedding_models_service.get_embedding_models_by_provider = AsyncMock(return_value=[])
ap.rerank_models_service.get_rerank_models_by_provider = AsyncMock( ap.rerank_models_service.get_rerank_models_by_provider = AsyncMock(return_value=[{'name': 'Qwen3-Reranker-8B'}])
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]['type'] == 'rerank'
assert result['models'][0]['already_added'] is True assert result['models'][0]['already_added'] is True
@@ -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=[]) app.rerank_models_service.get_rerank_models = AsyncMock(return_value=[])
model_mgr = ModelManager(app) 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( app.rerank_models_service.create_rerank_model.assert_awaited_once_with(
TEST_EXECUTION_CONTEXT,
{ {
'uuid': 'rerank-model-uuid', 'uuid': 'rerank-model-uuid',
'name': 'Qwen3-Reranker-8B', 'name': 'Qwen3-Reranker-8B',