CONECTANDO O CHATGPT AO PYTHON
Adicionado em 16/10/2023 - Atualizado em 23/01/2024
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: