A API da OpenAI (ChatGPT) abriu a possibilidade de qualquer desenvolvedor integrar inteligência artificial conversacional em suas aplicações — sem precisar treinar modelos, sem precisar de infraestrutura de machine learning, sem PhD em IA. Com algumas dezenas de linhas de Python e uma chave de API, você tem um chatbot funcional que responde em português, entende contexto, e pode ser especializado em qualquer domínio. Este tutorial vai do zero a um chatbot funcional com memória de conversa.
Configuração inicial
pip install openai python-dotenv
Crie uma conta em platform.openai.com, gere uma API Key em “API Keys”, e armazene-a no arquivo .env:
OPENAI_API_KEY=sk-...sua-chave-aqui...
Nunca coloque a chave diretamente no código — sempre use variáveis de ambiente. A chave dá acesso à sua conta e tem custo por uso.
Primeira chamada à API
from openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
response = client.chat.completions.create(
model="gpt-4o-mini", # Modelo mais barato e rápido
messages=[
{"role": "user", "content": "Explique o que é recursão em programação em 3 linhas."}
]
)
print(response.choices[0].message.content)
O modelo gpt-4o-mini é o mais econômico (cerca de US$ 0,15 por milhão de tokens de input) e suficientemente capaz para a maioria dos chatbots. gpt-4o é mais capaz e mais caro — use quando precisar de raciocínio mais complexo.
Chatbot com memória de conversa
A API da OpenAI é stateless — cada chamada não sabe nada sobre chamadas anteriores. Para criar a ilusão de memória, você mantém o histórico da conversa e o envia a cada nova mensagem:
from openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# O system prompt define a personalidade e especialidade do chatbot
system_prompt = """Você é um assistente especialista em programação Python.
Responda sempre em português, de forma clara e com exemplos de código quando relevante.
Se perguntarem sobre outros assuntos, redirecione gentilmente para programação."""
historico = [{"role": "system", "content": system_prompt}]
print("Chatbot Python iniciado! Digite 'sair' para encerrar.
")
while True:
pergunta = input("Você: ").strip()
if pergunta.lower() == 'sair':
break
if not pergunta:
continue
# Adiciona a mensagem do usuário ao histórico
historico.append({"role": "user", "content": pergunta})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=historico,
max_tokens=1000,
temperature=0.7,
)
resposta = response.choices[0].message.content
# Adiciona a resposta ao histórico para contexto futuro
historico.append({"role": "assistant", "content": resposta})
print(f"
Assistente: {resposta}
")
Parâmetros importantes
temperature (0 a 2): controla a aleatoriedade. 0 = respostas muito determinísticas e repetitivas. 1 = criativo mas coerente. 2 = muito aleatório. Para chatbots de suporte ou respostas técnicas, use 0.3-0.5. Para geração criativa, use 0.8-1.0. max_tokens: limita o tamanho da resposta. system prompt: a mensagem de sistema que define o comportamento, personalidade, restrições e especialidade do chatbot — é a ferramenta mais poderosa para customizar o comportamento.
Integrando em uma API web
Para que outras pessoas usem seu chatbot via web, exponha-o como API com FastAPI:
from fastapi import FastAPI
from pydantic import BaseModel
from openai import OpenAI
import os
app = FastAPI()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
class Mensagem(BaseModel):
texto: str
historico: list = []
@app.post("/chat")
async def chat(msg: Mensagem):
messages = [{"role": "system", "content": "Você é um assistente útil."}]
messages.extend(msg.historico)
messages.append({"role": "user", "content": msg.texto})
response = client.chat.completions.create(model="gpt-4o-mini", messages=messages)
resposta = response.choices[0].message.content
return {"resposta": resposta}
A partir daqui, qualquer frontend (React, Vue, ou HTML simples com fetch) pode conversar com seu chatbot via HTTP. Integrar em aplicações existentes, criar bots para WhatsApp via API oficial, ou embutir em sites de clientes — as possibilidades se multiplicam a partir desse ponto de partida.
Tem um projeto em mente?
Somos especialistas em transformar ideias em produtos digitais. Apps, sites, automações e IA — vamos construir juntos.