MLSolution - Global

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 6 minutes de lecture
  • L’API MLSolution fournit des méthodes de gestion Intelligence prédictive des prédictions et de récupération des objets de solution pour toutes les options : similarité, classification et mise en grappe.

    Cette API fournit des méthodes couramment utilisées parmi toutes les fonctionnalités de la solution et des méthodes uniques aux solutions de classification et de mise en grappe.
    • Méthodes courantes utilisées pour tous les objets de solution :
      • getCapability()
      • getVersion()
      • isActive()
      • prédire()
    • Méthodes utilisées uniquement pour les solutions de classification et de régression :
      • applyPrediction()
    • Méthodes utilisées uniquement pour les solutions de mise en grappe :
      • getClusterAssignments()
      • getClusterForRecord()
      • getClusterInfo()

    La MLSolution L’API nécessite le module d’extension Intelligence prédictive (com.glide.platform_ml) et est fournie dans l’espace de noms sn_ml .

    Les méthodes de cet objet sont instanciées à l’aide de MLSolutionFactory.

    MLSolution : applyPrediction(GlideRecord now_GR)

    Obtient le résultat de prédiction pour une solution de classification et l’applique à l’entrée GlideRecord si la valeur de confiance est supérieure au seuil.

    Tableau 1. Paramètres
    Nom Type Description
    now_GR GlideRecord Objet GlideRecord contenant des valeurs sur lesquelles exécuter une prédiction et appliquer les résultats.
    Tableau 2. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si la prédiction a été appliquée :

    • vrai : prédiction appliquée
    • faux : prédiction rejetée
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");
    
    var inputGR = new GlideRecord("incident");
    inputGR.get("0ef47232db801300864adfea5e961912");
    
    mlSolution.applyPrediction(inputGR);

    MLSolution : getCapability()

    Obtient les informations sur l’aptitude d’une solution formée.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Chaîne Type de solution formée.
    Valeurs possibles :
    • Similarité
    • Classification
    • Mise en grappe
    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(options d’objet)

    Obtient les affectations pour une solution de mise en grappe.

    Tableau 5. Paramètres
    Nom Type Description
    options Objet Facultatif. Valeurs à utiliser pour affiner les résultats renvoyés par groupe et par niveau au sein d’une solution de mise en grappe.

    Par défaut : renvoie les appartenances à toutes les grappes.

    options.group_by Chaîne Facultatif. Identifie le champ de segmentation pour lequel récupérer les appartenances à des grappes, par exemple, assignment_group.

    Ce champ fournit le même regroupement que les options fournies dans la case à cocher Utiliser Grouper par du formulaire de définition de mise en grappe . Les informations fournies varient en fonction de la table sélectionnée dans le champ Table . Pour plus d’informations, consultez Créer et former une solution de mise en grappe .

    options.cluster_id Chaîne Facultatif. ID de grappe d’une solution formée dans la table Récapitulatif de la grappe [ml_cluster_summary].
    options.top_n_per_cluster Numéro Nombre des meilleurs résultats à recevoir pour chaque grappe.
    Tableau 6. Renvoie
    Type Description
    Objet Tableau JSON contenant des informations sur les grappes par ordre croissant par cluster_id :
    • cluster_id : Chaîne. Numéro de grappe unique dans une solution de grappes.
    • rec_display_id : Chaîne. Type et numéro d’enregistrement.
    • rec_sys_id : Chaîne. sys_id d’enregistrement.
    • group_by : nom du champ de segmentation associé à cette grappe.
    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);
    
    

    Sortie :

    [{"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)

    Obtient les informations de grappe pour une solution de mise en grappe.

    Tableau 7. Paramètres
    Nom Type Description
    now_GR GlideRecord Nom de l’entrée GlideRecord.
    Tableau 8. Renvoie
    Type Description
    Chaîne Le cluster_id de la table Récapitulatif de la grappe [ml_cluster_summary] si l’enregistrement appartient à une grappe. La chaîne vide renvoie si l’enregistrement n’appartient à aucune grappe.
    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(options d’objet)

    Obtient des informations pour une solution de mise en grappe spécifiée.

    Tableau 9. Paramètres
    Nom Type Description
    options Objet Facultatif. Réduit les résultats renvoyés par groupe et par niveau dans une solution de mise en grappe.

    Par défaut : renvoie les appartenances à toutes les grappes.

    options.group_by Chaîne Facultatif. Identifie le champ de segmentation pour lequel récupérer les appartenances à des grappes, par exemple, assignment_group.

    Ce champ fournit le même regroupement que les options fournies dans la case à cocher Utiliser Grouper par du formulaire de définition de mise en grappe . Les informations fournies varient en fonction de la table sélectionnée dans le champ Table . Pour plus d’informations, consultez Créer et former une solution de mise en grappe .

    options.cluster_id Chaîne Facultatif. ID de grappe d’une solution formée dans la table Récapitulatif de la grappe [ml_cluster_summary].
    Tableau 10. Renvoie
    Type Description
    Objet Tableau JSON contenant des informations sur les grappes par ordre croissant par cluster_id :
    • cluster_id : Chaîne. Numéro de grappe unique dans une solution de grappes.
    • cluster_quality : Chaîne. Nombre de 0 à 100. Des nombres plus élevés indiquent une densité de grappes plus élevée.
    • cluster_size : Chaîne. Nombre d’enregistrements dans une grappe.
    • group_by : nom du champ de segmentation associé à cette grappe.
    • cluster_concept : Chaîne. Ensemble de mots qui décrivent la grappe par ordre décroissant de fréquence.
    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);

    Sortie :

    [ {"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()

    Obtient la version de la solution active.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Chaîne Version de la solution active.
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var solutionVersion = mlSolution.getVersion();

    MLSolution : isActive()

    Détermine si une solution est active.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun
    Tableau 14. Renvoie
    Type Description
    Booléen Marqueur indiquant si la solution est active.
    • true : solution active
    • faux : solution inactive
    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");
    
    var isActive = mlSolution.isActive();

    MLSolution : predict(entrée d’objet, options d’objet)

    Obtient les résultats de prédiction du serveur de prédiction en fonction d’un GlideRecord ou d’un tableau de paires clé-valeur.

    Vous pouvez utiliser cette méthode pour appeler la prédiction avec plusieurs enregistrements d’entrée, car GlideRecord est un itérateur.

    Tableau 15. Paramètres
    Nom Type Description
    entrée Objet GlideRecord ou tableau d’objets JSON contenant des noms de champs et des valeurs sous forme de paires clé-valeur.
    options Objet Facultatif. Paire clé-valeur JSON avec les propriétés suivantes :
    • top_n : Numéro. Si elle est fournie, elle renvoie les meilleurs résultats, jusqu’au nombre spécifié de prédictions.
    • apply_threshold : Booléen. Vérifie la valeur de seuil de la solution et l’applique à l’ensemble de résultats. La valeur de seuil est le seuil de solution pour la similarité ou le seuil de niveau de classe pour la classification. La valeur par défaut est vrai.
    • custom_results_filter : Chaîne. Solutions de similarité uniquement. Spécifie l’ensemble autorisé à partir duquel les résultats sont renvoyés à l’aide d’une requête codée.
    Tableau 16. Renvoie
    Type Description
    Objet Objet JSON contenant les résultats de prédiction triés par sys_id ou par record_number.
    • predictedValue : chaîne. Valeur représentant le résultat de la prédiction.
    • predictedSysId : chaîne. La sys_id de la valeur prévue. Les résultats peuvent provenir de n’importe quelle table sur laquelle des informations sont prévues.
    • confiance : Nombre. Valeur de la fiabilité associée à la prédiction. Par exemple, 53,84.
    • threshold : Nombre. Valeur du seuil configuré associé à la prédiction.
    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));

    Sortie :

    {
        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));