Setar NLU
Dentro do Builder é possível utilizar os nlus_extras de dois modos:
Input
Ao configurar um input, é possível escolher com qual NLU a resposta do usuário será processada. Caso o nlu_id não esteja na lista que aparece na tela de edição do assistente, o NLU padrão será utilizado.
{
"default": {
"type": "text_input",
"payload": {
"nlu_id": 6
}
}
}
Action
A action set_nlu permite alterar o NLU do assistente, o NLU extra será utilizado em todo o assistente a menos que ocorra um evento de new_dialog, reiniciando a conversa.
[
{
"name": "set_nlu",
"parameters": {
"nlu_id": 7
},
"result_variable": "set_nlu_response"
}
]
Ao usar essa ação uma nova variável de sistema ficará disponível: context.system.nlu_id. A partir desse ponto, qualquer chamada com cognitivo usará esse nlu_id para o processamento.
Caso o nlu_id (tanto da action quanto do input) não esteja na lista que aparece na tela de edição do assistente, o NLU padrão será utilizado e os retornos e erro estarão disponíveis:
se o
nlu_idfor diferente de um número: { 'code': 500, 'message': 'nlu_id is not a number.'}se o
nlu_idusado não estiver na lista denlu_extra: { 'code': 500, 'message': 'There is no nlu with the provided id linked to this assistant.'}
Ao vincular mais de um NLU ao assistente, uma prioridade deverá ser usada. Caso ocorra uma troca de NLU por meio do set_nlu a continuação da conversa será com base no NLU definido pela ação. Porém, se houver uma troca no NLU e posteriormente for enviado um input que corresponde a um nlu_id diferente, o NLU prioritário será àquele fornecido via input. Portanto, a ordem de prioridade no Builder será: nlu_id setada no input > nlu_id de context.system.nlu_id > nlu_id do NLU padrão
Então, caso você tenha usado a action set_nlu e depois tenha um input com nlu_id diferente, o nlu_id usado no input será usado.
Last updated
Was this helpful?