# Busca semântica

A busca semântica no tipo de correspondência dos blocos - é uma IA treinada para extrair contexto das condições incorporadas na mensagem do cliente.

Os blocos têm prioridade sobre o assistente de IA, então você pode usar um bloco com uma condição e uma opção de correspondência "comparação por significado" se quiser enviar ao cliente uma resposta claramente verificada e prescrita.

## Como funciona

A busca semântica compara o **significado** entre a mensagem de um usuário e condições predefinidas, em vez de depender de uma correspondência exata por palavras-chave.

**Princípio central**

O sistema analisa o **contexto e a intenção** na mensagem do usuário e busca uma correspondência com o **significado incorporado na condição de disparo**.

**Fluxo de processamento**

1. A IA extrai o significado semântico da mensagem do cliente.
2. O sistema compara esse significado com as frases semânticas definidas nas condições do disparador.
3. Se ocorrer **correspondência semântica** é encontrada, o chatbot processa o evento correspondente dentro do bloco (por exemplo, enviando uma mensagem específica).

**Exemplo**

Na condição, definimos uma frase semântica (por exemplo, *"encerramento de contas e atos"*). Se a IA identificar esse significado na observação do usuário, ela aciona o bloco de evento associado.

<div data-with-frame="true"><figure><img src="/files/e5e140736834d366c2d225498890a5543b986fcf" alt=""><figcaption></figcaption></figure></div>

A configuração do bloco se parece com isto:

<div data-with-frame="true"><figure><img src="/files/3ead82755dd4795f10e57a20a16e7596ef8ad962" alt="" width="563"><figcaption></figcaption></figure></div>

Ao escolher uma correspondência de "Busca semântica", o bot precisa encontrar palavras/frases com significado semelhante na mensagem do cliente, com base no disparador do bloco:

<div data-with-frame="true"><figure><img src="/files/fe17aade07a93437993566f086375da8b830a8f6" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/5d0330434cd7d7913f34d0dd4c3f9db5762168c5" alt="" width="563"><figcaption></figcaption></figure></div>

Sempre que o bot processa a mensagem do cliente, ele processa corretamente o evento necessário no bloco.

## Como escrever um gatilho

O disparador no campo correspondente é escrito da mesma forma que qualquer outro disparador para qualquer seleção de correspondência:

<div data-with-frame="true"><figure><img src="/files/33eea9e11edef1978ea181a2a12852be1b5abf41" alt="" width="563"><figcaption></figcaption></figure></div>

Criar condições claras, concisas e precisas é fundamental para **o desempenho, a confiabilidade e a experiência do usuário**. Veja por quê isso importa:

* **Processamento correto:** Condições precisas garantem que o chatbot identifique e execute corretamente o evento pretendido.
* **Velocidade de processamento:** Frases complexas, ambíguas ou prolixas aumentam o tempo de processamento da IA e podem degradar a velocidade de resposta.
* **Confiabilidade do esquema:** Uma redação vaga aumenta o risco de má interpretação, podendo fazer seu fluxo de trabalho se comportar incorretamente.

Evite palavras excessivamente complexas, termos ambíguos e frases longas com várias sentenças nas suas condições.

**Exemplo de uma condição de disparo eficaz**

<div data-with-frame="true"><figure><img src="/files/343bb54fec75a87d0c5c5db4526b0e7da469ae04" alt="" width="563"><figcaption></figcaption></figure></div>

Um exemplo de uma <mark style="color:vermelho;">**condição de disparo INCORRETA**</mark>:

<div data-with-frame="true"><figure><img src="/files/9f6d6b821b3fd6dbd63680ea5d13cbd2596c305e" alt="" width="563"><figcaption></figcaption></figure></div>

{% hint style="danger" %}
**Evite condições de disparo com uma única palavra**

Embora as condições devam ser concisas, elas também precisam ser **semanticamente significativas**. Uma única palavra (por exemplo, “invoice”) geralmente não fornece contexto suficiente para uma correspondência semântica precisa.

**Use frases descritivas**

Em vez de palavras isoladas, use frases curtas e descritivas que capturem a intenção.

**Exemplo:**

❌ `"invoice"`\
✅ `"pagamento mensal da fatura"`

