CONECTANDO O CHATGPT AO PYTHON

Adicionado em 16/10/2023 - Atualizado em 23/01/2024

Compartilhar em:

Atualização:

Desde a primeira publicação deste artigo, houveram modificações na API do OpenAI que fizeram com que o código fornecido aqui não funcionasse de forma adequada.

Como mostrado no nosso vídeo, publicado no youtube, mostramos a nova forma de comunicação com a AI.

O código modificado esta mostrado abaixo.

Como já havíamos feito anteriormente em Delphi (Veja aqui), vamos mostrar aqui como conectar o API do OpenAI, que dá vida ao ChatGPT, a um aplicativo desenvolvido em Python.

Primeiramente, abrimos o nosso NotePad++, iniciamos um novo documento e mudamos a linguagem para Python, como na figura a seguir:

Para iniciar o nosso código, vamos primeiro instalar o pacote OpenAI para que possamos utilizar sua biblioteca.

Após a instalação deste pacote, vamos começar importando três bibliotecas para este programa: openai, sys, e msvcrt. Para isso, comece a adicionar os seguintes comandos ao seu arquivo no NotePad++:

Para você poder utilizar a API do OpenAI você precisa criar a sua chave (key) de comunicação única, que funciona como um password. O passo-a-passo de como criar esta chave esta mostrado no tutorial de como conectar o ChatGPT ao Delphi (Veja aqui o tutorial).

Agora, vamos adicionar a nossa chave de acesso ao nosso código. Para isso adicione as duas linhas seguintes ao seu código inicial:

Como visto aqui, utilizamos o arquivo "gpt.txt" que contém a nossa key para se comunicar com o ChatGPT. Como sugerido no video, existem formas mais seguras de armazenar esta key, tal como encriptando ela e adicionado ao registro do Windows.

Uma das limitações da engine do OpenAI é que ele tem um limite de texto que pode ser mantido em sua memória e acessado pela inteligência artificial durante seu diálogo. Esse valor é dado em número de tokens cujo qual pode ser caracterizado por sílabas, peçados de palavras ou palavras inteiras.

O número máximo de Token permitido pelo OpenAI é um pouco mais que 4000. Nesse caso, vamos dar uma pequena folga e vamos criar uma constante máxima de token para limitar o tamanho de token usado pelo nosso programa em 3800. Assim sendo, adicionamos a linha: MAX_TOKENS_HISTORICO = 3800

Feito isso, vamos garantir que o número de tokens não seja ultrapassado adicionado a seguinte função:

Agora, vamos criar a entrada do usuário com a seguinte função:

Como mostrado no tutorial para conectar o ChatGPT ao Delphi, existem diversos parâmetros para configurar o ChatGPT. Um deles é a chamada Temperatura, que permite que a resposta seja mais conservativa ou mais ousada. Isso é controlado por um fator que inicia em 0.0 para respostas muito básicas, até 1.0 para respostas mais ousadas. Valores superiores a 1.0 podem ser usados, mas podem gerar respostas que não fazem sentido algum.

Desta forma, vamos permitir que o usuário do nosso aplicativo defina a Temperatura a ser utilizada com a seguinte função:

Por fim, vamos começar a criar as conexões e chamar as nossas funções adicionando o seguinte:

Aqui, utilizamos a engine gpt-3.5-turbo que corresponde ao ChatGPT 3.5. Voce pode escolher diversos tipos de engines como mostrado no nosso outro tutorial em Delphi.

Quando tiver finalizado o seu código completo deve ser:

Salve seu arquivo em uma pasta desejada. Aqui chamamos nosso arquivo de main.py.

Agora, para testar o seu programa, volte ao prompt de comando digite Python seguido do endereço do seu arquivo Python: