MCPcopy Index your code
hub / github.com/1Panel-dev/MaxKB / is_valid_model_params

Method is_valid_model_params

apps/application/flow/common.py:248–277  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

246 raise AppApiException(500, _('There can only be one starting node'))
247
248 def is_valid_model_params(self):
249 node_list = [node for node in self.nodes if (
250 node.type == 'ai-chat-node' or node.type == 'question-node' or node.type == 'parameter-extraction-node')]
251 for node in node_list:
252 if (node.properties.get('node_data', {}).get('model_id_type') or 'custom') == 'reference':
253 continue
254 model = QuerySet(Model).filter(id=node.properties.get('node_data', {}).get('model_id')).first()
255 if model is None:
256 raise ValidationError(ErrorDetail(
257 _('The node {node} model does not exist').format(node=node.properties.get("stepName"))))
258 credential = get_model_credential(model.provider, model.model_type, model.model_name)
259 model_params_setting = node.properties.get('node_data', {}).get('model_params_setting')
260 model_params_setting_form = credential.get_model_params_setting_form(
261 model.model_name)
262 if model_params_setting is None:
263 model_params_setting = model_params_setting_form.get_default_form_data()
264 node.properties.get('node_data', {})['model_params_setting'] = model_params_setting
265 if node.properties.get('status', 200) != 200:
266 raise ValidationError(
267 ErrorDetail(_("Node {node} is unavailable").format(node=node.properties.get("stepName"))))
268 node_list = [node for node in self.nodes if (node.type == 'function-lib-node')]
269 for node in node_list:
270 function_lib_id = node.properties.get('node_data', {}).get('function_lib_id')
271 if function_lib_id is None:
272 raise ValidationError(ErrorDetail(
273 _('The library ID of node {node} cannot be empty').format(node=node.properties.get("stepName"))))
274 f_lib = QuerySet(Tool).filter(id=function_lib_id).first()
275 if f_lib is None:
276 raise ValidationError(ErrorDetail(_("The function library for node {node} is not available").format(
277 node=node.properties.get("stepName"))))
278
279 def is_valid_base_node(self):
280 base_node_list = [node for node in self.nodes if node.id == 'base-node']

Callers 1

is_validMethod · 0.95

Calls 4

get_model_credentialFunction · 0.90
get_default_form_dataMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected