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_id for diferente de um número: { 'code': 500, 'message': 'nlu_id is not a number.'}

  • se o nlu_id usado não estiver na lista de nlu_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