# Contexto

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F4ZGlsMIzIXwj9GxEsEVV%2FScreenshot%202024-08-26%20at%2015.20.43.png?alt=media&#x26;token=cc2a6893-ed53-4dba-a638-4dac6b560579" alt=""><figcaption></figcaption></figure>

O contexto torna possível reutilizar a mesma intenção em vários blocos, um recurso importante na construção de bots!&#x20;

<details>

<summary>Exemplo</summary>

Vamos aprender a usar contexto com este exemplo curto:

Então, construímos um bot que pode ajudar os usuários a fazer um pedido de comida. Em um ponto da conversa, o bot perguntará ao usuário se ele quer uma sobremesa grátis. O usuário pode responder 'sim' ou 'não'. Um pouco mais adiante na conversa, o bot perguntará ao usuário se ele está pronto para fazer o pedido. Novamente, o usuário pode responder 'sim' ou 'não'.&#x20;

Precisamos de contexto para que o 'sim' ou 'não' conduzam a fluxos diferentes dependendo de onde são ditos na conversa.

</details>

## Adicione contexto ao seu fluxo

Para usar contexto em uma intenção:

1. Certifique-se de que você [criou intenções](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/natural-language-processing-nlp/intents#add-a-new-intent) e as vinculou a [blocos](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state). Neste exemplo, usaremos **general\_yes** e **general\_no** intenções.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FL4Qd9LXP5LjeInMuhqWD%2FScreenshot%202023-05-08%20at%2016.21.37.png?alt=media&#x26;token=32f1fc49-8cfe-46a9-95ea-dbd3ac798776" alt=""><figcaption><p>Dois blocos, um para cada possível resposta do usuário</p></figcaption></figure>

2. Abra o bloco que contém a pergunta. &#x20;
3. Vá para a **NLP** seção.&#x20;
4. Em **Dar contexto de saída e tempo de vida**, crie um **contexto de saída.** Para este exemplo, o chamaremos de **book\_ticket** com um **tempo de vida** de &#x31;**.**

{% hint style="info" %}
O **tempo de vida** designa quantas vezes um contexto pode ser definido ao longo de toda a conversa. Por exemplo: Se o bot oferecer sobremesa grátis duas vezes em uma conversa, devemos colocar o **tempo de vida** em 2 porque o usuário pode dizer *sim* ou *não* duas vezes a essa pergunta. Neste exemplo, ofereceremos sobremesa grátis apenas uma vez, então manteremos o **tempo de vida** em 1.
{% endhint %}

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FBeQvEKVEJsgT4VY6qXXH%2FScreenshot%202023-05-08%20at%2009.59.18%20(1).png?alt=media&#x26;token=5550302f-561c-4c50-890a-399a29dfe69b" alt=""><figcaption><p>Adicione um contexto de saída e tempo de vida a um bloco.</p></figcaption></figure>

5. Clique **Salvar**.
6. Abra seu [bloco de intenção](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state#intent). Por exemplo, abra o **general\_yes** bloco de intenção.
7. Navegue até a **NLP** aba.
8. Em **Contexto requerido**, procure o contexto que você acabou de criar. Neste exemplo será **book\_ticket**.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FM1ZLCpbVh1Yxci7rxMcw%2FScreenshot%202023-05-08%20at%2010.05.24.png?alt=media&#x26;token=7fd05b84-b91f-41f1-a785-2c791f74b4a2" alt=""><figcaption><p>Adicione um contexto exigido a um bloco de intenção.</p></figcaption></figure>

9. Clique **Salvar**.

<details>

<summary>Dicas sobre visualização de contexto na tela</summary>

Do seu [canvas](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/bot-builder/flows), visualizar contexto à primeira vista pode não ser tão simples.

* **Passe o mouse para ver o contexto**

Ao passar o mouse sobre o contexto de entrada ao lado do título da intenção, você pode visualizar instantaneamente o contexto exigido que acabou de configurar. Isso lhe dá uma visão clara dos requisitos de contexto para sua intenção, permitindo que você faça os ajustes necessários.

<img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FnQmuwBHnMaLDhsKZieHN%2FScreenshot%202024-08-27%20at%2010.01.09.png?alt=media&#x26;token=6b4be4eb-4b59-4c78-bd7a-1fab5893552d" alt="" data-size="original">

* **Use conexões de pai**

Para melhorar a visualização, você pode definir o **Faça uma pergunta** bloco como um [pai](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/bot-builder/flows/canvas-functionalities#parent-child-connections) para o bloco de intenção. Isso cria uma conexão visual clara que melhora a legibilidade.

<img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FL1yCyz42rJFIT8iuIFXt%2FScreenshot%202024-08-27%20at%2009.54.00.png?alt=media&#x26;token=6c57972f-f4c5-4d2b-9c04-e09b653a0c83" alt="" data-size="original">

</details>

10. Siga o mesmo processo para outros pontos da conversa onde essas intenções são usadas. Assim, você pode ter certeza de que o bot fornece a resposta certa!

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FC3shTNZ2OMBimDHJOo9m%2FScreenshot%202023-05-08%20at%2016.06.10.png?alt=media&#x26;token=de762701-04b4-4528-a3fa-23362274b0b1" alt=""><figcaption><p>Use as mesmas intenções em diferentes pontos da conversa usando contexto.</p></figcaption></figure>

{% hint style="warning" %}
Um usuário pode ter múltiplos contextos ao navegar entre diferentes fluxos de conversa. Quando várias combinações de intenções e contextos de entrada são encontradas, é considerado o contexto do usuário com o maior valor de tempo de vida.
{% endhint %}
