# OpenAI: GPT-3, ChatGPT e GPT-4

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FxyWMOgG4Wxl1Nc6kdqJz%2FScreenshot%202023-05-26%20at%2014.16.00.png?alt=media&#x26;token=e9196fa5-194b-4661-b805-0e842366d383" alt=""><figcaption><p>Como seu fluxo de fallback deve se parecer se você usar o GPT como uma mensagem "Não Entendida"</p></figcaption></figure>

## O que é o GPT

**GPT** é uma série de sistemas avançados de Processamento de Linguagem Natural desenvolvidos pela OpenAI que permitem executar diversas tarefas baseadas em texto.&#x20;

O **Integração OpenAI** permite gerar respostas no seu chatbot. Como construtor de bots ou designer de conversas, tudo o que você precisa fazer é selecionar o **modelo GPT-3, ChatGPT ou GPT-4** e dizer a ele a consulta correta que define o tipo de resposta que você gostaria, e ele irá criá-la para você!

Para poder usar os modelos GPT no Chatlayer, você precisará [configurar a integração OpenAI](#set-up-the-gpt-3-integration), então [usar essa integração dentro](#use-gpt-3-inside-a-bot) blocos.

{% hint style="warning" %}
Usar a integração OpenAI significa que seus dados são enviados aos serviços da OpenAI, que estão baseados nos Estados Unidos. Certifique-se de entender os [termos de serviço da OpenAI](https://openai.com/terms/) e as implicações. Use a OpenAI em bots de produção com cautela, o Chatlayer não se responsabiliza pelo conteúdo gerado.
{% endhint %}

## \[Vídeo] GPT em conversas voltadas ao cliente

Aqui está um vídeo que fizemos sobre como e por que você poderia agregar valor ao seu bot se usar o GPT.

{% embed url="<https://vimeo.com/911546543?share=copy>" %}

## Configure sua integração OpenAI

Antes de poder usar o GPT dentro de blocos, você precisa conectar uma conta OpenAI à integração OpenAI no Chatlayer. Para isso, você pode precisar de uma chave de API da OpenAI.

{% hint style="success" %}
O Chatlayer fornece aos clientes sua própria **chave de API da OpenAI** para usar o GPT com um limite de 100 mensagens por bot. Isso significa que a partir da 101ª mensagem, o GPT irá parar de gerar e enviar erros. Se você desejar poder usar uma quantidade ilimitada de mensagens geradas pelo GPT, você precisará criar [sua própria chave de API no site da OpenAI](https://platform.openai.com/account/api-keys).
{% endhint %}

Para conectar seu chatbot ao GPT:

{% stepper %}
{% step %}
Na sua página inicial do Chatlayer, vá para **Integrações.**&#x20;
{% endstep %}

{% step %}
Procure por "OpenAI" na barra de pesquisa.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FnP4WnbfZZ5GCkCQ3kZ7b%2FScreenshot%202023-05-26%20at%2013.30.11.png?alt=media&#x26;token=fcb7a22c-78bc-49f7-ba79-78abe7fefb89" alt=""><figcaption><p>Procure por OpenAI e você encontrará a integração OpenAI pronta para ser configurada</p></figcaption></figure>

{% endstep %}

{% step %}
Clique em **Open AI**.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FrElCd4cq8wugAoRbZdo1%2FScreenshot%202023-05-26%20at%2013.32.36.png?alt=media&#x26;token=48383c55-5fd4-4837-b029-dd99a95a45b0" alt=""><figcaption><p>Visão da integração OpenAI quando aberta.</p></figcaption></figure>
{% endstep %}

{% step %}
Clique em **+ Adicionar Conta** para começar a conectar sua conta OpenAI com a integração OpenAI.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FX5g65BQ6JYys2Tjsmlp6%2FScreenshot%202023-05-26%20at%2013.33.29.png?alt=media&#x26;token=b8ee9c44-2b29-4574-a4af-cfa1d63ae52c" alt="" width="278"><figcaption><p>Pop-up para fornecer as credenciais necessárias para conectar a OpenAI ao Chatlayer</p></figcaption></figure>
{% endstep %}

{% step %}
Cole seu token de acesso no **Token de acesso** campo

{% hint style="success" %}
Se você não tiver um token de acesso do Chatlayer, você pode gerar um [aqui](https://app.chatlayer.ai/settings/api-access/tokens).
{% endhint %}

{% endstep %}

{% step %}
Em **Nome de exibição**, escreva um identificador que possa ser usado posteriormente para selecionar esse token de acesso específico ao usar a integração OpenAI dentro de um bot. Neste exemplo, usamos o identificador *Exemplo de Token Chatlayer OpenAI*.
{% endstep %}

{% step %}
Opcionalmente, você pode fornecer um **chave de API da OpenAI**.
{% endstep %}

{% step %}
Clique em **Enviar** quando terminar.
{% endstep %}
{% endstepper %}

A conta OpenAI agora deve estar visível na guia `Contas Conectadas` . Observe que a palavra "Auth" foi adicionada automaticamente na frente do "Nome de Exibição".

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FSJ2LDhfCOgTiC0118RoD%2FScreenshot%202023-05-26%20at%2013.44.10.png?alt=media&#x26;token=c9025c4b-e02b-4d6d-9d1e-c370ec89f3c5" alt=""><figcaption><p>Você pode ver sua conta OpenAI na guia Contas Conectadas.</p></figcaption></figure>

{% hint style="success" %}
Para testar a integração OpenAI, o Chatlayer oferece 100 mensagens por bot. Se isso for suficiente para você, pode deixar o campo da chave OpenAI vazio. Porém, se desejar ter um número ilimitado de mensagens geradas pelo GPT, você precisará [obter sua própria chave de API no site da OpenAI](https://platform.openai.com/account/api-keys).
{% endhint %}

{% hint style="info" %}
Você configurou sua conta GPT e gostaria de ir direto à construção do bot? Nós cobrimos isso com nosso [modelo GPT-3](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/comece-rapidamente/bot-templates/gpt) de bot. Experimente!
{% endhint %}

Sua integração OpenAI está configurada! Agora é hora de usá-la dentro da conversa.

## Como usar modelos OpenAI GPT dentro de um bot

Você precisará fazer duas coisas para que seus clientes possam interagir com o GPT-3, ChatGPT ou GPT-4: gerar uma resposta e exibi-la.

### Gerar uma resposta GPT

Para gerar uma resposta GPT-3, ChatGPT ou GPT-4:

{% stepper %}
{% step %}
Crie um [Ação ](https://docs.chatlayer.ai/bot-answers/dialog-state/action-bot-dialog)bloqueie e abra-o.
{% endstep %}

{% step %}
Procure a integração OpenAI na barra de pesquisa e selecione-a

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FYRqngDLjobhSm7LRuemz%2FScreenshot%202023-05-26%20at%2013.57.39.png?alt=media&#x26;token=5831400f-8d64-47b7-a926-3f0d61c91e79" alt=""><figcaption><p>Procure a integração OpenAI na barra de ferramentas do bloco de Ação e selecione-a.</p></figcaption></figure>

{% endstep %}

{% step %}
Em **conta OpenAI**, selecione sua [conta OpenAI que você conectou ao Chatlayer anteriormente.](#how-to-set-up-your-openai-integration)&#x20;

No nosso caso, chama-se "Auth *Exemplo de Token Chatlayer OpenAI*".

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FrLO8oICZXyp7sDytNjFJ%2FScreenshot%202023-05-26%20at%2013.57.59.png?alt=media&#x26;token=3a41bc74-a503-4cde-aabb-f5653d021b34" alt=""><figcaption><p>Entre na sua conta OpenAI para conectá-la ao bloco de Ação.</p></figcaption></figure>

{% endstep %}

{% step %}
Selecione a ação a ser executada, chamada "**Resposta GPT**".&#x20;

Isso significa que a ação enviará a conversa para a OpenAI e recuperará uma resposta.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2F0cSBVIwZCTCWuNVqwWhy%2FScreenshot%202023-05-26%20at%2013.58.42.png?alt=media&#x26;token=1b1551f2-21e5-4e8e-971e-928e56650971" alt=""><figcaption><p>Selecione a ação para a integração GPT-3.</p></figcaption></figure>

{% endstep %}

{% step %}
Agora, forneça à OpenAI as informações necessárias para poder gerar uma resposta. Estas são chamadas de **Campos de Ação**:

* Preencha o **Descrição do Bot**, que é uma pequena descrição sobre o que seu bot faz. Por exemplo, *um bot de restaurante*.
* Preencha o **Prompt do Bot**, que é uma descrição da resposta que você gostaria que o GPT gerasse. Exemplo: *gerar uma mensagem personalizada para pedir desculpas por um inconveniente*.
* Selecione a **Tipo de modelo**, que pode ser GPT-3, ChatGPT ou GPT-4. Observe que o GPT-4 está disponível apenas no [Chatlayer US](https://docs.chatlayer.ai/support/saas-regions-and-ip-ranges) devido às regulamentações europeias de GDPR.

{% hint style="info" %}
Fique atento: quanto mais longa for a descrição do bot ou o prompt do bot, mais tempo levará para obter uma resposta da OpenAI.
{% endhint %}

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FNwJbQvGIqpvsytzaojuY%2FScreenshot%202023-05-26%20at%2013.59.05.png?alt=media&#x26;token=c6a60131-fb94-4b2e-b5a5-7c44f3a6f392" alt=""><figcaption><p>Preencha os Campos de Ação para que a OpenAI obtenha todas as informações necessárias para gerar uma resposta.</p></figcaption></figure>
{% endstep %}

{% step %}
Clique em **Criar** para salvar seu bloco de Ação integrado ao GPT
{% endstep %}
{% endstepper %}

Você criou um bloco de Ação que usa o GPT para gerar uma resposta com base na descrição do seu chatbot! Agora, vamos ver como podemos exibir essa resposta gerada dentro da conversa.

### Exibir uma resposta GPT

A resposta gerada pelo GPT está disponível nos [sessão](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/bot-answers/session) dados após a execução do bloco de Ação acima. Essa resposta é salva em `{apps.openai.gpt.text}` variável.

Para exibir a resposta do GPT na conversa:

{% stepper %}
{% step %}
Crie um [Mensagem](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state/message-components) bloco.
{% endstep %}

{% step %}
Adicione um campo de texto e preencha-o com o`{apps.openai.gpt.text}` variável.

<figure><img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FfyFpsg72yaerR9rCVIK9%2FScreenshot%202023-05-26%20at%2014.11.14.png?alt=media&#x26;token=409d728c-df70-4f2b-93b9-4b9c81d21532" alt=""><figcaption><p>Adicione a variável que contém a resposta gerada pela OpenAI a um campo de texto para exibi-la na sua conversa.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

Agora você sabe como configurar blocos de Ação que geram uma resposta do GPT e como exibir essa resposta dentro de um bloco.

Nas seções abaixo, usaremos um caso de uso para exemplificar como você pode usar o GPT para seu bot.

<details>

<summary>[Caso de uso] GPT para mensagens de fallback</summary>

Uma maneira de usar a integração OpenAI é como mensagem de fallback para quando seu bot não entendeu a pergunta do usuário.&#x20;

Se você ainda não tem um bot, pode usar um dos nossos pré-construídos [bots modelo](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/comece-rapidamente/bot-templates).

Depois de criar um bot, entre no seu **Geral** fluxo, e abra o **Não compreendido** bloco. A partir daí, modificaremos o **Não compreendido** bloco para que ele use a integração OpenAI:&#x20;

1. Exclua a mensagem de texto dentro do **Não compreendido** bloco clicando no ícone da lixeira
2. No **Ir Para** campo, crie um novo bloco de Ação que você chamará de "Gerar resposta GPT", então salve suas alterações
3. Abra a **Gerar resposta GPT** bloco que você acabou de criar e [configure este bloco de Ação para que integre o GPT](https://docs.chatlayer.ai/integrations/app-integrations/gpt-3-beta#use-gpt-3-inside-a-bot)
4. No campo Ir Para, crie um bloco de Mensagem do Bot e chame-o de "Exibir resposta GPT", então salve suas alterações
5. Abra a **Exibir resposta GPT** bloco e adicione a `{apps.openai.gpt.text}` variável dentro do campo de texto

<img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FxyWMOgG4Wxl1Nc6kdqJz%2FScreenshot%202023-05-26%20at%2014.16.00.png?alt=media&#x26;token=e9196fa5-194b-4661-b805-0e842366d383" alt="How your fallback flow should look like if you use GPT as a Not Understood message" data-size="original">

Se você conversar com seu bot agora e perguntar algo que o bot não sabe, o estado do bloco "Não Entendido" deve ser acionado. Em seguida, a OpenAI será chamada e a resposta será exibida para você.

<img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FWcWNBAlaBwe7U45qwLlV%2FScreenshot%202023-02-15%20at%2012.43.51.png?alt=media&#x26;token=9d4c37c4-eb69-46b7-ac21-585ac372f918" alt="Example of a fallback flow where GPT-3 was asked to generate an apology for an inconvenience in a restaurant bot. " data-size="original">

</details>

<details>

<summary>[Caso de uso] GPT para respostas contextualizadas</summary>

O GPT é capaz de ler toda a conversa entre seu cliente e o bot, o que significa que pode gerar texto com base no contexto da conversa.

Como exemplo de respostas contextualizadas do GPT: &#x20;

1. Crie uma intenção que acionará uma resposta do GPT. Neste exemplo, criamos uma **intent\_not\_delivered** intenção.
2. Crie um bloco de Ação que gere uma resposta do GPT e conecte-o a um bloco que a exiba, conforme [explicado no tutorial acima](#use-gpt-3-inside-a-bot). No nosso exemplo, consultamos o seguinte texto ao GPT-3:

<img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FSmgKCLLZhEELC4ZIMLby%2FScreenshot%202023-02-16%20at%2015.32.33.png?alt=media&#x26;token=fb6df175-63e7-4856-8584-bc961b1d1b2a" alt="Example of action fields for a personalized apology response made by GPT-3" data-size="original">

3. Faça o mesmo para qualquer outro bloco que você gostaria de personalizar. No nosso exemplo, criamos uma intenção chitchat.tell\_a\_joke que aciona uma resposta gerada pelo GPT de uma piada que leva em conta o contexto acima:

<img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FBTObIo2RPGWY8dlX295I%2FScreenshot%202023-02-16%20at%2015.43.35.png?alt=media&#x26;token=6b4f00a3-1ed2-4b7b-bb88-780ccd4b2245" alt="Example of action fields for a personalized joke made by GPT-3 and based on the context of the conversation" data-size="original">

4. Você agora pode ter interações mais contextualizadas com seus clientes!

<img src="https://181262846-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LLTwFwbOqJj4dDhg8Ju%2Fuploads%2FIOCUtj3t5grfMlssYYtq%2FScreenshot%202023-02-16%20at%2015.45.07.png?alt=media&#x26;token=fb58d12e-fa79-4c70-bf22-1194a501f5ef" alt="Conversation sample of a flow that uses GPT-3 to generate a personalized apology then a joke" data-size="original">

</details>

## Limitações dos modelos GPT

GPT-3, ChatGPT e GPT-4 são modelos de IA generativa construídos pela OpenAI, que está localizada nos EUA. Por serem generativos, não controlamos o que o GPT cria. Dependendo da entrada que recebe, a resposta pode ser muito boa, conter informações incorretas ou até ser ofensiva. Portanto, **não recomendamos que o GPT seja usado em produção (ou seja, um bot voltado ao cliente) sem testes rigorosos e entendimento dos riscos**.&#x20;

{% hint style="danger" %}
Não recomendamos que a integração OpenAI seja usada em produção (ou seja, um bot voltado ao cliente). Ainda assim, se você quiser usá-la em produção, você deve [usar sua própria chave de API da OpenAI.](#set-up-the-gpt-3-integration) Por favor, verifique também os [termos de serviço da OpenAI](https://openai.com/terms/) para entender as implicações de usar os serviços da OpenAI.
{% endhint %}


---

# 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.chatlayer.ai/chatlayer-documentation-pt-br/integrateandcode/app-integrations/openai-gpt-3-chatgpt-and-gpt-4.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.
