---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# MLSolution - Global

# MLSolution - Global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 6 min. de leitura

A API MLSolution fornece métodos para lidar com Inteligência preditiva previsões e recuperar objetos de solução para todas as capacidades: semelhança, classificação e clustering).  
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 clustering.

* Métodos comuns usados para todos os objetos de solução:
  * getCapability()
  * getVersion()
  * estáAtivo()
  * prever ()
  {#MLSolutionAPI__ul_uyg_bjy_xjb}
* Métodos usados somente para soluções de classificação e regressão:
  * applyPrediction()
  {#MLSolutionAPI__ul_wls_bjy_xjb}
* Métodos usados somente para soluções de cluster:
  * getClusterAssignments ()
  * getClusterForRecord()
  * getClusterInfo()
  {#MLSolutionAPI__ul_j35_bjy_xjb}
{#MLSolutionAPI__ul_cd1_1jy_xjb}

O MLSolution A API requer o plug-in Inteligência preditiva (com.glide.platform_ml) e é fornecida no namespace `sn_ml`.

Os métodos neste objeto são instanciados usando [MLSolutionFactory](https://servicenow-prod.fluidtopics.net/wXncJ4U_aMQ~Cp_5eJKb8A#MLSolutionFactoryAPI "A API MLSolutionFactory é uma classe de fábrica para obter um objeto programável de MLSolution.").{#MLSolutionAPI__classInstantMLSF}
**Conceitos relacionados**   

* [MLSolutionUtil](https://servicenow-prod.fluidtopics.net/4QVuebq6GkWjDVRqa41g1g#MLSolutionUtilAPI "A inclusão de script MLSolutionUtil fornece métodos para obter Inteligência preditiva previsões.")
* [REST API: obter previsões para várias soluções](https://servicenow-prod.fluidtopics.net/z3m29dPjrqh5AfDceyVc3A#agent-intelligence-api "A API Inteligência preditiva fornece endpoints que preveem um valor de campo com base em um ou mais campos de entrada e uma solução treinada.")

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

Obtém o resultado de previsão para uma solução de classificação e o aplica ao GlideRecord de entrada se o valor de confiança for maior que o limite.
{#MLSolution-applyPrediction_GR__table_hqw_pbm_yfb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| now_GR | GlideRecord | Objeto GlideRecord que contém valores nos quais uma previsão é executada e os resultados são aplicados. |
[Tabela 1. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se a previsão foi aplicada: * verdadeiro: previsão aplicada * falso: previsão rejeitada {#MLSolution-applyPrediction_GR__ul_pvl_ggm_ckb} |
[Tabela 2. Retorna]

{#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}

Obtém as informações de capacidade de uma solução treinada.
{#MLSolution-getCapability__table_em3_pfx_ggb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 3. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Tipo de solução treinada. Valores possíveis: * Semelhança * Classificação * Clustering {#MLSolution-getCapability__ul_sv5_slm_ckb} |
[Tabela 4. Retorna]

{#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(Opções de objeto) {#ariaid-title4}

Obtém atribuições para uma solução de clustering.
{#MLSolution-getClusterAssignments_O__table_t1q_hxt_rhb__entry__3}{#MLSolution-getClusterAssignments_O__ml-cluster-create-xbl}

| 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: retorne associações de cluster para todos os clusters. |
| opções.agrupar_por | Cadeia de caracteres | Opcional. Identifica o campo de segmentação para o qual serão recuperadas associações de cluster, por exemplo, assign_group. Este campo fornece o mesmo agrupamento que as opções fornecidas na caixa de seleção Usar agrupar por no formulário Definição de cluster. As informações fornecidas variam de acordo com a tabela selecionada no campo Tabela. Para obter mais informações, consulte [Criação e treinamento de uma solução de cluster](https://www.servicenow.com/docs/access?context=create-clustering-solution&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US) . |
| opções.cluster_id | Cadeia de caracteres | Opcional. ID do cluster de uma solução treinada na tabela Resumo do cluster \[ml_cluster_summary\]. |
| opções.top_n_per_cluster | Número | Número de resultados principais a serem recebidos para cada cluster. |
[Tabela 5. Parâmetros]

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

| 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.{#MLSolution-getClusterAssignments_O__mlv-getClusterInfo-returnsID} * rec_display_id: cadeia de caracteres. Tipo e número de registro.{#MLSolution-getClusterAssignments_O__mlv-GetClustrAssn-rec-dispid} * rec_sys_id: cadeia de caracteres. sys_id do registro.{#MLSolution-getClusterAssignments_O__mlv-GetClustrAssn-rec-sysid} * group_by: se agrupado, nome do campo de segmentação associado a este cluster.{#MLSolution-getClusterAssignments_O__mlv-getClusterInfo-returnsGrp} {#MLSolution-getClusterAssignments_O__ul_oz5_dwm_rhb} |
[Tabela 6. Retorna]

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

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

Obtém as informações do cluster para uma solução de cluster.
{#MLSolution-getClusterForRecord_GR__table_ak2_xcn_rhb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| now_GR | GlideRecord | Nome do GlideRecord de entrada. |
[Tabela 7. Parâmetros]

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

| 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 será retornada se o registro não pertencer a um cluster. |
[Tabela 8. Retorna]

{#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(Opções de objeto) {#ariaid-title6}

Obtém informações para uma solução de cluster especificada.
{#MLSolution-getClusterInfo_O__table_ak2_xcn_rhb__entry__3}{#MLSolution-getClusterInfo_O__ml-cluster-create-xbl}

| Nome | Tipo | Descrição |
|-|-|-|
| opções | Objeto | Opcional. Limita os resultados retornados por grupo e nível em uma solução de clustering. Padrão: retorne associações de cluster para todos os clusters. |
| opções.agrupar_por | Cadeia de caracteres | Opcional. Identifica o campo de segmentação para o qual serão recuperadas associações de cluster, por exemplo, assign_group. Este campo fornece o mesmo agrupamento que as opções fornecidas na caixa de seleção Usar agrupar por no formulário Definição de cluster. As informações fornecidas variam de acordo com a tabela selecionada no campo Tabela. Para obter mais informações, consulte [Criação e treinamento de uma solução de cluster](https://www.servicenow.com/docs/access?context=create-clustering-solution&version=xanadu&pubname=xanadu-intelligent-experiences&ft:locale=en-US) . |
| opções.cluster_id | Cadeia de caracteres | Opcional. ID do cluster de uma solução treinada na tabela Resumo do cluster \[ml_cluster_summary\]. |
[Tabela 9. Parâmetros]

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

| 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.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsID} * cluster_quality: cadeia de caracteres. Número de 0 a 100. Números mais altos indicam maior densidade de cluster.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsCQ} * cluster_size: cadeia de caracteres. Número de registros em um cluster.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsSize} * group_by: se agrupado, nome do campo de segmentação associado a este cluster.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsGrp} * cluster_concept: cadeia de caracteres. Conjunto de palavras que descreve o cluster em ordem decrescente de frequência.{#MLSolution-getClusterInfo_O__mlv-getClusterInfo-returnsConcept} {#MLSolution-getClusterInfo_O__ul_oz5_tv5_rhb} |
[Tabela 10. Retorna]

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

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

Obtém a versão da solução ativa.
{#MLSolution-getVersion__table_hrt_ngx_ggb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 11. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Versão da solução ativa. |
[Tabela 12. Retorna]

{#MLSolution-getVersion__table_irt_ngx_ggb}  

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

    var solutionVersion = mlSolution.getVersion();

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

Determina se uma solução está ativa.
{#MLSolution-isActive__table_xzj_lgx_ggb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 13. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se a solução está ativa. * verdadeiro: solução ativa * falso: solução inativa {#MLSolution-isActive__ul_cnk_ltv_bkb} |
[Tabela 14. Retorna]

{#MLSolution-isActive__table_yzj_lgx_ggb}  

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

    var isActive = mlSolution.isActive();

## MLSolution - prever (entrada de objeto, opções de objeto) {#ariaid-title9}

Obtém os resultados de previsão do servidor de previsão de acordo com um GlideRecord ou uma matriz de pares de chave-valor.
Você pode usar este método para chamar a previsão com vários registros de entrada porque o GlideRecord é um iterador.
{#MLSolution-predict_O_O__table_vv5_yfx_ggb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| entrada | Objeto | [GlideRecord](https://servicenow-prod.fluidtopics.net/MVDQAzAUPvxIFzjBauTu9Q#c_GlideRecordAPI "A API GlideRecord é usada para operações de banco de dados.") ou matriz de objetos JSON que contém nomes e valores de campo 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.{#MLSolution-predict_O_O__solution-prediction-topn} * apply_threshold: booliano. Verifica o valor do limite da solução e o aplica ao conjunto de resultados. O valor do limite é o limite de solução para semelhança ou o limite de nível de classe para classificação. O valor padrão é verdadeiro.{#MLSolution-predict_O_O__solution-prediction-thresh} * custom_results_filter: cadeia de caracteres. Somente soluções de semelhança. Especifica o conjunto permitido do qual os resultados são retornados usando uma consulta codificada.{#MLSolution-predict_O_O__solution-prediction-custom} {#MLSolution-predict_O_O__ul_eqd_tcs_ckb} |
[Tabela 15. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Objeto | Objeto JSON que contém os resultados da previsão classificados por sys_id ou record_number. * PreviewValue: cadeia de caracteres. Valor que representa o resultado da previsão.{#MLSolution-predict_O_O__ml-returnsVal} * previstoSysId: 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.{#MLSolution-predict_O_O__ml-returnsID} * Confiança: número. Valor da confiança associada à previsão. Por exemplo, 53,84.{#MLSolution-predict_O_O__ml-returnsConf} * limite: Número. Valor do limite configurado associado à previsão.{#MLSolution-predict_O_O__ml-returnsThrsh} * detailsResults: objeto. Somente soluções de semelhança. Par de chave-valor JSON que contém detalhes sobre os índices de texto correspondentes.{#MLSolution-predict_O_O__ml-returnsDetR} {#MLSolution-predict_O_O__ul_fg2_vcs_ckb} |
[Tabela 16. Retorna]

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

Saída:

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


