# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.altu.d1.cx/build/assistentes/builder/componentes/actions/set_nlu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
