WEB3DEV

Cover image for Como usar a API ChatGPT para interação direta do Colab ou Databricks
Diogo Jorge
Diogo Jorge

Posted on

Como usar a API ChatGPT para interação direta do Colab ou Databricks

Você já se perguntou como pode usar a API do OpenAI para interagir diretamente com os algoritmos GPT? É fácil, grátis e também mais poderoso do que a interface Web “clássica” da www.openai.com. No tutorial a seguir, guiarei você por algumas etapas simples que permitirão que você use o GPT para geração de texto, criação de imagem, ou correção de bugs do seu código!

Image description

Imagem por Unsplash

À medida que aumenta o uso do ChatGPT e de outras soluções de processamento de linguagem natural (NLP), aumenta também o número de ferramentas e plataformas que permitem aos usuários interagir com esses recursos de ponta. Uma das opções mais populares é a interface da Web OpenAI, que recebeu muitos elogios por sua capacidade de lidar com tarefas complexas de NLP.

Hoje, porém, vamos explorar uma alternativa: a API ChatGPT. Este artigo está dividido em três seções principais:

  1. Configure sua conta OpenAI e crie uma chave de API \
  2. Estabeleça a conexão geral do Google Colab \
  3. Experimente diferentes solicitações: geração de texto, criação de imagens e correção de bugs

Observe: Embora este tutorial tenha sido feito no Google Colab (gratuito), você pode querer experimentar outros ambientes. Por exemplo, todo o código também foi aplicado no Databricks.

#1 Configure sua conta OpenAI e crie uma chave de API

Para interagir com os algoritmos GPT, você precisa se inscrever em uma conta OpenAI (gratuita): https://platform.openai.com/signup/.

Depois de se registrar e se inscrever, você precisará criar uma chave de API que permitirá enviar solicitações ao OpenAI de serviços de terceiros, como Google Colab ou Databricks. Navegue até a seção "Exibir chave de API" no menu do usuário ou use o seguinte link: https://platform.openai.com/account/api-keys.

Nesta seção, basta clicar em “Criar nova chave secreta” e salvar a chave criada em algum lugar do seu computador (você precisará dela em breve!).

Image description

Captura de tela do autor

Observe que a API do ChatGPT está oferecendo uso de teste gratuito (a partir de hoje) com solicitações e tokens limitados por minuto. Veja os limites de taxa abaixo [1]:

  • Usuários de avaliação gratuita: 20 RPM 40000 TPM
  • Usuários pré-pagos (primeiras 48 horas): 60 RPM 60000 TPM
  • Usuários pré-pagos (após 48 horas): 3.500 RPM 90.000 TPM

(RPM = solicitações por minuto; TPM = tokens por minuto)

#2 Estabeleça a conexão geral do Colab

A maneira mais fácil e direta de testar a API é usar o Google Colaboratory (“Colab”), que é algo como “um ambiente de notebook Jupyter gratuito que não requer configuração e é executado inteiramente na nuvem.” Embora existam muitos outros ambientes profissionais que você pode querer explorar (por exemplo, Databricks), acho que o Colab não é um serviço ruim para dar os primeiros passos com a API ChatGPT.

Para configurar um ambiente básico para ChatGPT dentro do Colab, você pode seguir as próximas etapas:

  1. Abra https://colab.research.google.com/ e registre-se para uma conta gratuita.
  2. Crie um novo notebook dentro do Colab.
  3. Instale e use o pacote openai:
pip instalar openai
Enter fullscreen mode Exit fullscreen mode

Para executar uma solicitação de chat simples para a API usando o modelo turbo GPT 3.5 (veja outros modelos disponíveis em sua documentação no link no final deste artigo), semelhante ao que você conhece da interface Web OpenAI, você pode simplesmente executar as seguintes linhas de código em seu notebook:

import os
import openai

openai.api_key = "please-paste-your-API-key-here"

openai.ChatCompletion.create(
 model="gpt-3.5-turbo",
 messages=[
   {"role": "user", "content": "Hello ChatGPT, does this work?"}
 ]
 )
Enter fullscreen mode Exit fullscreen mode

Assim que você executa o comando no Colab, recebe como resposta um objeto JSON que contém a resposta esperada! (Isso foi fácil, não foi?)

Olá! Como modelo de linguagem de IA, não tenho o contexto a que \”isso\” se refere. Você poderia especificar a que se refere para que eu possa ajudá-lo melhor?

<OpenAIObject chat.completion id=chatcmpl-70ErnAfGGwU7GhMXzCcLGyUvr4hA2 at 0x7f097f0a5f40> JSON: {
 "choices": [
   {
     "finish_reason": "stop",
     "index": 0,
     "message": {
       "content": "Hello! As an AI language model, I don't have the context of what \"this\" refers to. Could you please specify what you are referring to so I can assist you better?",
       "role": "assistant"
     }
   }
 ],
 "created": 1680291503,
 "id": "chatcmpl-70ErnAfGGwU7GhMXzCcLGyUvr4hA2",
 "model": "gpt-3.5-turbo-0301",
 "object": "chat.completion",
 "usage": {
   "completion_tokens": 38,
   "prompt_tokens": 17,
   "total_tokens": 55
 }
}
Enter fullscreen mode Exit fullscreen mode

