Como integrar o ChatGPT em seu código Python

Cansado de programar?

Conheça a melhor e mais completa formação de Python e Django e sinta-se um programador verdadeiramente competente. Além de Python e Django, você também vai aprender Banco de Dados, SQL, HTML, CSS, Javascript, Bootstrap e muito mais!

Quero aprender Python e Django de Verdade! Quero aprender!
Suporte

Tire suas dúvidas diretamente com o professor

Projetos práticos

Projetos práticos voltados para o mercado de trabalho

Prática profissional

Formação moderna com foco na prática profissional

Download do Artigo

Artigo atualizado em Setembro 2026: o código foi reescrito para o SDK atual da OpenAI (from openai import OpenAI + Responses API), o modelo gpt-3.5-turbo (em descontinuação) foi trocado pelo gpt-6-luna, o chatbot agora lembra do histórico da conversa e há uma seção nova para migrar código antigo que usa openai.ChatCompletion.

Salve salve Pythonistas :wave:

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

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á:

Chaves de API

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:

Sua chave de API

Guarde-o muito bem e não compartilhe com ninguém (muito menos suba-o no Github :scream:)

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! :wink:

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!

:bulb: 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 ambiente OPENAI_API_KEY que você configurou acima :point_up:. 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 model define qual o modelo será utilizado para processar sua requisição. Usamos o gpt-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 por gpt-6-sol ou gpt-6-astra (acesse aqui a documentação para ver quais estão disponíveis).
  • O parâmetro instructions define 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 input recebe 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 lista historico reenvia 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 do gpt-6-luna é esforço medium), o que é ótimo para problemas difíceis, mas deixa um chatbot simples mais lento e caro.
  • O parâmetro temperature define qual “temperatura” de amostragem usar, entre 0 e 2. Valores mais altos, como 0.8, tornarão a saída mais aleatória, enquanto valores mais baixos, como 0.2, a tornarão mais focada e determinística. Atenção: nos modelos GPT-6, a temperature só é aceita quando o esforço de raciocínio é none; com qualquer outro esforço, remova esse parâmetro.
  • resposta.output_text junta todo o texto gerado pelo modelo em uma única string.
  • Digite sair para 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! :rocket:

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 = "..." virou client = OpenAI(), que lê a variável de ambiente OPENAI_API_KEY.
  • openai.ChatCompletion.create(...) virou client.chat.completions.create(...).
  • A resposta deixou de ser um dicionário: em vez de resposta['choices'][0]['message']['content'], use resposta.choices[0].message.content.
  • Troque também o modelo: o gpt-3.5-turbo está 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? :thumbsup:

Que tal receber 30 dias de conteúdo direto na sua Caixa de Entrada?

Sua assinatura não pôde ser validada.
Você fez sua assinatura com sucesso.

Assine as PyDicas e receba 30 dias do melhor conteúdo Python na sua Caixa de Entrada: direto e sem enrolação!

Conclusão

Parabéns Pythonista!

Você acabou de fazer seu primeiro código de integração com o ChatGPT utilizando Python! :clap: :clap: :clap:

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!

Começe agora sua Jornada na Programação!

Não deixe para amanhã o sucesso que você pode começar a construir hoje!

#newsletter Olá :wave: Curtiu o artigo? Então faça parte da nossa Newsletter! Privacidade Não se preocupe, respeitamos sua privacidade. Você pode se descadastrar a qualquer momento.