# Búsqueda semántica

La búsqueda semántica en el tipo de coincidencia de bloques es una IA entrenada para extraer contexto de las condiciones incrustadas en el mensaje del cliente.

Los bloques tienen prioridad sobre el asistente de IA, por lo que puedes usar un bloque con una condición y una opción de coincidencia de "comparación por significado" si quieres enviar al cliente una respuesta claramente verificada y prescrita.

## Cómo funciona

La búsqueda semántica compara el **significado** entre el mensaje de un usuario y las condiciones predefinidas, en lugar de basarse en una coincidencia exacta de palabras clave.

**Principio básico**

El sistema analiza el **contexto y la intención** dentro del mensaje del usuario y busca una coincidencia con el **significado incorporado en la condición del disparador**.

**Flujo de procesamiento**

1. La IA extrae el significado semántico del mensaje del cliente.
2. El sistema compara este significado con las frases semánticas definidas en las condiciones del disparador.
3. Si ocurre un **coincidencia semántica** se encuentra, el chatbot procesa el evento correspondiente dentro del bloque (por ejemplo, enviar un mensaje específico).

**Ejemplo**

En la condición, definimos una frase semántica (por ejemplo, *"cierre de cuentas y actos"*). Si la IA identifica este significado dentro del comentario del usuario, activa el bloque de evento asociado.

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

La configuración del bloque se ve así:

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

Al elegir una coincidencia de "búsqueda semántica", el bot necesita encontrar palabras/frases de significado similar en el mensaje del cliente, que se basan en el disparador del bloque:

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

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

Cada vez que el bot procesa el mensaje del cliente, procesa correctamente el evento necesario en el bloque.

## Cómo escribir un disparador

El disparador en el campo correspondiente se escribe de la misma manera que cualquier otro disparador para cualquier selección de coincidencia:

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

Crear condiciones claras, concisas y precisas es fundamental para **el rendimiento, la fiabilidad y la experiencia del usuario**. He aquí por qué importa:

* **Procesamiento correcto:** Las condiciones precisas garantizan que el chatbot identifique y ejecute correctamente el evento previsto.
* **Velocidad de procesamiento:** Las frases complejas, ambiguas o extensas aumentan el tiempo de procesamiento de la IA y pueden degradar la velocidad de respuesta.
* **Fiabilidad del esquema:** Una redacción vaga aumenta el riesgo de mala interpretación, lo que podría hacer que tu flujo de trabajo funcione incorrectamente.

Evita palabras demasiado complejas, términos ambiguos y frases largas de varias oraciones en tus condiciones.

**Ejemplo de una condición de disparador eficaz**

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

Un ejemplo de una <mark style="color:rojo;">**condición de disparador INCORRECTA**</mark>:

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

{% hint style="danger" %}
**Evita las condiciones de disparador de una sola palabra**

Aunque las condiciones deben ser concisas, también deben ser **semánticamente significativas**. Una sola palabra (por ejemplo, “factura”) a menudo no aporta suficiente contexto para una coincidencia semántica precisa.

**Usa frases descriptivas**

En lugar de palabras aisladas, utiliza frases cortas y descriptivas que capturen la intención.

**Ejemplo:**

❌ `"factura"`\
✅ `"pago mensual de la factura"`

Esto proporciona un contexto más claro para que el modelo de IA realice una comparación semántica precisa.

**Principio clave**

La IA compara el *significado* de las condiciones, no solo las palabras clave. Una frase bien definida establece los criterios semánticos necesarios para una coincidencia fiable.
{% endhint %}

### **Ejemplo**

Cuando escribes disparadores más detallados para la Búsqueda semántica, la IA entiende el contexto y responde rápidamente.

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

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

Si defines una condición de disparador usando solo una **sola palabra** (como en el ejemplo siguiente), la IA puede **no detectar suficiente contexto** y no activará una respuesta, lo que dará como resultado silencio.

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

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

Además, el bloque con la configuración correcta no funciona porque la IA no puede encontrar el disparador del bloque correcto en el mensaje del cliente y no puede enviarle ningún mensaje.

{% hint style="warning" %}

#### Ten cuidado

Además, si el disparador para la Búsqueda semántica es incorrecto (demasiado corto o ambiguo), la IA puede responder a esos disparadores en el momento equivocado o en el lugar equivocado.
{% endhint %}

## **Ejemplo de chatbot de IA de estación inteligente**

{% hint style="success" %}
En este ejemplo, demostraremos claramente la prioridad de los bloques sobre los asistentes de IA y la búsqueda por contexto en el mensaje del cliente con la opción del tipo Búsqueda semántica.
{% endhint %}

En el creador del chatbot, creamos dos bloques "Start", en cada uno de los cuales elegimos el tipo "Búsqueda semántica" y el mensaje "Encender/apagar la luz":

1. Bloque 1 "Encender la luz"

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

2. Bloque 2 "Apagar la luz"

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

Para entender que fue el bloque el que se ejecutó, y no el asistente de IA, añadiremos una línea adicional en el mensaje de cada bloque.

A continuación, cambiamos al asistente de IA.

Creando un bot con el rol de "Asistente de IA universal".

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

A efectos de demostración, no aplicaremos ninguna restricción al comportamiento del asistente al procesar bloques.

Ahora todas las configuraciones están completas. Pasemos a las pruebas.

1. Inicia un chat con la estación inteligente para comenzar.

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

Como no hemos limitado la estación de ninguna manera, puede hablar de temas completamente abstractos.

2. Ahora, en el contexto de nuestro mensaje, escribimos el significado clave: encender o apagar la luz:

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

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

El bot funcionó correctamente.

Así, en los momentos en que no se cumplen los disparadores del bloque, actúa el asistente.

Sin embargo, si el bot detecta el contexto definido por la condición del bloque, se activará el propio bloque.


---

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