MLPredictor - Global (descontinuado)

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 10 min. de leitura
  • . MLPredictor A API fornece métodos de utilitário para Inteligência preditiva previsões.

    Nota:
    Esta API foi descontinuada e deve ser removida em uma versão futura. Consulte Usando APIs DE ML para obter as diretrizes mais recentes.

    . MLPredictor A API requer Inteligência preditiva plug-in (com.glide.platform_ml) e é fornecido em sn_ml namespace.

    Esta classe contém todos os métodos necessários para obter resultados de previsão dos dados de entrada.

    MLPredictor - MLPredictor()

    Instancia um novo objeto MLPredictor.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum(a)

    O exemplo a seguir mostra como usar um objeto MLPredictor em uma regra de negócios para registrar valores finais após uma previsão.

    function executeRule(current, previous /*null when async*/) {
    	var predictor = new MLPredictor();
    	predictor.recordFinalValuesInPredictionResults(current, "On close");
    
    }(current, previous);

    MLPredictor - applyPrediction(GlideRecord Now_GR, Soluções de matriz)

    Define valores previstos de uma matriz de soluções especificadas para um registro especificado.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord O registro no qual aplicar a matriz de soluções previstas.
    soluções Matriz Objetos de solução especificados associados ao GlideRecord.
    Tabela 3. Retornos
    Tipo Descrição
    vazio

    O exemplo a seguir demonstra o uso do método applyPrediction() em uma regra de negócios.

    (function executeRule(current, previous /*null when async*/) {
        var mlPredictor = new MLPredictor();
        //Get the list of active solutions for the glide record table
        var solutions = mlPredictor.findActiveSolutionsForRecord(current);
        //Run prediction and apply predicted value to the record
        mlPredictor.applyPrediction(current, solution);
    
    })(current, previous);

    MLPredictor - applyPredictionForSolution(GlideRecord Now_GR, Solução de objeto)

    Aplica um valor previsto de uma solução de classificação especificada ao GlideRecord especificado.

    Para cada solução no GlideRecord, chame este método para prever os resultados e definir o valor do campo no incidente como esses resultados.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord Objeto GlideRecord que contém valores nos quais executar uma previsão e aplicar os resultados.
    solução Objeto Objeto de solução de classificação a ser executado.
    Tabela 5. Retornos
    Tipo Descrição
    Booliano Caso contrário, há erro.

    Para usar este modelo, copie a regra de negócio Previsão baseada em incidente (modelo), torne o novo registro Ativo e siga as instruções comentadas para inicializar a variável solutionNames.

    (function executeRule(current, previous /*null when async*/) {
    	var solutionNames = ["solution1", "solution2", ...];
    
    	/* For domain separation (MSP) use case */
    //	var solutionNames;
    //	if (current.sys_domain == "A")
    //		solutionNames = ["solution_A1", "solution_A2", ...];
    //	else if (current.sys_domain == "B")
    //		solutionNames = ["solution_B1", "solution_B2", ...];
    //	else
    //		...
    
    	var predictor = new MLPredictor();
    	var info = "";
    	solutionNames.forEach(function(solutionName) {
    		var solution = predictor.findActiveSolution(solutionName);
    		if (!solution)
    			return;
    
    		/* The next line of code does the prediction and updates the current record. */
    		predictor.applyPredictionForSolution(current, solution);
    
    		/* If no prediction is done, do not build the prediction info message. */
    		if (!predictor.applyPredictionForSolution(current, solution))
    			return;
    
    		/* If user doesn't have 'itil' role, we don't build prediction info message. */
    		if (!gs.hasRole('itil'))
    			return;
    
    		/* Building prediction info message */
    		var fieldName = solution.getPredictedField();
    		var fieldLabel = current.getElement(fieldName).getED().getLabel();
    		var predictedDisplayValue = current.getDisplayValue(fieldName);
    		var msg = gs.getMessage("Predicted {0} for {1}.", [predictedDisplayValue, fieldLabel]);
    		if (info.length > 0)
    			info += " ";
    		info += msg;
    	});
    	/* Print out prediction info message on screen. */
    	if (info.length > 0) {
    		var incidentUrl = "<a href='"+current.getLink()+"'>"+current.number+":</a>";
    		gs.addInfoMessage(incidentUrl + " " + info);
    	}
    })(current, previous);

    MLPredictor - findActiveSolution(String solutionName)

    Obtém o objeto de solução.

    Este método retornará as soluções somente se a definição ml_solution e a solução estiverem ativas.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    solutionName Cadeia de caracteres Nome do registro ml_solution.
    Tabela 7. Retornos
    Tipo Descrição
    Objeto Objeto de solução para o especificado Nome da solução se a definição ml_solution e a solução estiverem ativas, caso contrário, nulo.

    Este exemplo usa um valor codificado e o passa para um modelo de aprendizado de máquina especificado. Você pode usar as variáveis Resultado e Confiança para definir valores ou outra lógica de negócios.

    var solutionName = 'ml_incident_assignment';
      var shortDescriptionValue = "Unable to connect!"
      var input = {
      short_description : shortDescriptionValue
      };
      var MLP = new MLPredictor();
      var solution = MLP.findActiveSolution(solutionName);
      var predictedOutcome = solution.predictText(input);
      var outcome = predictedOutcome.predictedValue();
      var confidence = predictedOutcome.confidence();
      gs.info("Predicted value: " + outcome)
      gs.info("Confidence: " + confidence)
            

    Saída:

    DxC_ML:
            ******* Finished Prediction********* *** Script: Predicted value: Software *** Script:
            Confidence: 80.78079080096245

    MLPredictor - findActiveSolutisForRecord(GlideRecord now_GR)

    Obtém soluções ativas para uma tabela em um GlideRecord especificado.

    Tabela 8. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord GlideRecord do qual coletar objetos de solução ativos.
    Tabela 9. Retornos
    Tipo Descrição
    Matriz Matriz de objetos de solução ativos associados à tabela para a qual o registro especificado se destina.

    Este script passa um GlideRecord (como um incidente) e processa todas as soluções para o GlideRecord, retornando os valores de cada um.

    /* This is only to get a hard-coded GR */
         var current = new GlideRecord('incident');
         current.get('965c9e5347c12200e0ef563dbb9a7156');
         var predictor = new MLPredictor();
         var solutions = predictor.findActiveSolutionsForRecord(current);
         solutions.forEach(function(solution) {
             var outcome = solution.predict(current);
             /* Use this to set the field to the predicted value in the GlideRecord */
             var fieldName = solution.getPredictedField();
             current[fieldName] = outcome.predictedValue();
             current.update();
    
             gs.info("Predicted value: " + outcome.predictedValue())
             gs.info("Confidence: " + outcome.confidence())
    });

    Saída (Previsão do grupo de atribuição):

    DxC_ML: ******* Finished Prediction*********
            *** Script: Predicted value: Software *** Script: Confidence:
            99.74530683715315

    Saída (Previsão de categoria):

    DxC_ML:
            ******* Finished Prediction********* *** Script: Predicted value: Software *** Script:
            Confidence: 98.7172805135524

    MLPredictor - getPredictedValue(Solução de objeto, Resultado de objeto)

    Obtém o valor previsto para uma solução especificada com base no resultado de previsão especificado.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    solução Objeto Solução da qual obter o valor previsto.
    resultado Objeto Resultados do resultado de previsão para a solução especificada (resultado da variável: Solution.predict(now_GR)).
    Tabela 11. Retornos
    Tipo Descrição
    Cadeia de caracteres Valor previsto para a solução especificada com base no resultado especificado da previsão.
    Nulo Retorna nulo se a confiança de previsão não atender aos limites.

    MLPredictor - getPredictions(GlideRecord now_GR, Solução de objeto, Opções de objeto)

    Obtém previsões para uma solução especificada.

    Tabela 12. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord GlideRecord a ser previsto.
    solução Objeto Objeto de solução a ser executado.
    opções Objeto Par de valores de chave de objeto JSON opcional com as seguintes propriedades:
    • Options.top_n: Se fornecido, retorna resultados até o número esperado de previsões, caso contrário, o padrão será lido no glide.platform_ml.max_num_predictions propriedade do sistema.
    • Options.apply_threshold: Verifica o valor do limite (limite de solução para semelhança, limite de nível de classe para classificação) da solução e o aplica ao conjunto de resultados. O valor padrão é verdadeiro.
    Tabela 13. Retornos
    Tipo Descrição
    Matriz Matriz de objetos de resultado previsto

    O exemplo a seguir chama uma solução especificada e executa previsões nela.

    function printOutcomeArr(outcomeArr) {
    gs.print('################## Results ##################');
    for (var i=0; i<outcomeArr.length; i++) {
        var outcome = outcomeArr[i];
        gs.print((i+1) + ' : ' + outcome.predictedValue() + ', ' + outcome.predictedValueSysId() + ', ' + outcome.confidence());
    }
    }
    
    var solutionName = 'ml_x_snc_global_prop_flip_test';
    var predictor = new MLPredictor();
    var solution = predictor.findActiveSolution(solutionName);
    
    var now_GR = new GlideRecord('incident');
    now_GR.get('1c741bd70b2322007518478d83673af3');
    
    var options = {};
    options.top_n = '10';            // top_n is an integer between 1 and 1000
    options.apply_threshold = false; // Value can be set to true or false
    
    printOutcomeArr(predictor.getPredictions(now_GR, solution, options));

    MLPredictor - isClassificationSolution(Solução de objeto)

    Identifica se um objeto de solução é um tipo de classificação.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    solução Objeto Nome da solução DE ML.
    Tabela 15. Retornos
    Tipo Descrição
    Booliano Retorna verdadeiro se a solução de entrada for um tipo de classificação; caso contrário, retornará falso.
    var isClassificationSolution = this.isClassificationSolution(solution);
     
    	//classification solution each class has different threshold
    	//therefore needs to get all the results from ml engine
    	if (applyThreshold && isClassificationSolution) {
    		var maxClassificationTopN = 50;
    		outcomeArr = solution.predictTopN(now_GR, maxClassificationTopN);
    	}
    	else  {
    	outcomeArr = solution.predictTopN(now_GR, topN);
    	}
     
    	if (outcomeArr === null) {
    		//instead of returning null returning empty array
    		return [];
    	}

    MLPredictor - isSimilaritySolution(Solução de objeto)

    Identifica se um objeto de solução é um tipo de semelhança.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    solução Objeto Nome da solução DE ML; por exemplo, ml_incident_categorization.
    Tabela 17. Retornos
    Tipo Descrição
    Booliano Retorna verdadeiro se a solução de entrada for um tipo de semelhança; caso contrário, retornará falso.

    MLPredictor - outcome.confidence()

    Obtém a confiança do valor previsto.

    Tabela 18. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 19. Retorna
    Tipo Descrição
    Cadeia de caracteres A precisão estimada da previsão em porcentagem. Por exemplo, 53,84615375762915 .
    var MLP = new MLPredictor();
      var solution = MLP.findActiveSolution(solutionName);
      var predictedOutcome = solution.predictText(input);
      var outcome = predictedOutcome.predictedValue();
      var confidence = predictedOutcome.confidence();
      gs.info("Predicted value: " + outcome)
      gs.info("Confidence: " + confidence)

    MLPredictor - outcome.predictedValue()

    Obtém o valor previsto do objeto de resultado MLPredictor.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 21. Retorna
    Tipo Descrição
    Cadeia de caracteres Valor previsto do objeto de resultado.
    var MLP = new MLPredictor();
      var solution = MLP.findActiveSolution(solutionName);
      var predictedOutcome = solution.predictText(input);
      var outcome = predictedOutcome.predictedValue();
      var confidence = predictedOutcome.confidence();
      gs.info("Predicted value: " + outcome)
      gs.info("Confidence: " + confidence)

    MLPredictor - outcome.predictedValueSysId()

    Obtém o sys_id do valor previsto.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 23. Retorna
    Tipo Descrição
    Cadeia de caracteres Sys_id do valor previsto.
    function printOutcomeArr(outcomeArr) {
    gs.print('################## Results ##################');
    for (var i=0; i<outcomeArr.length; i++) {
        var outcome = outcomeArr[i];
        gs.print((i+1) + ' : ' + outcome.predictedValue() + ', ' + outcome.predictedValueSysId() + ', ' + outcome.confidence());
    }

    MLPredictor - recordFinalValuesInPredictionResults(GlideRecord now_GR, motivo da cadeia de caracteres)

    Define os valores finais do resultado de previsão para um GlideRecord especificado com um motivo especificado opcionalmente.

    Tabela 24. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord GlideRecord no qual definir os valores finais do resultado da previsão.
    motivo Cadeia de caracteres Opcional. Motivo para aplicar resultados.
    Tabela 25. Retornos
    Tipo Descrição
    vazio

    No exemplo a seguir, o método recordFinalValuesInPredictionResults() é chamado quando o incidente é encerrado.

    (function executeRule(current, previous /*null when async*/) {
    	var predictor = new MLPredictor();
    	predictor.recordFinalValuesInPredictionResults(current, "On close");
    
    })(current, previous);

    MLPredictor - solution.getCapability()

    Obtém as informações de capacidade de uma solução treinada.

    Tabela 26. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 27. Retorna
    Tipo Descrição
    Cadeia de caracteres ID de definição e versão da solução treinada, caso contrário, mensagem de erro

    MLPredictor - solution.getName()

    Obtém o nome da solução usada para previsão.

    Tabela 28. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 29. Retorna
    Tipo Descrição
    Cadeia de caracteres O nome da solução a ser usada para previsões; por exemplo, ml_incident_categorization

    MLPredictor - solution.getPredictedField()

    Obtém o valor previsto de uma solução.

    Tabela 30. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 31. Retorna
    Tipo Descrição
    Cadeia de caracteres Valor do campo de saída previsto de uma solução
    /* Get a hard-coded GR */
         var current = new GlideRecord('incident');
         current.get('965c9e5347c12200e0ef563dbb9a7156');
         var predictor = new MLPredictor();
         var solutions = predictor.findActiveSolutionsForRecord(current);
         solutions.forEach(function(solution) {
             var outcome = solution.predict(current);
             /* Use this to set the field to the predicted value in the GlideRecord */
    
             var fieldName = solution.getPredictedField();
             current[fieldName] = outcome.predictedValue();
             current.update();
             gs.info("Predicted value: " + outcome.predictedValue())
             gs.info("Confidence: " + outcome.confidence())
    });

    MLPredictor - solution.getThreshold(cadeia de caracteres classname)

    Obtém o limite da solução.

    O limite representa uma porcentagem que reflete a precisão mínima da previsão.

    Tabela 32. Parâmetros
    Nome Tipo Descrição
    nomeClasse Cadeia de caracteres Um valor categórico especificado do campo de saída da solução
    Tabela 33. Retornos
    Tipo Descrição
    Número Valor do limite representado como uma porcentagem entre 0 e 100.

    MLPredictor - solution.getVersion()

    Obtém a versão da solução ativa.

    Tabela 34. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 35. Retorna
    Tipo Descrição
    Cadeia de caracteres Versão da solução ativa

    MLPredictor - solution.isActive()

    Determina se a solução especificada está ativa.

    Tabela 36. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 37. Retorna
    Tipo Descrição
    Booliano Se a solução estiver ativa, caso contrário, falso

    MLPredictor - solution.predict(GlideRecord now_GR, limite de objeto)

    Obtém resultados de previsão da solução como um objeto de resultado.

    Tabela 38. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord GlideRecord da tabela de entrada da solução
    limite Objeto Valor do limite (limite de nível de solução para semelhança, limite de nível de classe para classificação)
    Tabela 39. Retornos
    Tipo Descrição
    Objeto Resultado do resultado de previsão da solução especificada (resultado da variável: Solution.predict(now_GR))
    solutions.forEach(function(solution) {
             var outcome = solution.predict(current);
             /* Use this to set the field to the predicted value in the GlideRecord
             var fieldName = solution.getPredictedField();
             current[fieldName] = outcome.predictedValue();
             current.update();
             */
             gs.info("Predicted value: " + outcome.predictedValue())
             gs.info("Confidence: " + outcome.confidence())
    });

    MLPredictor - solution.predictTopN(GlideRecord now_GR, Object TopN)

    Retorna uma lista de objetos de resultado até o número esperado de previsões. Previsões de número máximo 1000.

    Tabela 40. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord GlideRecord da solução
    topN Objeto Número esperado de previsões, qualquer número acima de 1000 retorna 1000 resultados
    Tabela 41. Retornos
    Tipo Descrição
    Matriz Lista de objetos de resultado em uma matriz, incluindo GlideRecord, limite, ID do sistema e número esperado de previsões (objeto TopN)
    var isClassificationSolution = this.isClassificationSolution(solution);
     
    	//classification solution each class has different threshold
    	//therefore needs to get all the results from ml engine
    	if (applyThreshold && isClassificationSolution) {
    		var maxClassificationTopN = 50;
    		outcomeArr = solution.predictTopN(now_GR, maxClassificationTopN);
    	}
    	else  {
    		outcomeArr = solution.predictTopN(now_GR, topN);
    	}
     
    	if (outcomeArr === null) {
    		//instead of returning null returning empty array
    		return [];
    	}