Isso fornece um contexto mais claro para o modelo de IA realizar uma comparação semântica precisa.

**Princípio-chave**

A IA compara o *significado* das condições, não apenas palavras-chave. Uma frase bem definida estabelece os critérios semânticos necessários para uma correspondência confiável.
{% endhint %}

### **Exemplo**

Quando você escreve disparadores mais detalhados para a Busca Semântica, a IA entende o contexto e responde rapidamente.

<div data-with-frame="true"><figure><img src="/files/c49adbe45eb4349ec9eb8b9148b6d9a36043d6b7" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/b3f1cff2e81b33094a6afa5131713861f5644b17" alt="" width="563"><figcaption></figcaption></figure></div>

Se você definir uma condição de disparo usando apenas uma **única palavra** (como no exemplo abaixo), a IA pode **não conseguir detectar contexto suficiente** e não acionará uma resposta, resultando em silêncio.

<div data-with-frame="true"><figure><img src="/files/7b1b85ea12ec293d8a4329bcb7e2e1fbb707b185" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/eb35d0f8d972605c3055c362718c5e11e416994f" alt="" width="563"><figcaption></figcaption></figure></div>

Além disso, o bloco com as configurações corretas não funciona porque a IA não consegue encontrar o disparador do bloco correto na mensagem do cliente e não consegue enviar nenhuma mensagem.

{% hint style="warning" %}

#### Tenha cuidado

Além disso, se o disparador para a Busca Semântica estiver incorreto (curto demais ou ambíguo), a IA pode responder a esses disparadores no momento errado ou no lugar errado.
{% endhint %}

## **Exemplo de chatbot Smart Station com IA**

{% hint style="success" %}
Neste exemplo, demonstraremos claramente a prioridade dos blocos sobre os assistentes de IA e a busca por contexto na mensagem do cliente com a opção do tipo Busca Semântica.
{% endhint %}

No construtor de chatbot, criamos dois blocos "Start", em cada um dos quais escolhemos o tipo "Busca Semântica" e a mensagem "Ligar/desligar a luz":

1. Bloco 1 "Ligar a luz"

<div data-with-frame="true"><figure><img src="/files/73005799a346044b09395f40ec2be818efd8b39b" alt="" width="563"><figcaption></figcaption></figure></div>

2. Bloco 2 "Desligar a luz"

<div data-with-frame="true"><figure><img src="/files/6140e0ba565beebfc47b1cdf025ab280ba6a50a8" alt="" width="563"><figcaption></figcaption></figure></div>

Para entender que foi o bloco que foi processado, e não o assistente de IA, adicionaremos uma linha adicional na mensagem de cada bloco.

Em seguida, mudamos para o assistente de IA.

Criando um bot com a função de "Assistente de IA Universal".

<div data-with-frame="true"><figure><img src="/files/af8b7d6bf3ca17f9c195e20cc667b4be00e6f4f3" alt="" width="563"><figcaption></figcaption></figure></div>

Para fins de demonstração, não aplicaremos nenhuma restrição ao comportamento do assistente ao processar blocos.

Todas as configurações estão concluídas. Vamos prosseguir para os testes.

1. Inicie uma conversa com a smart station para começar.

<div data-with-frame="true"><figure><img src="/files/4500a7690b30e12d8c18f720a1aa236c97d606a5" alt="" width="375"><figcaption></figcaption></figure></div>

Como não limitamos a estação de forma alguma, ela pode falar sobre tópicos completamente abstratos.

2. Agora, no contexto da nossa mensagem, escrevemos o significado principal - ligar ou desligar a luz:

<div data-with-frame="true"><figure><img src="/files/6ca07dcc6d4cfe4dce4bb1dd83706e50378f4908" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/c100a9cf28ebca8f57d9214d00fd1207d058b2e3" alt="" width="375"><figcaption></figcaption></figure></div>

O bot funcionou corretamente.

Assim, nos momentos em que o disparador do bloco não é atendido, o assistente funciona.

No entanto, se o bot detectar o contexto definido pela condição do bloco, o próprio bloco será acionado.


---

# 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.mavibot.ai/doc/pt/chatbot/ai/search.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.
