Como integrar o ChatGPT no R e no Python?

O ChatGPT é um robô de conversação (chatbot) que usa um modelo grande de linguagem para possibilitar interação entre o usuário e o robô, como em uma conversa humana. Com essa tecnologia é possível enviar entradas textuais, como “Quanto é 10 mais 5?”, e receber saídas também textuais, como “10 mais 5 é igual a 15”. O robô ficou muito famoso após seu lançamento em 2022 pela empresa OpenAI.

Tela da aplicação ChatGPT da empresa OpenAI.

Neste tutorial mostramos como interagir com o modelo do ChatGPT através de comandos por linguagem de programação, em R e Python. Introduzimos o uso da API, a autenticação de usuário, o gerenciamento de chave de token e abordamos exemplos de interação. O objetivo é desenvolver uma base de conhecimento para possibilitar a construção de aplicações e produtos interessantes de Inteligência Artificial.

Interagindo com o ChatGPT por linguagem de programação

O nosso objetivo é demonstrar como interagir com um dos modelos do ChatGPT por código, ou seja, enviar entradas textuais e receber saídas textuais (perguntas e respostas) como na captura de tela acima, mas usando linguagem de programação. Faremos isso em até 30 linhas de comando.

Pré-requisitos

Para o procedimento proposto é necessário:

  1. Cadastrar uma conta de usuário em platform.openai.com
  2. Gerar uma chave-segredo da API em platform.openai.com/account/api-keys

Faça os procedimentos acima se você não tiver feito ainda e guarde a chave API em segurança.

Nota: contas novas na OpenAI podem receber créditos de uso da API gratuitamente, para finalidade de teste. Se você não tiver créditos é necessário adquiri-los no site da OpenAI para prosseguir com esse tutorial.

Após gerar uma chave API, defina uma variável de ambiente no seu ambiente de programação, conforme abaixo:

R


# 1) Rode o comando p/ definir sua chave:
Sys.setenv("OPENAI" = "SUA_CHAVE")

Python


# 1) Rode o comando:
import os
# 2) Rode o comando p/ definir sua chave:
os.environ["OPENAI"] = "SUA_CHAVE"

Substitua SUA_CHAVE pela chave API que você copiou no site da OpenAI.

Primeiros passos na API do ChatGPT

O ChatGPT e outros produtos da OpenAI possuem uma API extensa que descreve como usar os modelos por linguagem de programação, sem precisar acessar o site do ChatGPT manualmente. No site indicado acima é possível encontrar toda a documentação referente.

Nota: se você não sabe o que são APIs e quiser aprender, dê uma olhada nos cursos de introdução à programação da Análise Macro.

A documentação da API do ChatGPT é, como esperado, um tanto quanto técnica para usuários iniciantes. No entanto, é possível usar uma interface visual chamada “Playground” para aprender a dar os primeiros passos no uso da API.

Siga esses passos para construir sua primeira requisição com parâmetros para a API do ChatGPT:

  1. Navegue até platform.openai.com/playground
  2. Em System, digite uma entrada textual (por exemplo: “Quanto é 10 mais 5?”)
  3. Opcionalmente, escolha valores para parâmetros de interesse (modelo, temperatura, tamanho máximo, etc.)
  4. Clique em View code, selecione JSON e clique em Copy para copiar os parâmetros da requisição

Definindo o código de interação

Agora abra a IDE de sua preferência e um arquivo para escrever o código. Neste arquivo vamos começar definindo três coisas:

  1. Importar bibliotecas necessárias
  2. Definir a URL base da API, formada por “https://api.openai.com” mais o endpoint exibido na tela do Playground, ou seja, “/v1/chat/completions
  3. Parsear os parâmetros da requisição, obtidos nos primeiros passos, do formato JSON

Realizando tudo isso você deve chegar em um código parecido com o abaixo (adapte conforme achar melhor):

R


library(httr2)
library(jsonlite)

url_base <- "https://api.openai.com/v1/chat/completions"
entrada <- "Quanto é 10 mais 5?"
parametros_api <- jsonlite::fromJSON(
paste0(
'{
"model": "gpt-3.5-turbo",
"messages": [{"role": "system", "content": "', entrada, '"}],
"temperature": 1,
"max_tokens": 256,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
}'
)
)

