GeniusResultContext - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 8 min. de leitura
  • . GeniusResultContext A API fornece métodos para recuperar informações de consulta de pesquisa do contexto de uma configuração de resultado do Genius.

    Você pode usar os detalhes da consulta de pesquisa recuperados com esta API para preencher os objetos de resposta de resultado do Genius criados com o. GeniusResultAnswer API.

    Use esta API em scripts do lado do servidor do Resultado do Genius com sn_ais identificador de namespace. Para obter mais informações sobre lógica de script para resultados do Genius, consulte Crie uma nova configuração de resultado do Genius .

    GeniusResultContext - getMatchingDocuments()

    Recupera documentos de resultado de pesquisa da consulta de pesquisa que aciona sua configuração de resultado do Genius.

    Use este método em um script do processador de resposta de uma configuração de resultado do Genius para recuperar valores de campo dos documentos de resultado de pesquisa retornados pela consulta de pesquisa que aciona o resultado do Genius. Você pode preencher respostas de resultado do Genius com campos dos documentos de resultado da pesquisa usando GeniusResultAnswer Métodos de API.
    Nota:
    Este método não retorna resultados quando invocado em um AI Search request processorscript, já que o script foi executado antes Pesquisa com IA calcula os resultados da consulta de pesquisa de gatilho. Não use este método nos scripts do processador de solicitação.
    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 2. Retorna
    Tipo Descrição
    [Matriz]

    Matriz de objetos em que cada objeto representa um documento de resultado de pesquisa que correspondeu à consulta de pesquisa.

    Tipo de dados: Matriz

    [
      {
        ".score": Number,
        ".table": "String",
        ".text": "String",
        ".title": "String",
        ".url": "String",
        "class_name": "String",
        "sys_id": "String",
        "<field_name>": <field_value>
      }
    ]
    Nota:
    Alguns dos documentos do resultado da pesquisa são do Pesquisa com IA campos de índice podem aparecer no objeto além dos pares nome-valor listados.
    ..Pontuação

    Pontuação de relevância calculada para o documento de resultado da pesquisa no contexto da consulta de pesquisa.

    Tipo de dados: Número

    Nota:
    O nome deste par nome-valor começa com um ponto para diferenciá-lo do Pesquisa com IAíndices pontuação campo comum.
    ..tabela

    Nome do ServiceNow AI Platform tabela da qual o documento de resultado da pesquisa foi indexado.

    Tipo de dados: Cadeia de caracteres

    Nota:
    O nome deste par nome-valor começa com um ponto para diferenciá-lo do Pesquisa com IAíndices tabela campo comum.
    ..texto

    Texto indexado do documento de resultado da pesquisa.

    Tipo de dados: Cadeia de caracteres

    Nota:
    O nome deste par nome-valor começa com um ponto para diferenciá-lo do Pesquisa com IAíndices texto campo comum.
    ..título

    Título indexado do documento de resultado da pesquisa.

    Tipo de dados: Cadeia de caracteres

    Nota:
    O nome deste par nome-valor começa com um ponto para diferenciá-lo do Pesquisa com IAíndices título campo comum.
    ..url

    URL do documento de resultado da pesquisa.

    Tipo de dados: Cadeia de caracteres

    Nota:
    O nome deste par nome-valor começa com um ponto para diferenciá-lo do Pesquisa com IAíndices url campo comum.
    .class_name

    A classe secundária à qual o documento do resultado da pesquisa pertence. Para obter mais informações sobre classes secundárias de tabela, consulte Table extension and classes.

    Tipo de dados: Cadeia de caracteres

    .sys_id

    Sys_id para o documento de resultado da pesquisa.

    Tipo de dados: Cadeia de caracteres

    .Matriz..<field_name>

    Pesquisa com IA campo de índice do documento de resultado da pesquisa.

    Tipo de dados: O tipo de dados do Pesquisa com IA campo de índice.

    Isso AI Search response processorO script recupera até três documentos de resultado de pesquisa correspondentes à consulta de pesquisa e verifica se algum deles pertence à tabela Conhecimento [kb_knowledge]. Se encontrar um documento de resultado de pesquisa na tabela Conhecimento, a função adicionará os campos desse documento ao GeniusResultAnswer Objeto para que a IU possa exibi-los para o usuário.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
      var matchingDocuments = context.getMatchingDocuments();
      if (matchingDocuments.length > 1) {
        for (var i = 0; i < 3; i++) {
          var currentDocument = matchingDocuments[i];
          if (currentDocument['.table'] == 'kb_knowledge') {
            var gr = new GlideRecord("kb_knowledge");
            if (gr.get(currentDocument['sys_id'])) {
              answer.addDataMap({
                "number": currentDocument['number'],
                "url": currentDocument['.url'],
                "title": currentDocument['.title']
              });
            }
          }
          break;
        }
      }
      return answer;
    }

    GeniusResultContext – getOriginalSearchPhrase()

    Recupera os termos de pesquisa originais da consulta de pesquisa que aciona sua configuração de resultado do Genius.

    Você pode usar termos de pesquisa recuperados para preencher respostas de resultado do Genius usando GeniusResultAnswer Métodos de API.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    Tipo Descrição
    Cadeia de caracteres

    Termos originais da consulta de pesquisa.

    Tipo de dados: Cadeia de caracteres

    Isso AI Search request processoro script obtém os termos originais da consulta de pesquisa e os usa como termos de consulta para uma nova pesquisa de snippet.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      var searchPhrase = context.getOriginalSearchPhrase();
      answer.setSearchPhrase(searchPhrase);
      answer.snippetSearch(true);
    
      return answer;
    }

    GeniusResultContext – getPredictionResult()

    Recupera NLU Resultados de previsão do modelo para a consulta de pesquisa que aciona sua configuração de resultado do Genius.

    Use este método em um script de processador de solicitação ou resposta de uma configuração de resultado do Genius para recuperar a intenção detectada para a consulta de pesquisa de gatilho. Você pode preencher respostas de resultado do Genius com detalhes da intenção detectada usando GeniusResultAnswer Métodos de API.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    [Matriz]

    Matriz de objetos em que cada objeto representa um NLU resultado da previsão de intenção do modelo para a consulta de pesquisa.

    Tipo de dados: Matriz

    [
      {
        "intentName": "String",
        "result": {Object},
        "solutionName": "String"
      }
    ]
    .intentName

    Nome do NLU intenção do modelo detectada na consulta de pesquisa.

    Tipo de dados: Cadeia de caracteres

    .Resultado

    Objeto que representa NLU resultado da previsão de intenção do modelo para a consulta de pesquisa.

    Tipo de dados: Objeto

    "result": {
      "application": {Object},
      "result": {Object},
      "solutionLabel": "String",
      "solutionName": "String",
      "solutionType": "String",
      "type": "String",
      "version": Number
    }
    .result.application

    Objeto que contém metadados para a aplicação de pesquisa que produziu o resultado da previsão.

    Tipo de dados: Objeto

    "application": {
      "language": "String",
      "type": "String"
    }
    .result.application.language

    Contexto de idioma para ServiceNow AI Platform aplicação que produziu o resultado da previsão.

    Tipo de dados: Cadeia de caracteres

    .result.application.type

    Tipo de ServiceNow AI Platform aplicação que produziu o resultado da previsão.

    Tipo de dados: Cadeia de caracteres

    .result.result

    Objeto que inclui detalhes para NLU resultado da previsão de intenção do modelo.

    Tipo de dados: Objeto

    "result": {
      "entities": [Array],
      "intentName": "String",
      "intents": [Array],
      "nluModelName": "String",
      "score": Number
    }
    .result.result.entities

    Matriz de objetos em que cada objeto representa um NLU entidade de intenção do modelo detectada na consulta de pesquisa.

    Tipo de dados: Matriz

    "entities": [
      {
        "matchingSegments": [Array],
        "name": "String",
        "parts": [Array],
        "score": Number,
        "startingPosition": Number,
        "value": "String"
      }
    ]
    .result.result.entity.matchingSegments

    Matriz de objetos em que cada objeto representa um segmento correspondente do detectado NLU entidade.

    Tipo de dados: Matriz

    "matchingSegments": [
      {
        "directMatch": Boolean
        "meta": {Object},
        "value": "String"
      }
    ]
    .result.result.entity.matchingSegments.directMatch

    Sinalizador que indica se NLU o segmento de correspondência de entidade representa uma correspondência exata para o valor da entidade.

    .result.result.entities.matchingSegments.meta

    Objeto que contém campos de par de chave-valor que representam metadados para NLU segmento correspondente da entidade.

    Tipo de dados: Objeto

    "meta": {
      "augmentedBy": "String",
      "colMeta:first_name": "String",
      "colMeta:last_name": "String",
      "compositionStrategy": "String",
      "fieldName": "String",
      "searchPreProcessors": "String",
      "SUB_PHRASE.penalty": "String",
      "tableName": "String"
    }
    .result.result.entity.matchingSegments.value

    Valor da cadeia de caracteres do NLU segmento correspondente da entidade.

    Tipo de dados: Cadeia de caracteres

    [Array].result.result.entities.name

    Nome do detectado NLU entidade, em Entidade:[NLU_model].[Intent].[entity_type] formato.

    Tipo de dados: Cadeia de caracteres

    [Array].result.result.entities.parts

    Matriz de objetos em que cada objeto representa um NLU peça da entidade encontrada no resultado da previsão.

    Tipo de dados: Matriz

    "parts": [
      {
        "meta": {Object},
        "value": "String"
      }
    ]
    .result.result.entidades.parts.meta

    Objeto que contém campos de par de chave-valor que representam metadados para NLU peça da entidade.

    Tipo de dados: Objeto

    "meta": {
      "augmentedBy": "String",
      "colMeta:name": "String",
      "compositionStrategy": "String",
      "fieldName": "String",
      "searchPreProcessors": "String",
      "SUB_PHRASE.penalty": "String",
      "tableName": "String"
    }
    .result.result.entities.parts.value

    Valor da cadeia de caracteres do NLU peça da entidade.

    Tipo de dados: Cadeia de caracteres

    .result.result.entities.score

    Pontuação numérica de 0 a 1 indicando confiança para o detectado NLU entidade.

    Tipo de dados: Número

    .result.result.entity.startingPosition

    Índice numérico da posição do caractere na consulta de pesquisa na qual foi detectado NLU a entidade começa.

    Tipo de dados: Número

    .result.result.entity.value

    Valor da cadeia de caracteres do NLU detectado na consulta de pesquisa.

    Tipo de dados: Cadeia de caracteres

    .result.result.intentName

    Nome do NLU intenção do modelo detectada na consulta de pesquisa.

    Tipo de dados: Cadeia de caracteres

    .result.result.intents

    Matriz de objetos em que cada objeto representa um aninhado NLU intenção do modelo detectada na consulta de pesquisa.

    Os objetos de intenção aninhados incluem os mesmos nomes de parâmetro e tipos de dados que o primário NLU objeto de intenção do modelo.

    Tipo de dados: Matriz

    "intents": [
      {
        "entities": [Array],
        "intentName": "String",
        "intents": [Array],
        "nluModelName": "String",
        "score": Number
      }
    ]
    .result.result.nluModelName

    Nome do NLU modelo que produziu o resultado da previsão.

    Tipo de dados: Cadeia de caracteres

    .result.result.score

    Pontuação numérica de 0 a 1 indicando confiança para NLU resultado da previsão do modelo.

    Tipo de dados: Número

    .result.solutionLabel

    Rótulo para NLU modelo que produziu o resultado da previsão.

    Tipo de dados: Cadeia de caracteres

    .result.solutionName

    Nome do NLU modelo que produziu o resultado da previsão.

    Tipo de dados: Cadeia de caracteres

    .Result.solutionType

    Tipo para NLU modelo que produziu o resultado da previsão.

    Tipo de dados: Cadeia de caracteres

    .result.type

    Tipo do resultado da previsão.

    Tipo de dados: Cadeia de caracteres

    .result.version

    Versão do NLU modelo que produziu o resultado da previsão.

    Tipo de dados: Número

    .solutionName

    Nome do NLU modelo que produziu o resultado da previsão.

    Tipo de dados: Cadeia de caracteres

    Isso AI Search request processoro script verifica se a consulta de pesquisa inclui um NLU resultado da previsão do modelo. Quando encontra um resultado de previsão, ele adiciona os segmentos correspondentes de todas as entidades catalogItem detectadas como termos de pesquisa.

    function process(context) {
      var answer = new sn_ais.GeniusResultAnswer();
    
      answer.setTable('sc_cat_item');
      answer.setSearchLimit(2);
      var predictionResult = context.getPredictionResult();
      if (predictionResult && predictionResult.length == 1) {
        var detail = predictionResult[0];
        if (detail['result'] && detail['result']['entities']) {
          var entities = detail['result']['entities'];
          for (var i = 0; i < entities.length; i++) {
            if (entities[i]['name'].endsWith('catalogItem')) {
              var matchingSegments = entities[i]['matchingSegments'];
              for (var j = 0; j < matchingSegments.length; j++)
                answer.addSearchPhrases([matchingSegments[j]['value']]);
            }
          }
        }
      }
    
      return answer;
    }