|
|
|
|
@ -107,20 +107,33 @@ class AppListApi(Resource):
|
|
|
|
|
# validate config
|
|
|
|
|
model_config_dict = args['model_config']
|
|
|
|
|
|
|
|
|
|
# get model provider
|
|
|
|
|
model_manager = ModelManager()
|
|
|
|
|
model_instance = model_manager.get_default_model_instance(
|
|
|
|
|
tenant_id=current_user.current_tenant_id,
|
|
|
|
|
model_type=ModelType.LLM
|
|
|
|
|
# Get provider configurations
|
|
|
|
|
provider_manager = ProviderManager()
|
|
|
|
|
provider_configurations = provider_manager.get_configurations(current_user.current_tenant_id)
|
|
|
|
|
|
|
|
|
|
# get available models from provider_configurations
|
|
|
|
|
available_models = provider_configurations.get_models(
|
|
|
|
|
model_type=ModelType.LLM,
|
|
|
|
|
only_active=True
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if not model_instance:
|
|
|
|
|
raise ProviderNotInitializeError(
|
|
|
|
|
f"No Default System Reasoning Model available. Please configure "
|
|
|
|
|
f"in the Settings -> Model Provider.")
|
|
|
|
|
else:
|
|
|
|
|
model_config_dict["model"]["provider"] = model_instance.provider
|
|
|
|
|
model_config_dict["model"]["name"] = model_instance.model
|
|
|
|
|
# check if model is available
|
|
|
|
|
available_models_names = [f'{model.provider.provider}.{model.model}' for model in available_models]
|
|
|
|
|
provider_model = f"{model_config_dict['model']['provider']}.{model_config_dict['model']['name']}"
|
|
|
|
|
if provider_model not in available_models_names:
|
|
|
|
|
model_manager = ModelManager()
|
|
|
|
|
model_instance = model_manager.get_default_model_instance(
|
|
|
|
|
tenant_id=current_user.current_tenant_id,
|
|
|
|
|
model_type=ModelType.LLM
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if not model_instance:
|
|
|
|
|
raise ProviderNotInitializeError(
|
|
|
|
|
f"No Default System Reasoning Model available. Please configure "
|
|
|
|
|
f"in the Settings -> Model Provider.")
|
|
|
|
|
else:
|
|
|
|
|
model_config_dict["model"]["provider"] = model_instance.provider
|
|
|
|
|
model_config_dict["model"]["name"] = model_instance.model
|
|
|
|
|
|
|
|
|
|
model_configuration = AppModelConfigService.validate_configuration(
|
|
|
|
|
tenant_id=current_user.current_tenant_id,
|
|
|
|
|
|