Python


import os
import requests
import json

url_base = "https://api.openai.com/v1/chat/completions"
entrada = "Quanto é 10 mais 5?"
parametros_api = json.loads(
'''{
"model": "gpt-3.5-turbo",
"messages": [{"role": "system", "content": "''' + entrada + '''"}],
"temperature": 1,
"max_tokens": 256,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
}'''
)

Se você chegou até aqui, parabéns! Agora só falta fazer a requisição POST na API. Nessa etapa é necessário informar qual API/endpoint queremos fazer a requisição, quem somos (autenticação de usuário com chave API) e apontar quais os parâmetros da requisição (entrada textual, modelo, etc.).

O código abaixo exemplifica como fazer a requisição na API do ChatGPT e qual é o resultado retornado:

R


requisicao <- url_base |>
httr2::request() |>
httr2::req_auth_basic(username = "Bearer", password = Sys.getenv("OPENAI")) |>
httr2::req_body_json(parametros_api)

saida <- httr2::req_perform(req = requisicao)

httr2::resp_body_json(saida)$choices[[1]]$message$content

[1] "10 mais 5 é igual a 15."

Python


saida = requests.post(
url = url_base,
auth = ("Bearer", os.environ["OPENAI"]),
json = parametros_api
)

saida.json()["choices"][0]["message"]["content"]

'10 mais 5 é igual a 15.'

Dessa forma simples é possível interagir com a API do ChatGPT usando linguagem de programação. Não foi difícil, certo?

Para mais informações e detalhes consulte a documentação da API e das bibliotecas utilizadas.

Conclusão

Neste tutorial mostramos como interagir com o modelo do ChatGPT através de comandos por linguagem de programação, em R e Python. Introduzimos o uso da API, a autenticação de usuário, o gerenciamento de chave de token e abordamos exemplos de interação. O objetivo é desenvolver uma base de conhecimento para possibilitar a construção de aplicações e produtos interessantes de Inteligência Artificial.

Quer aprender mais?

 -  Cadastre-se gratuitamente aqui no Boletim AM e receba toda terça-feira pela manhã nossa newsletter com um compilado dos nossos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas;

 - Quer ter acesso aos códigos, vídeos e scripts de R/Python desse exercício? Vire membro do Clube AM aqui e tenha acesso à nossa Comunidade de Análise de Dados;

 - Quer aprender a programar em R ou Python com Cursos Aplicados e diretos ao ponto em Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas? Veja nossos Cursos aqui.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O que é e como funcionam Sistemas Multi-Agentes

Sistemas multi-agentes (MAS) representam uma nova forma de estruturar aplicações de inteligência artificial, especialmente úteis para lidar com problemas complexos e distribuídos. Em vez de depender de um único agente generalista, esses sistemas são compostos por múltiplos agentes especializados que colaboram, competem ou se coordenam para executar tarefas específicas. Neste post, explicamos o que são os MAS, seus principais componentes (como LLMs, ferramentas e processos) e as arquiteturas mais comuns.

O que é um Vector Database e como criar um com LangChain

Nesta postagem, mostramos como construir um pipeline simples de RAG (Retrieval-Augmented Generation) usando o LangChain, o modelo Gemini 2.0 Flash e o Vector Database Chroma. Utilizamos como exemplo o Relatório de Inflação de junho de 2025 do Banco Central do Brasil. O fluxo envolve o download e leitura do PDF, divisão do texto com RecursiveCharacterTextSplitter, geração de embeddings com Gemini, armazenamento vetorial com Chroma e busca semântica para responder perguntas com base no conteúdo do relatório. É uma aplicação prática e didática para economistas que desejam integrar IA ao seu fluxo de análise.

Automatizando a Construção de Códigos em Python com LangGraph

Neste post, mostramos como construir um agente de código em Python utilizando LangGraph, LangChain e Gemini. A proposta é construir um protótipo para automatizar o ciclo completo de geração, execução e correção de código com o uso de LLMs, organizando o processo em um grafo de estados.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.