---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# MLSolution - Global

# MLSolution - Global {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 minutes de lecture

L'API MLSolution fournit des méthodes de gestion Intelligence prédictive des prédictions et de récupération d'objets de solution pour toutes les fonctionnalités : similarité, classification et clustering).  
Cette API fournit des méthodes couramment utilisées parmi toutes les options de solution et les méthodes propres aux solutions de classification et de clustering.

* Méthodes communes utilisées pour tous les objets de solution :
  * getCapability()
  * getVersion()
  * isActive()
  * predict()
  {#MLSolutionAPI__ul_uyg_bjy_xjb}
* Méthodes utilisées uniquement pour les solutions de classification et de régression :
  * applyPrediction()
  {#MLSolutionAPI__ul_wls_bjy_xjb}
* Méthodes utilisées uniquement pour les solutions de mise en grappe :
  * getClusterAssignments()
  * getClusterForRecord()
  * getClusterInfo()
  {#MLSolutionAPI__ul_j35_bjy_xjb}
{#MLSolutionAPI__ul_cd1_1jy_xjb}

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](https://servicenow-prod.fluidtopics.net/YOr9Ee3SWlN6hbjPQofZaA#MLSolutionFactoryAPI "L’API MLSolutionFactory est une classe d’usine permettant d’obtenir un objet pouvant contenir des scripts MLSolution.").{#MLSolutionAPI__classInstantMLSF}
**Concepts associés**   

* [MLSolutionUtil](https://servicenow-prod.fluidtopics.net/MZGYAwC96GUil4u1EDh7Rg#MLSolutionUtilAPI "L’include de script MLSolutionUtil fournit des méthodes pour obtenir Intelligence prédictive des prédictions.")
* [API REST : obtenir des prédictions pour plusieurs solutions](https://servicenow-prod.fluidtopics.net/7c7gW6wF0FDjCm4Wog2zmQ#agent-intelligence-api "L’API Intelligence prédictive fournit des points de terminaison qui prédisent une valeur de champ en fonction d’un ou de plusieurs champs d’entrée et d’une solution formée.")

## MLSolution : applyPrediction(GlideRecord now_GR) {#ariaid-title2}

Obtient le résultat de prédiction pour une solution de classification et l'applique au GlideRecord d'entrée si la valeur de confiance est supérieure au seuil.
{#MLSolution-applyPrediction_GR__table_hqw_pbm_yfb__entry__3}

| Nom | Type | Description |
|-|-|-|
| now_GR | GlideRecord | Objet GlideRecord contenant des valeurs sur lesquelles exécuter une prédiction et appliquer les résultats. |
[Tableau 1. Paramètres]

{#MLSolution-applyPrediction_GR__table_hqw_pbm_yfb} {#MLSolution-applyPrediction_GR__table_iqw_pbm_yfb__entry__2}

| Type | Description |
|-|-|
| Booléen | Marqueur indiquant si la prédiction a été appliquée : * true : prédiction appliquée * false : prédiction rejetée {#MLSolution-applyPrediction_GR__ul_pvl_ggm_ckb} |
[Tableau 2. Renvoie]

{#MLSolution-applyPrediction_GR__table_iqw_pbm_yfb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("ml_incident_categorization");

    var inputGR = new GlideRecord("incident");
    inputGR.get("0ef47232db801300864adfea5e961912");

    mlSolution.applyPrediction(inputGR);

## MLSolution : getCapability() {#ariaid-title3}

Obtient les informations d'aptitude d'une solution formée.
{#MLSolution-getCapability__table_em3_pfx_ggb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 3. Paramètres]

{#MLSolution-getCapability__table_em3_pfx_ggb} {#MLSolution-getCapability__table_fm3_pfx_ggb__entry__2}

| Type | Description |
|-|-|
| Chaîne | Type de solution formée. Valeurs possibles : * Similarité * Classification * Mise en grappe {#MLSolution-getCapability__ul_sv5_slm_ckb} |
[Tableau 4. Renvoie]

{#MLSolution-getCapability__table_fm3_pfx_ggb}  

    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 de l'objet) {#ariaid-title4}

Obtient des affectations pour une solution de mise en grappe.
{#MLSolution-getClusterAssignments_O__table_t1q_hxt_rhb__entry__3}{#MLSolution-getClusterAssignments_O__ml-cluster-create-xbl}

| Nom | Type | Description |
|-|-|-|
| options | Objet | Facultatif. Valeurs à utiliser pour affiner les résultats renvoyés par groupe et par niveau dans une solution de clustering. Par défaut : renvoyer les appartenances à toutes les grappes. |
| options.group_by | Chaîne | Facultatif. Identifie le champ de segmentation pour lequel récupérer les appartenances à la grappe, par exemple assignment_group. Ce champ fournit le même regroupement que les options fournies dans la case à cocher Utiliser le groupe par du formulaire 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](https://www.servicenow.com/docs/access?context=create-clustering-solution&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US) . |
| 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 5. Paramètres]

{#MLSolution-getClusterAssignments_O__table_t1q_hxt_rhb} {#MLSolution-getClusterAssignments_O__table_u1q_hxt_rhb__entry__2}

| Type | Description |
|-|-|
| Objet | Tableau JSON contenant des informations de grappe par ordre croissant de cluster_id : * cluster_id : Chaîne. Numéro de grappe unique au sein d'une solution de grappes.{#MLSolution-getClusterAssignments_O__mlv-getClusterInfo-returnsID} * rec_display_id : chaîne de caractères. Type et numéro d'enregistrement.{#MLSolution-getClusterAssignments_O__mlv-GetClustrAssn-rec-dispid} * rec_sys_id : chaîne de caractères. sys_id d'enregistrement.{#MLSolution-getClusterAssignments_O__mlv-GetClustrAssn-rec-sysid} * group_by : s'il s'agit du champ de segmentation associé à cette grappe.{#MLSolution-getClusterAssignments_O__mlv-getClusterInfo-returnsGrp} {#MLSolution-getClusterAssignments_O__ul_oz5_dwm_rhb} |
[Tableau 6. Renvoie]

{#MLSolution-getClusterAssignments_O__table_u1q_hxt_rhb}  

    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) {#ariaid-title5}

Obtient les informations de grappe pour une solution de mise en grappe.
{#MLSolution-getClusterForRecord_GR__table_ak2_xcn_rhb__entry__3}

| Nom | Type | Description |
|-|-|-|
| now_GR | GlideRecord | Nom de l'entrée GlideRecord. |
[Tableau 7. Paramètres]

{#MLSolution-getClusterForRecord_GR__table_ak2_xcn_rhb} {#MLSolution-getClusterForRecord_GR__table_bk2_xcn_rhb__entry__2}

| 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 est renvoyée si l'enregistrement n'appartient pas à une grappe. |
[Tableau 8. Renvoie]

{#MLSolution-getClusterForRecord_GR__table_bk2_xcn_rhb}  

    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 de l'objet) {#ariaid-title6}

Obtient des informations pour une solution de mise en grappe spécifiée.
{#MLSolution-getClusterInfo_O__table_ak2_xcn_rhb__entry__3}{#MLSolution-getClusterInfo_O__ml-cluster-create-xbl}

| Nom | Type | Description |
|-|-|-|
| options | Objet | Facultatif. Réduit les résultats renvoyés par groupe et par niveau au sein d'une solution de mise en grappe. Par défaut : renvoyer les appartenances à toutes les grappes. |
| options.group_by | Chaîne | Facultatif. Identifie le champ de segmentation pour lequel récupérer les appartenances à la grappe, par exemple assignment_group. Ce champ fournit le même regroupement que les options fournies dans la case à cocher Utiliser le groupe par du formulaire 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](https://www.servicenow.com/docs/access?context=create-clustering-solution&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US) . |
| 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 9. Paramètres]

{#MLSolution-getClusterInfo_O__table_ak2_xcn_rhb} {#MLSolution-getClusterInfo_O__table_bk2_xcn_rhb__entry__2}

| Type | Description |
|-|-|
| Objet | Tableau JSON contenant des informations de grappe par ordre croissant de cluster_id : * cluster_id : Chaîne. Numéro de grappe unique au sein d'une solution de grappes.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsID} * cluster_quality : chaîne de caractères. Nombre compris entre 0 et 100. Des nombres plus élevés indiquent une densité de grappes plus élevée.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsCQ} * cluster_size : Chaîne. Nombre d'enregistrements dans une grappe.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsSize} * group_by : s'il s'agit du champ de segmentation associé à cette grappe.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsGrp} * cluster_concept : chaîne de caractères. Ensemble de mots décrivant la grappe par ordre décroissant de fréquence.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsConcept} {#MLSolution-getClusterInfo_O__ul_oz5_tv5_rhb} |
[Tableau 10. Renvoie]

{#MLSolution-getClusterInfo_O__table_bk2_xcn_rhb}  

    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() {#ariaid-title7}

Obtient la version de la solution active.
{#MLSolution-getVersion__table_hrt_ngx_ggb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 11. Paramètres]

{#MLSolution-getVersion__table_hrt_ngx_ggb} {#MLSolution-getVersion__table_irt_ngx_ggb__entry__2}

| Type | Description |
|-|-|
| Chaîne | Version de la solution active. |
[Tableau 12. Renvoie]

{#MLSolution-getVersion__table_irt_ngx_ggb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");

    var solutionVersion = mlSolution.getVersion();

## MLSolution : isActive() {#ariaid-title8}

Détermine si une solution est active.
{#MLSolution-isActive__table_xzj_lgx_ggb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 13. Paramètres]

{#MLSolution-isActive__table_xzj_lgx_ggb} {#MLSolution-isActive__table_yzj_lgx_ggb__entry__2}

| Type | Description |
|-|-|
| Booléen | Marqueur indiquant si la solution est active. * true : solution active * faux : solution inactive {#MLSolution-isActive__ul_cnk_ltv_bkb} |
[Tableau 14. Renvoie]

{#MLSolution-isActive__table_yzj_lgx_ggb}  

    var mlSolution = sn_ml.MLSolutionFactory.getSolution("solution_name");

    var isActive = mlSolution.isActive();

## MLSolution : predict(entrée de l'objet, options de l'objet) {#ariaid-title9}

Obtient les résultats de prédiction à partir 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.
{#MLSolution-predict_O_O__table_vv5_yfx_ggb__entry__3}

| Nom | Type | Description |
|-|-|-|
| entrée | Objet | [GlideRecord (en anglais seulement)](https://servicenow-prod.fluidtopics.net/cg986w0IhAlYk2dRuHcT4Q#c_GlideRecordAPI "L’API GlideRecord est utilisée pour les opérations de base de données.") 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 : Nombre. Si elle est fournie, renvoie les meilleurs résultats, jusqu'au nombre spécifié de prédictions.{#MLSolution-predict_O_O__solution-prediction-topn} * 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 la solution pour la similarité ou le seuil de niveau classe pour la classification. La valeur par défaut est vrai.{#MLSolution-predict_O_O__solution-prediction-thresh} * custom_results_filter : chaîne de caractères. 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.{#MLSolution-predict_O_O__solution-prediction-custom} {#MLSolution-predict_O_O__ul_eqd_tcs_ckb} |
[Tableau 15. Paramètres]

{#MLSolution-predict_O_O__table_vv5_yfx_ggb} {#MLSolution-predict_O_O__table_khq_hgx_ggb__entry__2}

| 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 prédiction.{#MLSolution-predict_O_O__ml-returnsVal} * predictedSysId : chaîne. sys_id de la valeur prévue. Les résultats peuvent provenir de n'importe quelle table sur laquelle des informations sont prévues.{#MLSolution-predict_O_O__ml-returnsID} * confiance : Nombre. Valeur de confiance associée à la prédiction. Par exemple, 53.84.{#MLSolution-predict_O_O__ml-returnsConf} * seuil : Nombre. Valeur du seuil configuré associé à la prédiction.{#MLSolution-predict_O_O__ml-returnsThrsh} * detailedResults : objet. Solutions de similarité uniquement. Paire clé-valeur JSON contenant des détails sur les index de texte correspondants.{#MLSolution-predict_O_O__ml-returnsDetR} {#MLSolution-predict_O_O__ul_fg2_vcs_ckb} |
[Tableau 16. Renvoie]

{#MLSolution-predict_O_O__table_khq_hgx_ggb}  

    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,
                        detailedResults : [.....]

                    }, 
                    {
                        predictedValue : yyy,
                        predictedSysId : xx1,
                        confidence : xxx,
                        threshold : xxx,
                        detailedResults : [.....]
                    }
            ],
        input_gr_sys_id2 : [
                    {
                        predictedValue : xxx,
                        predictedSysId : xx0,
                        confidence : xxx,
                        threshold : xxx,
                        detailedResults : [.....]

                    }, 
                ...
            ]
    }

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


