Artigo atualizado em Setembro 2026: o código foi reescrito para o SDK atual da OpenAI (
from openai import OpenAI+ Responses API), o modelogpt-3.5-turbo(em descontinuação) foi trocado pelogpt-6-luna, o chatbot agora lembra do histórico da conversa e há uma seção nova para migrar código antigo que usaopenai.ChatCompletion.
Salve salve Pythonistas ![]()
Eu tenho certeza que você já sabe o que é o ChatGPT, talvez o que não saiba é como integrá-lo ao seu código Python.
O ChatGPT é o assistente de conversação da OpenAI. Por trás dele estão os modelos de linguagem da empresa (da família GPT), redes neurais baseadas na arquitetura Transformer, treinadas com uma quantidade enorme de texto.
O ChatGPT em si é um produto (o site e os apps). Para usar a mesma tecnologia no seu código, você acessa esses modelos pela API da OpenAI - é isso que as pessoas normalmente querem dizer com “integrar o ChatGPT”.
Felizmente, a própria OpenAI disponibiliza um SDK oficial no pip, tornando o processo de integração bastante simples.
Nesse artigo você vai ver como é simples, então vamos nessa!
Vá Direto ao Assunto…
- Instalando o SDK do OpenAI
- Gerando sua chave de API
- Criando uma aplicação simples com o ChatGPT
- Migrando código antigo (openai.ChatCompletion)
Instalando o SDK do OpenAI
Antes de começarmos a utilizar o ChatGPT, é necessário instalar o SDK fornecido pela OpenAI. Para isso, basta executar o seguinte comando no terminal:
1
pip install --upgrade openai
Este artigo usa a versão 3.x do SDK (testado com openai 3.19). Qualquer versão 1.0 ou superior usa a mesma interface baseada em OpenAI(), mostrada abaixo.
Com o SDK instalado, precisamos gerar uma chave de API para poder interagir com o ChatGPT.
Gerando sua chave de API
Primeiro, acesse https://platform.openai.com e crie uma conta, caso ainda não tenha acesso.
Após logar, abra a página de chaves de API do painel (platform.openai.com/api-keys). A interface muda com frequência, então as imagens abaixo podem estar um pouco diferentes do que você verá:

Em seguida, clique no botão de criar uma nova chave secreta (Create new secret key), opcionalmente dê um nome à esta chave e copie o código que será gerado.
O código será similar a este:

