Domine a API do ChatGPT: Guia Completo para Desenvolvedores

Principais Descobertas

  • A OpenAI disponibilizou a API do ChatGPT, possibilitando que desenvolvedores integrem as funcionalidades do ChatGPT em seus aplicativos.
  • Para iniciar, é necessário possuir uma chave de API da OpenAI e um ambiente de desenvolvimento com as bibliotecas oficiais.
  • A API do ChatGPT pode ser utilizada em tarefas de conclusão de texto e conversas, ampliando as possibilidades para diversas aplicações.

Com a introdução de sua API, a OpenAI democratizou o acesso aos recursos do ChatGPT. Agora, é viável incorporar as capacidades do ChatGPT de maneira integrada em seu aplicativo.

Siga os passos a seguir para começar, seja para integrar o ChatGPT em seu aplicativo já existente ou para desenvolver novas aplicações utilizando essa tecnologia.

1. Adquirindo uma Chave de API da OpenAI

Para começar a utilizar a API do ChatGPT, é indispensável obter uma chave de API.

  • Registre-se ou faça login na plataforma oficial da OpenAI.
  • Após o login, clique na seção Chaves de API, localizada no painel lateral esquerdo.
  • Em seguida, clique no botão Criar nova chave secreta para gerar a sua chave de API.
  • A chave de API não será exibida novamente, portanto, copie-a e armazene-a em um local seguro.
  • O código utilizado neste projeto encontra-se disponível em um
    Repositório GitHub
    e pode ser utilizado gratuitamente sob a licença MIT.

    2. Configurando o Ambiente de Desenvolvimento

    Você pode optar por utilizar o endpoint da API diretamente ou usar a biblioteca openai para Python ou JavaScript para facilitar o desenvolvimento de aplicativos com a API do ChatGPT. Este guia utilizará Python e a biblioteca openai-python.

    Para iniciar:

  • Crie um ambiente virtual Python.
  • Instale as bibliotecas openai e python-dotenv via pip:
    pip install openai python-dotenv 
  • Crie um arquivo .env na raiz do diretório do seu projeto para armazenar sua chave de API de forma segura.
  • No mesmo arquivo, defina a variável OPENAI_API_KEY com o valor da chave que você copiou anteriormente:
    OPENAI_API_KEY="SUA_CHAVE_DE_API" 
  • Certifique-se de não compartilhar sua chave de API acidentalmente através do controle de versão.
    Adicione um arquivo .gitignore
    ao diretório raiz do seu projeto e adicione “.env” a ele para que o arquivo dotenv seja ignorado.

    3. Realizando Requisições à API do ChatGPT

    O GPT-3.5 Turbo, GPT-4 e GPT-4 Turbo da API da OpenAI são os mesmos modelos que o ChatGPT utiliza. Esses modelos avançados são capazes de entender e gerar texto e código em linguagem natural. O GPT-4 Turbo, inclusive, pode processar entradas de imagens, abrindo possibilidades para diversas aplicações, como análise de imagens, análise de documentos com figuras e transcrição de texto de imagens.

    É importante ressaltar que “API do ChatGPT” é um termo genérico que se refere às APIs da OpenAI que utilizam modelos baseados em GPT, incluindo os modelos gpt-3.5-turbo, gpt-4 e gpt-4-turbo.

    A API do ChatGPT é otimizada principalmente para conversas, mas também se sai bem em tarefas de preenchimento de texto. Seja para gerar código, traduzir idiomas ou redigir documentos, esta API pode ser uma ferramenta valiosa.

    Para ter acesso à API GPT-4, é necessário realizar um pagamento bem-sucedido de US$ 1 ou mais. Caso contrário, você pode receber um erro similar a “O modelo `gpt-4` não existe ou você não tem acesso a ele”.

    Utilizando a API para Conclusão de Conversa

    Para preparar o modelo para uma chamada de API, é necessário configurar o modelo de chat. Veja um exemplo:

    from openai import OpenAI
    from dotenv import load_dotenv

    load_dotenv()
    client = OpenAI()

    response = client.chat.completions.create(
      model = "gpt-3.5-turbo-0125",
      temperature = 0.8,
      max_tokens = 3000,
      response_format={ "type": "json_object" },
      messages = [
        {"role": "system", "content": "Você é um comediante engraçado que conta piadas de tio. A saída deve estar no formato JSON."},
        {"role": "user", "content": "Escreva uma piada de tio relacionada a números."},
        {"role": "assistant", "content": "P: Como fazer o 7 ficar par? R: Tire o S."},
        {"role": "user", "content": "Escreva uma relacionada a programadores."}
      ]
    )

    A API do ChatGPT envia uma resposta no formato a seguir:

    O conteúdo da resposta, como uma string JSON, pode ser extraído com este código:

    print(response.choices[0].message.content) 

    A execução deste código resulta na seguinte saída:

    O código ilustra uma chamada à API do ChatGPT utilizando Python. Note que o modelo compreendeu o contexto (“piada de tio”) e o tipo de resposta (formato de perguntas e respostas) que esperávamos, com base nas instruções fornecidas.

    A parte mais crucial da configuração é o parâmetro messages, que recebe um array de objetos de mensagem. Cada objeto de mensagem contém um papel e um conteúdo. É possível utilizar três tipos de papeis:

    • system, que define o contexto e o comportamento do assistente.
    • user, que fornece instruções ao assistente. Normalmente, o usuário final fornecerá isso, mas você também pode incluir algumas solicitações padrão para o usuário com antecedência.
    • assistant, que pode incluir exemplos de respostas.

    Você pode personalizar ainda mais os parâmetros de temperatura e max_tokens do modelo para obter a saída desejada.

    Quanto maior a temperatura, mais aleatória será a saída, e vice-versa. Se você busca respostas mais focadas e determinísticas, prefira um valor de temperatura mais baixo. Se deseja respostas mais criativas, utilize um valor maior. O valor da temperatura varia entre 0 e 2.

    Assim como o ChatGPT, a API também possui um limite de palavras. Utilize o parâmetro max_tokens para limitar o tamanho das respostas. É importante notar que definir um valor max_tokens muito baixo pode causar problemas, pois pode interromper a saída no meio do caminho.

    No momento da redação deste artigo, o modelo gpt-3.5-turbo tinha um limite de tokens de 4.096, enquanto o do gpt-4 era de 8.192. Os modelos mais recentes gpt-3.5-turbo-0125 e gpt-4-turbo-preview possuem limites de 16.385 e 128.000, respectivamente.

    Atendendo à demanda dos desenvolvedores, a OpenAI introduziu o modo JSON, que instrui o modelo a sempre retornar um objeto JSON. Para ativar o modo JSON, defina response_format como { “type”: “json_object” }. Atualmente, este recurso está disponível apenas para os modelos mais recentes: gpt-3.5-turbo-0125 e gpt-4-turbo-preview.

    Você pode configurar o modelo de maneira ainda mais detalhada utilizando os outros parâmetros disponibilizados pela OpenAI.

    Utilizando a API do ChatGPT para Conclusão de Texto

    Além das tarefas de conversação, a API de conclusão de chat (API do ChatGPT) desempenha um bom trabalho na conclusão de texto. O exemplo a seguir demonstra como configurar a API do ChatGPT para preenchimento de texto:


    from openai import OpenAI
    from dotenv import load_dotenv

    load_dotenv()
    client = OpenAI()

    response = client.chat.completions.create(
      model = "gpt-3.5-turbo",
      temperature = 0.8,
      max_tokens = 3000,
      messages = [
        {"role": "system", "content": "Você é um poeta que cria poemas que evocam emoções."},
        {"role": "user", "content": "Escreva um pequeno poema para programadores."}
      ]
    )

    print(response.choices[0].message.content)

    Não é sequer necessário fornecer o papel do sistema e seu conteúdo. Fornecer apenas o prompt do usuário é suficiente.

    messages = [
      {"role": "user", "content": "Escreva um pequeno poema para programadores."}
    ]

    A execução do código acima gerará um poema para programadores, como por exemplo:

    Preços da API do ChatGPT

    O preço da API do ChatGPT é baseado no modelo “preço por 1.000 tokens”. Para requisições de conclusão de chat, o custo é calculado com base no número de tokens de entrada, somado ao número de tokens de saída retornados pela API. De maneira simplificada, os tokens são equivalentes a partes de palavras, onde 1.000 tokens equivalem aproximadamente a 750 palavras.

    Modelo

    Entrada

    Saída

    gpt-4-0125-visualização

    US$ 0,01/1 mil tokens

    US$ 0,03/1 mil tokens

    gpt-4-1106-visualização

    US$ 0,01/1 mil tokens

    US$ 0,03/1 mil tokens

    gpt-4-1106-vision-preview

    US$ 0,01/1 mil tokens

    US$ 0,03/1 mil tokens

    gpt-4

    US$ 0,03/1 mil tokens

    US$ 0,06/1 mil tokens

    gpt-4-32k

    US$ 0,06/1 mil tokens

    US$ 0,12/1 mil tokens

    gpt-3.5-turbo-0125

    US$ 0,0005/1 mil tokens

    US$ 0,0015/1 mil tokens

    gpt-3.5-turbo-instrução

    US$ 0,0015/1 mil tokens

    US$ 0,0020/1 mil tokens

    É importante notar que o preço pode mudar ao longo do tempo, conforme o modelo seja aprimorado.

    Desenvolva Aplicações de Próxima Geração com a API do ChatGPT

    A API do ChatGPT abriu portas para desenvolvedores de todo o mundo criarem produtos inovadores com o poder da inteligência artificial.

    Essa ferramenta pode ser utilizada no desenvolvimento de aplicativos como criadores de histórias, tradutores de código, geradores de textos de marketing e resumo de textos. Sua imaginação é o limite para criar aplicações utilizando essa tecnologia.