Além disso, o objeto JSON fornece informações sobre a quantidade de tokens utilizados e o motivo do fim da requisição. Se você deseja apenas imprimir a resposta de texto, pode acessar este elemento modificando ligeiramente seu código:

import os
import openai

openai.api_key = "please-paste-your-API-key-here"

response = openai.ChatCompletion.create(
 model="gpt-3.5-turbo",
 messages=[
   {"role": "user", "content": "Hello ChatGPT, does this work?"}
 ]
 )

print(response.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

#3 Experimente diferentes solicitações: geração de texto, criação de imagens e correção de bugs

Se você ficou tão empolgado quanto eu quando descobri isso, pode começar a enviar várias solicitações diferentes para a API. Uma maneira útil de modularizar seu código é criar algumas funções úteis que você deseja chamar para diferentes propósitos. Deixe-me dar-lhe algumas ideias.

Função para conversar com ChatGPT

O código a seguir simplesmente resume o trabalho feito até agora em uma função chamável que permite fazer qualquer solicitação ao GPT e obter apenas a resposta de texto como resultado.

import os
import openai

openai.api_key = "please-paste-your-API-key-here"

def chatWithGPT(prompt):
 completion = openai.ChatCompletion.create(
 model="gpt-3.5-turbo",
 messages=[
 {"role": "user", "content": prompt}
 ]
 )
 return print(completion.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

Você acha que faz sentido aprender Python? Vamos perguntar ao GPT!

chatComGPT ("é uma boa ideia começar a aprender Python?")

Como um modelo de linguagem de IA, não posso fornecer opiniões pessoais, mas posso dizer que o Python é uma linguagem de programação popular e amplamente usada, altamente preferida por iniciantes e desenvolvedores experientes. Possui um vasto suporte comunitário, um grande número de bibliotecas e uma sintaxe simples que facilita o entendimento para os iniciantes em programação. É útil para várias aplicações, como análise de dados, desenvolvimento web, aprendizado de máquina e muito mais. Portanto, pode ser uma boa ideia começar a aprender Python se você deseja seguir uma carreira em programação ou adicionar outra habilidade ao seu currículo.

Função para corrigir bugs em seu código

Outro caso de uso do ChatGPT é obter ideias para corrigir seu código. Imagine que seu comando Python retorna um erro e você deseja obter conselhos sobre o que fazer sem usar o Google ou o StackOverflow:

import os
import openai

openai.api_key = "please-paste-your-API-key-here"

def fixMyCode(code):
 completion = openai.ChatCompletion.create(
 model="gpt-3.5-turbo",
 messages=[
   {"role": "user", "content": "find error in my python script below and fix it: " + code}
 ]
 )
 return print(completion.choices[0].message.content)
Enter fullscreen mode Exit fullscreen mode

Veja, meu código Python gerou um erro e não sei por quê…

fixMyCode("""

def some_function():
   print("I'm going to sleep")
   time.sleep(10)
   print("I'm awake again")

some_function()

""")
Enter fullscreen mode Exit fullscreen mode

Image description

Captura de tela do autor

Nenhuma surpresa, mas o ChatGPT descobriu imediatamente que eu havia esquecido de importar o módulo antes de usá-lo. Isso pode ser muito útil na vida cotidiana, especialmente quando você pode pedir ajuda diretamente do ambiente de programação.

Função para criar imagens

O último caso de uso que gostaria de apresentar aqui é a criação de imagens. A própria solicitação retorna um hiperlink contendo a imagem. Usando a biblioteca IPhython, você pode exibir a imagem diretamente em seu notebook.

import IPython
import os
import openai

openai.api_key = "please-paste-your-API-key-here"

def createImageWithGPT(prompt):
 completion = openai.Image.create(
 prompt=prompt,
 n=1,
 size="512x512"
 )
 return IPython.display.HTML("<img src =" + completion.data[0].url + ">")
Enter fullscreen mode Exit fullscreen mode

Vamos ser criativos e pedir um gato dirigindo um skate!

createImageWithGPT("Gato dirigindo um skate")

Image description

Imagem criada por ChatGPT, captura de tela do autor

Resumo

Com a API do ChatGPT, empresas e indivíduos podem incorporar chatbots de maneira fácil e econômica em seu fluxo de trabalho sem o conhecimento técnico ou os recursos extensivos normalmente necessários. A API também pode ser usada para criar assistentes virtuais, tutores pessoais e muito mais. Recomendo a documentação disponibilizada pela OpenAI para sua API: https://platform.openai.com/docs/api-reference.

Em resumo, é fácil usar a API em seu ambiente de programação. Isso pode ser útil não apenas para a correção direta de bugs do seu código, mas também mostrou taxas de resposta mais estáveis ​​em comparação com a interface da Web do OpenAI (às vezes indisponível). Com a capacidade de entender a linguagem natural e ficar mais inteligente com o tempo, o ChatGPT tem o potencial de revolucionar a maneira como as empresas interagem com seus clientes e simplificar seus fluxos de trabalho. Experimente você mesmo e experimente o futuro dos chatbots!

Jonas Dieckmann - Medium

Espero que você ache útil. Deixe-me saber a sua opinião! E sinta-se à vontade para se conectar no LinkedIn https://www.linkedin.com/in/jonas-dieckmann/ e/ou me seguir aqui no medium.

Este artigo foi escrito por Jonas Dieckmann e traduzido por Diogo Jorge. O artigo original pode ser encontrado aqui.

Top comments (0)