Guarde-o muito bem e não compartilhe com ninguém (muito menos suba-o no Github
)
Ele não será mais apresentado a você. Caso não o salve, terá que gerar uma nova chave.
P.S.: a chave acima já foi deletada! ![]()
Em vez de colar a chave no código, guarde-a na variável de ambiente OPENAI_API_KEY, que o SDK lê automaticamente:
1
2
3
4
5
# Linux e macOS
export OPENAI_API_KEY="sua_chave_aqui"
# Windows (depois abra um novo terminal)
setx OPENAI_API_KEY "sua_chave_aqui"
Sobre custos: a API é cobrada por uso (por tokens de entrada e saída), separadamente da assinatura do ChatGPT. As condições de teste gratuito mudam com o tempo, então confira os preços e o saldo da sua conta na página de billing antes de começar.
Agora, vamos para a parte do código!
Estou desenvolvendo o Ebookr.ai, uma plataforma que transforma suas ideias em ebooks profissionais usando IA - com geração de capa, infográficos e exportação em PDF. Te convido a conhecer!
Criando uma aplicação simples com o ChatGPT
Para ilustrar como utilizar o ChatGPT em uma aplicação Python, vamos criar um chatbot simples que responde a algumas perguntas relacionadas a programação.
O objetivo aqui é apenas mostrar como utilizar a API do ChatGPT, não se trata de uma aplicação funcional em si.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from openai import OpenAI
client = OpenAI() # lê a chave da variável de ambiente OPENAI_API_KEY
historico = []
def conversar(texto):
historico.append({"role": "user", "content": texto})
resposta = client.responses.create(
model="gpt-6-luna",
instructions="Suponha que você é um instrutor de Python.",
input=historico,
reasoning={"effort": "none"},
temperature=0.7,
)
historico.append({"role": "assistant", "content": resposta.output_text})
return resposta.output_text
while True:
prompt = input("Usuário: ")
if prompt.lower() == "sair":
break
print("Bot: " + conversar(prompt))
Agora vamos à explicação:
-
client = OpenAI()cria o cliente da API. Ele busca a chave na variável de ambienteOPENAI_API_KEYque você configurou acima
. Evite passar a chave direto no código (OpenAI(api_key="...")), para não correr o risco de publicá-la por engano. - Nesse exemplo, utilizamos a Responses API (
client.responses.create), a interface que a documentação oficial da OpenAI usa como padrão para gerar texto. - O parâmetro
modeldefine qual o modelo será utilizado para processar sua requisição. Usamos ogpt-6-luna, o modelo mais econômico da família GPT-6, bom para tarefas simples e de alto volume. Para tarefas mais difíceis, troque porgpt-6-solougpt-6-astra(acesse aqui a documentação para ver quais estão disponíveis). - O parâmetro
instructionsdefine o contexto e o comportamento do modelo (por exemplo, você pode pedir para ele se comportar como um instrutor de um curso, ou um professor de gastronomia, ou um entrevistador técnico). - O parâmetro
inputrecebe as mensagens da conversa. Cada mensagem tem um papel (role):"user"para o que o usuário digitou e"assistant"para o que o modelo respondeu. Como a API não guarda o contexto sozinha entre chamadas, a listahistoricoreenvia a conversa inteira a cada pergunta - é isso que permite ao bot entender um “e com argumentos?” logo depois de falar de decorators. - O parâmetro
reasoning={"effort": "none"}desliga o “raciocínio” interno do modelo. Os modelos GPT-6 raciocinam antes de responder (o padrão dogpt-6-lunaé esforçomedium), o que é ótimo para problemas difíceis, mas deixa um chatbot simples mais lento e caro. - O parâmetro
temperaturedefine qual “temperatura” de amostragem usar, entre 0 e 2. Valores mais altos, como0.8, tornarão a saída mais aleatória, enquanto valores mais baixos, como0.2, a tornarão mais focada e determinística. Atenção: nos modelos GPT-6, atemperaturesó é aceita quando o esforço de raciocínio énone; com qualquer outro esforço, remova esse parâmetro. -
resposta.output_textjunta todo o texto gerado pelo modelo em uma única string. - Digite
sairpara encerrar o programa.
O modelo retorna uma resposta, que é então exibida na tela.
Por exemplo, fazendo a seguinte pergunta:
Como posso definir um Decorator em Python?
A saída será parecida com esta (a resposta de um modelo de linguagem varia a cada execução):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Bot: Em Python, um decorator é uma função que recebe outra função como argumento e retorna uma nova função.
O objetivo é adicionar funcionalidades à função original sem modificá-la diretamente. A sintaxe básica para
definir um decorator em Python é a seguinte:
```
def decorator_func(original_func):
def wrapper_func(*args, **kwargs):
# Código executado antes da função original
result = original_func(*args, **kwargs)
# Código executado após a função original
return result
return wrapper_func
```
... continua
Muito fera! ![]()
Se quiser se aprofundar no assunto da resposta, temos um post completo sobre decorators em Python.
Integrar IA no seu código é ótimo, mas quem tira o máximo disso é quem já programa Python com confiança - sabe tratar erro, organizar função, estruturar projeto. Essa base é o que a Jornada Python constrói:
Migrando código antigo (openai.ChatCompletion)
Se você encontrou por aí (inclusive numa versão antiga deste artigo) um código com openai.api_key = ... e openai.ChatCompletion.create(...), ele foi escrito para o SDK 0.x e não funciona mais. Com qualquer versão 1.0 ou superior do pacote openai, ele gera este erro:
1
2
3
openai.lib._old_api.APIRemovedInV1:
You tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.
A correção mais direta é trocar pela interface nova de Chat Completions, que continua suportada e aceita a mesma lista messages de antes:
1
2
3
4
5
6
7
8
9
10
11
12
from openai import OpenAI
client = OpenAI()
resposta = client.chat.completions.create(
model="gpt-6-luna",
messages=[
{"role": "system", "content": "Suponha que você é um instrutor de Python."},
{"role": "user", "content": "Como posso definir um Decorator em Python?"},
],
)
print(resposta.choices[0].message.content)
Repare nas diferenças:
-
openai.api_key = "..."virouclient = OpenAI(), que lê a variável de ambienteOPENAI_API_KEY. -
openai.ChatCompletion.create(...)virouclient.chat.completions.create(...). - A resposta deixou de ser um dicionário: em vez de
resposta['choices'][0]['message']['content'], useresposta.choices[0].message.content. - Troque também o modelo: o
gpt-3.5-turboestá na lista de descontinuação da OpenAI (desligamento previsto para 23 de outubro de 2026).
Para projetos novos, prefira a Responses API mostrada na seção anterior.
Está curtindo esse conteúdo? ![]()
Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?
Conclusão
Parabéns Pythonista!
Você acabou de fazer seu primeiro código de integração com o ChatGPT utilizando Python!
![]()
Integrar o ChatGPT em aplicações Python é uma tarefa bastante simples, graças ao SDK fornecido pela OpenAI: um cliente (OpenAI()), uma chamada (client.responses.create) e a chave de API numa variável de ambiente.
Com essa tecnologia, é possível criar chatbots cada vez mais inteligentes e humanizados, o que pode ser muito útil em diversos cenários, como atendimento ao cliente e suporte técnico.
Com esse tutorial, você já tem o conhecimento básico para começar a criar aplicações utilizando o ChatGPT em seus projetos em Python.
Para ir além de um chatbot simples, veja como criar seu primeiro app com LLMs e LangChain e como criar um agente de IA em Python.
Lembre-se de seguir as melhores práticas de programação e de sempre documentar seu código para facilitar o trabalho de outros desenvolvedores que eventualmente trabalhem no mesmo projeto.
Para fortalecer a base de Python por trás dessas integrações, conheça a Jornada Python, nosso curso completo de Python.
Nos vemos na próxima!
"Porque o Senhor dá a sabedoria, e da sua boca vem a inteligência e o entendimento" Pv 2:6