GeniusResultContext - Com escopo
. 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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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
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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| 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 | 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 | Objeto que contém metadados para a aplicação de pesquisa que produziu o resultado da previsão. Tipo de dados: Objeto |
| .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.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 |
| .result.result.entity.matchingSegments | Matriz de objetos em que cada objeto representa um segmento correspondente do detectado NLU entidade. Tipo de dados: Matriz |
| .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 |
| .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 |
| .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 |
| .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 |
| .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;
}