MLSolution - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 6 min. de leitura
  • . MLSolution A API fornece métodos para manipulação Inteligência preditiva previsões e recuperação de objetos de solução para todos os recursos: semelhança, classificação e cluster).

    Esta API fornece métodos comumente usados entre todos os recursos de solução e métodos exclusivos para soluções de classificação e cluster.
    • Métodos comuns usados para todos os objetos de solução:
      • GetCapability()
      • GetVersion()
      • IsActive()
      • previsão()
    • Métodos usados somente para soluções de classificação e regressão:
      • ApplyPrediction()
    • Métodos usados somente para soluções de cluster:
      • GetClusterAssignments()
      • GetClusterForRecord()
      • GetClusterInfo()

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

    Os métodos neste objeto são instanciados usando MLSolutiFactory .

    MLSolution - applyPrediction(GlideRecord Now_GR)

    Obtém o resultado da previsão para uma solução de classificação e o aplica à entrada GlideRecord se o valor de confiança for maior que o limite.

    Tabela 1. 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.
    Tabela 2. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a previsão foi aplicada:

    • Verdadeiro: Previsão aplicada
    • Falso: Previsão rejeitada
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    var inputGR = new GlideRecord("incident");
    inputGR.get("0ef47232db801300864adfea5e961912");
    
    mlSolution.applyPrediction(inputGR);

    MLSolution - getCapability()

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

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    Cadeia de caracteres Tipo de solução treinada.
    Valores possíveis:
    • Semelhança
    • Classificação
    • Clustering
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = 1;
    options.top_n_per_cluster = 3;
    
    if (mlSolution.getCapability() == 'clustering') {
    	var results = mlSolution.getClusterAssignments(options);
    	// pretty print JSON results
    	gs.print(JSON.stringify(JSON.parse(results), null, 2));
    }

    MLSolution - getClusterAssignments (opções de objeto)

    Obtém atribuições para uma solução de cluster.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    opções Objeto Opcional. Valores a serem usados para restringir os resultados retornados por grupo e nível em uma solução de cluster.

    Padrão: Retorna associações de cluster para todos os clusters.

    options.group_by Cadeia de caracteres Opcional. Identifica o campo de segmentação para o qual recuperar associações de cluster, por exemplo, assignment_group.

    Este campo fornece o mesmo agrupamento que as opções fornecidas em Agrupar por caixa de seleção em Definição de Clustering formulário. As informações fornecidas variam de acordo com a tabela selecionada em Tabela campo. Para obter mais informações, consulte Criar e treinar uma solução de cluster .

    options.cluster_id Cadeia de caracteres Opcional. ID de cluster de uma solução treinada na tabela Resumo do cluster [ml_cluster_summary].
    options.top_n_per_cluster Número Número de principais resultados a receber para cada cluster.
    Tabela 6. Retornos
    Tipo Descrição
    Objeto Matriz JSON que contém informações do cluster em ordem crescente por cluster_id:
    • Cluster_id: Cadeia de caracteres. Número de cluster exclusivo em uma solução de clusters.
    • rec_display_id: Cadeia de caracteres. Número e tipo de registro.
    • rec_sys_id: Cadeia de caracteres. Sys_id do registro.
    • group_by: Se agrupado, nome do campo de segmentação associado a este cluster.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = '1';
    // returns top 3 results per cluster
    options.top_n_per_cluster = 3;
    
    var results = mlSolution.getClusterAssignments(options);
    
    

    Saída:

    [{"cluster_id":"1","rec_display_id":"Incident: INC0014483","rec_sys_id":"04e33e7adb401300864adfea5e961900","group_by":"network"},
     {"cluster_id":"1","rec_display_id":"Incident: INC0011133","rec_sys_id":"5bd23af2db401300864adfea5e96194d","group_by":"network"}]

    MLSolution - getClusterForRecord(GlideRecord now_GR)

    Obtém as informações de cluster para uma solução de cluster.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    Now_GR GlideRecord Nome da entrada GlideRecord.
    Tabela 8. Retornos
    Tipo Descrição
    Cadeia de caracteres O cluster_id da tabela Resumo do cluster [ml_cluster_summary] se o registro pertencer a um cluster. A cadeia de caracteres vazia retornará se o registro não pertencer a um cluster.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    var now_GR = new GlideRecord('incident');
    if (mlSolution.getCapability() == 'clustering') {
    var clusterId = mlSolution.getClusterForRecord(now_GR);
    }

    MLSolution - getClusterInfo(opções de objeto)

    Obtém informações de uma solução de cluster especificada.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    opções Objeto Opcional. Restringe os resultados retornados por grupo e nível em uma solução de cluster.

    Padrão: Retorna associações de cluster para todos os clusters.

    options.group_by Cadeia de caracteres Opcional. Identifica o campo de segmentação para o qual recuperar associações de cluster, por exemplo, assignment_group.

    Este campo fornece o mesmo agrupamento que as opções fornecidas em Agrupar por caixa de seleção em Definição de Clustering formulário. As informações fornecidas variam de acordo com a tabela selecionada em Tabela campo. Para obter mais informações, consulte Criar e treinar uma solução de cluster .

    options.cluster_id Cadeia de caracteres Opcional. ID de cluster de uma solução treinada na tabela Resumo do cluster [ml_cluster_summary].
    Tabela 10. Retornos
    Tipo Descrição
    Objeto Matriz JSON que contém informações do cluster em ordem crescente por cluster_id:
    • Cluster_id: Cadeia de caracteres. Número de cluster exclusivo em uma solução de clusters.
    • Cluster_quality: Cadeia de caracteres. Número de 0 a 100. Números mais altos indicam maior densidade de cluster.
    • Cluster_size: Cadeia de caracteres. Número de registros em um cluster.
    • group_by: Se agrupado, nome do campo de segmentação associado a este cluster.
    • Cluster_concept: Cadeia de caracteres. Conjunto de palavras que descrevem o cluster em ordem decrescente de frequência.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_x_global_clustering");
    
    // configure optional parameters
    var options = {};
    options.group_by = 'network';
    options.cluster_id = 1;
    
    var results = mlSolution.getClusterInfo(options);

    Saída:

    [ {"cluster_id":"1","cluster_quality":"56.6","cluster_size":"46","group_by":"SLA","cluster_concept":"issue occur capacity ..."},
      {"cluster_id":"2","cluster_quality":"55.47","cluster_size":"75","group_by":"SLA","cluster_concept":"clone instance request ..."},
    ... ]

    MLSolution - getVersion()

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

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Cadeia de caracteres Versão da solução ativa.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var solutionVersion = mlSolution.getVersion();

    MLSolution - isActive()

    Determina se uma solução está ativa.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 14. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se a solução está ativa.
    • Verdadeiro: Solução ativa
    • Falso: Solução inativa
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var isActive = mlSolution.isActive();

    MLSolution - Previsão (entrada de objeto, opções de objeto)

    Obtém os resultados de previsão do servidor de previsão com um GlideRecord ou uma matriz de pares de chave-valor.

    Você pode usar este método para chamar previsão com vários registros de entrada porque GlideRecord é um iterador.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    entrada Objeto GlideRecord Ou matriz de objetos JSON que contém nomes de campos e valores como pares de chave-valor.
    opções Objeto Opcional. Par de chave-valor JSON com as seguintes propriedades:
    • Top_n: Número. Se fornecido, retorna os principais resultados, até o número especificado de previsões.
    • Apply_threshold: Booliano. Verifica o valor limite da solução e aplica-o ao conjunto de resultados. O valor do limite é o limite da solução para semelhança ou o limite no nível de classe para classificação. O valor padrão é verdadeiro.
    • Custom_results_filter: Cadeia de caracteres. Soluções de semelhança somente. Especifica o conjunto permitido do qual os resultados são retornados usando uma consulta codificada.
    Tabela 16. Retornos
    Tipo Descrição
    Objeto Objeto JSON que contém os resultados de previsão classificados por sys_id ou record_number.
    • PredictedValue: Cadeia de caracteres. Valor que representa o resultado da previsão.
    • PredictedSysId: Cadeia de caracteres. O sys_id do valor previsto. Os resultados podem ser de qualquer tabela na qual as informações estão sendo previstas.
    • Confiança: Número. Valor da confiança associada à previsão. Por exemplo, 53,84.
    • Limite: Número. Valor do limite configurado associado à previsão.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    // single GlideRecord input
    var input = new GlideRecord("incident");
    input.get("0ef47232db801300864adfea5e961912");
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    // multiple GlideRecord input
    var input = new GlideRecord("incident");
    input.addQuery("sys_created_onONLast week@javascript:gs.beginningOfLastWeek()@javascript:gs.endOfLastWeek()");
    input.query();
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));

    Saída:

    {
        input_gr_sys_id1: [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx
    
                    }, 
                    {
                        predictedValue : yyy,
                        predictedSysId : xx1,
                        confidence : xxx,
                        threshold : xxx
                    }
            ],
        input_gr_sys_id2 : [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx
    
                    }, 
                ...
            ]
    }
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    // key-value pairs input
    var input = [{"short_description":"my email is not working"}, 
    			{short_description:"need help with password"}];
    
    // configure optional parameters
    var options = {};
    options.top_n = 3;
    options.apply_threshold = false;
    
    var results = mlSolution.predict(input, options);
    // pretty print JSON results
    gs.print(JSON.stringify(JSON.parse(results), null, 2));