mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-08-10 21:10:59 +00:00
feat: enhance LLM model creation with optional default pipeline setting
- Updated create_llm_model method to include auto_set_to_default_pipeline parameter. - Adjusted ModelManager to set auto_set_to_default_pipeline to False when creating models. - Improved logic for setting the default pipeline model based on the new parameter.
This commit is contained in:
@@ -64,7 +64,9 @@ class LLMModelsService:
|
|||||||
models = result.all()
|
models = result.all()
|
||||||
return [self.ap.persistence_mgr.serialize_model(persistence_model.LLMModel, m) for m in models]
|
return [self.ap.persistence_mgr.serialize_model(persistence_model.LLMModel, m) for m in models]
|
||||||
|
|
||||||
async def create_llm_model(self, model_data: dict, preserve_uuid: bool = False) -> str:
|
async def create_llm_model(
|
||||||
|
self, model_data: dict, preserve_uuid: bool = False, auto_set_to_default_pipeline: bool = True
|
||||||
|
) -> str:
|
||||||
"""Create a new LLM model"""
|
"""Create a new LLM model"""
|
||||||
if not preserve_uuid:
|
if not preserve_uuid:
|
||||||
model_data['uuid'] = str(uuid.uuid4())
|
model_data['uuid'] = str(uuid.uuid4())
|
||||||
@@ -95,18 +97,19 @@ class LLMModelsService:
|
|||||||
)
|
)
|
||||||
self.ap.model_mgr.llm_models.append(runtime_llm_model)
|
self.ap.model_mgr.llm_models.append(runtime_llm_model)
|
||||||
|
|
||||||
# set the default pipeline model to this model
|
if auto_set_to_default_pipeline:
|
||||||
result = await self.ap.persistence_mgr.execute_async(
|
# set the default pipeline model to this model
|
||||||
sqlalchemy.select(persistence_pipeline.LegacyPipeline).where(
|
result = await self.ap.persistence_mgr.execute_async(
|
||||||
persistence_pipeline.LegacyPipeline.is_default == True
|
sqlalchemy.select(persistence_pipeline.LegacyPipeline).where(
|
||||||
|
persistence_pipeline.LegacyPipeline.is_default == True
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
pipeline = result.first()
|
||||||
pipeline = result.first()
|
if pipeline is not None and pipeline.config['ai']['local-agent']['model'] == '':
|
||||||
if pipeline is not None and pipeline.config['ai']['local-agent']['model'] == '':
|
pipeline_config = pipeline.config
|
||||||
pipeline_config = pipeline.config
|
pipeline_config['ai']['local-agent']['model'] = model_data['uuid']
|
||||||
pipeline_config['ai']['local-agent']['model'] = model_data['uuid']
|
pipeline_data = {'config': pipeline_config}
|
||||||
pipeline_data = {'config': pipeline_config}
|
await self.ap.pipeline_service.update_pipeline(pipeline.uuid, pipeline_data)
|
||||||
await self.ap.pipeline_service.update_pipeline(pipeline.uuid, pipeline_data)
|
|
||||||
|
|
||||||
return model_data['uuid']
|
return model_data['uuid']
|
||||||
|
|
||||||
|
|||||||
@@ -149,6 +149,7 @@ class ModelManager:
|
|||||||
'prefered_ranking': space_model.featured_order,
|
'prefered_ranking': space_model.featured_order,
|
||||||
},
|
},
|
||||||
preserve_uuid=True,
|
preserve_uuid=True,
|
||||||
|
auto_set_to_default_pipeline=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
elif space_model.category == 'embedding':
|
elif space_model.category == 'embedding':
|
||||||
|
|||||||
Reference in New Issue
Block a user