# Base de conhecimento

## Estrutura

```javascript
[
    {
        "default": {
            "type": "knowledge_base",
            "payload": {
                "base_id": "base_id || array",
                "intent": "<? intent ?>",
                "entity": "<? entities ?>",
                "no_answer_messages": [
                    "Desculpe!",
                    "Não encontrei respostas para a sua pergunta",
                    "delay": 2000
                ]
            }
        }
    }
]
```

### Atributos

* **type:** knowledge\_base
* **payload:**
  * **base\_id:** número identificador da base (Exemplo 1) || conjunto condicional (Exemplo 2)
  * **intent (default: `<? intent ?>`):** intenção que compõe a filtragem pelas respostas. Pode ser passada por variável de contexto, por exemplo: `$variavel_com_intent`
  * **entity (opcional, default: `<? entities ?>`):** entidades que irão compor a busca por uma resposta na base de conhecimento. Podem passar por variáveis de contexto, como por exemplo: `$variavel_com_entidade`
  * **no\_answer\_messages:** mensagem que é exibida ao usuário, caso uma resposta não seja encontrada, dadas as demais configurações do payload.
  * **delay (opcional):** tempo (milissegundos) de atraso antes da próxima opção aparecer. Sendo de 0 á 5000, se for inserido um valor acima de 5000 o delay é descartado.

## Exemplos

{% tabs %}
{% tab title="Exemplo 1" %}

```javascript
[
    {
        "default": {
            "type": "knowledge_base",
            "payload": {
                "intent": "<? intent ?>",
                "base_id": 1,
                "no_answer_messages": [
                    "Desculpe!",
                    "Não encontrei respostas para a sua pergunta"
                ]
            }
        }
    }
]
```

{% endtab %}

{% tab title="Exemplo 2" %}

```javascript
{
    "default": {
        "type": "knowledge_base",
        "payload": {
            "intent": "<? intent ?>",
            "base_id": [
                {
                    "base_id": 1,
                    "condition": "($variavel == 'valor' && ($variavel2 == 'valor2' || $variavel3 == 'valor3'))"
                },
                {
                    "base_id": 4,
                    "condition": "true"
                }
            ],
            "no_answer_messages": [
                "Desculpe!",
                "Não encontrei respostas para a sua pergunta"
            ]
        }
    }
}
```

{% endtab %}
{% endtabs %}


---

# 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/output/knowledge_base.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.
