Tutorialprogramação· Médio· PT45M

API OpenAI com Python: Tutorial do Zero ao Deploy

Tutorial completo OpenAI API com Python: instalação, GPT-4o, streaming, function calling, embeddings e deploy em produção com boas práticas.

24 de maio de 2026· Atualizado em 24 de maio de 2026por Redação SWEN.AI
API OpenAI com Python: Tutorial do Zero ao Deploy

Por que usar a OpenAI API com Python?

A OpenAI API com Python é o caminho mais rápido para integrar IA em produtos reais. Com o SDK oficial, você tem acesso ao GPT-4o, DALL-E, Whisper e Embeddings com poucas linhas de código.

Instalação e setup inicial

pip install openai python-dotenv

Crie .env na raiz do projeto:

OPENAI_API_KEY=sua-chave-aqui

Passo 1 — Primeira chamada ao GPT-4o

from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI()
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Explique async/await em Python em 3 linhas"}]
)
print(response.choices[0].message.content)

Passo 2 — System prompts e conversas multi-turn

history = [
    {"role": "system", "content": "Você é um especialista em Python. Responda em português."}
]
history.append({"role": "user", "content": "O que é uma list comprehension?"})
response = client.chat.completions.create(model="gpt-4o", messages=history)
resposta = response.choices[0].message.content
history.append({"role": "assistant", "content": resposta})

Passo 3 — Streaming de respostas

stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Escreva um conto de ficção científica"}],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Passo 4 — Function Calling (Tool Use)

Permite que o GPT chame funções Python reais quando necessário:

tools = [{"type":"function","function":{"name":"buscar_clima","description":"Retorna clima da cidade","parameters":{"type":"object","properties":{"cidade":{"type":"string"}}}}}]
response = client.chat.completions.create(model="gpt-4o", messages=messages, tools=tools)
# Verifica se GPT quer chamar a função e executa

Passo 5 — Embeddings para busca semântica

embedding = client.embeddings.create(input="texto para busca", model="text-embedding-3-small")
vector = embedding.data[0].embedding  # lista de 1536 floats

Deploy em produção

Melhores práticas: rate limiting com tenacity, cache de respostas para prompts idênticos, logging de custo por request, timeout configurado, e variáveis de ambiente nunca hardcoded.

Salve seu progresso de aprendizado

Crie sua conta gratuita no SWEN.AI para acompanhar as aulas concluídas

Salvar meu progresso

Tutoriais relacionados

📚 Guias Completos no CF Gauss

CF Gauss por Luis Roquette — especialista em IA para empresas brasileiras