feat: support Space rerank models (#2358)

Co-authored-by: chan <dadachann@users.noreply.github.com>
This commit is contained in:
Hyu
2026-07-26 16:37:34 +08:00
committed by GitHub
parent 38e35d328a
commit dd8d1007a1
7 changed files with 171 additions and 5 deletions
@@ -193,6 +193,9 @@ class ModelManager:
existing_embedding_models = {
m['uuid']: m for m in await self.ap.embedding_models_service.get_embedding_models()
}
existing_rerank_models = {
m['uuid']: m for m in await self.ap.rerank_models_service.get_rerank_models()
}
created = 0
updated = 0
@@ -258,6 +261,33 @@ class ModelManager:
await self.ap.embedding_models_service.update_embedding_model(space_model.uuid, dict(desired))
updated += 1
elif space_model.category == 'rerank':
existing = existing_rerank_models.get(space_model.uuid)
if existing is None:
await self.ap.rerank_models_service.create_rerank_model(
{
'uuid': space_model.uuid,
'name': space_model.model_id,
'provider_uuid': space_model_provider.uuid,
'extra_args': {},
'prefered_ranking': space_model.featured_order,
},
preserve_uuid=True,
)
created += 1
elif existing.get('provider_uuid') == space_model_provider.uuid:
desired = {
'name': space_model.model_id,
'provider_uuid': space_model_provider.uuid,
'prefered_ranking': space_model.featured_order,
}
if (
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))
updated += 1
if created or updated:
self.ap.logger.info(f'Synced models from LangBot Space: {created} added, {updated} updated.')