02-05-03 — Desafio: compare respostas com temperatura 0.0, 0.7 e 1.5
TL;DR
Neste desafio prático, você vai enviar o mesmo prompt para um LLM com três temperaturas diferentes (0.0, 0.7 e 1.5) e observar como a "criatividade" do modelo muda drasticamente. É a melhor forma de internalizar o conceito de sampling.
O experimento
Temperatura é um dos parâmetros mais impactantes — e mal compreendidos — ao usar LLMs. Em vez de ler sobre isso, vamos ver na prática.
Setup
Você pode usar qualquer uma dessas ferramentas:
- Azure OpenAI Playground — oai.azure.com/playground
- OpenAI Playground — platform.openai.com/playground
- Código Python — script abaixo
O prompt de teste
Use este system prompt e user prompt para todas as 3 execuções:
{
"system": "Você é um escritor criativo. Responda sempre em português brasileiro.",
"user": "Escreva o primeiro parágrafo de uma história sobre um robô que descobre que tem sentimentos. Máximo 100 palavras."
}
Script Python para o experimento
from openai import AzureOpenAI # ou OpenAI
import os
# Configurar cliente (Azure OpenAI)
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-10-21",
azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT")
)
# Mesmo prompt, 3 temperaturas diferentes
temperaturas = [0.0, 0.7, 1.5]
for temp in temperaturas:
print(f"\n{'='*60}")
print(f"TEMPERATURA: {temp}")
print(f"{'='*60}")
# Rodar 3 vezes cada para ver variabilidade
for i in range(3):
response = client.chat.completions.create(
model="gpt-4o", # ou o deployment name do seu Azure
messages=[
{"role": "system", "content": "Você é um escritor criativo. Responda sempre em português brasileiro."},
{"role": "user", "content": "Escreva o primeiro parágrafo de uma história sobre um robô que descobre que tem sentimentos. Máximo 100 palavras."}
],
temperature=temp,
max_tokens=200
)
print(f"\n--- Tentativa {i+1} ---")
print(response.choices[0].message.content)
Com temperatura 0.0, as 3 respostas serão praticamente idênticas — o modelo é determinístico. Com 0.7, haverá variação moderada. Com 1.5, cada resposta será radicalmente diferente (e possivelmente incoerente). Essa repetição é o que torna o experimento revelador.
O que observar
| Temperatura | Expectativa | O que anotar |
|---|---|---|
| 0.0 | Respostas quase idênticas entre tentativas | Qual a qualidade? É "seguro" mas genérico? |
| 0.7 | Variação moderada, boa qualidade | As respostas são criativas mas coerentes? |
| 1.5 | Alta variação, possíveis incoerências | Onde começa a "delirar"? Vocabulário incomum? |
Temperatura acima de 1.0 é útil para brainstorming e geração criativa, mas em aplicações de negócio (customer support, geração de relatórios, análise de dados) use valores entre 0.0 e 0.3. O custo de uma alucinação criativa em produção é muito maior que uma resposta genérica.
Variação extra: combine com top_p
Depois de testar temperatura pura, experimente fixar temperatura em 1.0 e variar top_p:
top_p=0.1— vocabulário muito restrito (só tokens mais prováveis)top_p=0.5— equilíbriotop_p=0.95— quase todo o vocabulário disponível
O Azure OpenAI Playground tem sliders visuais para temperatura e top_p — ideal para experimentar sem código. Acesse via oai.azure.com e escolha "Chat" no playground.
Template de registro
Para documentar seu experimento, use esta estrutura:
{
"modelo": "gpt-4o",
"prompt_system": "Você é um escritor criativo...",
"prompt_user": "Escreva o primeiro parágrafo...",
"resultados": [
{
"temperatura": 0.0,
"tentativas": [
{"texto": "...", "observacao": "Idêntica à tentativa 2"},
{"texto": "...", "observacao": "Idêntica à tentativa 1"},
{"texto": "...", "observacao": "Idêntica"}
]
},
{
"temperatura": 0.7,
"tentativas": [
{"texto": "...", "observacao": "Criativa, coerente"},
{"texto": "...", "observacao": "Diferente, boa qualidade"},
{"texto": "...", "observacao": "Variação interessante"}
]
},
{
"temperatura": 1.5,
"tentativas": [
{"texto": "...", "observacao": "Vocabulário incomum"},
{"texto": "...", "observacao": "Perdeu coerência no meio"},
{"texto": "...", "observacao": "Muito divergente"}
]
}
],
"conclusao": "..."
}
🎯 Desafio
Execute o experimento acima (pode ser via Playground ou Python) e responda:
- A partir de qual temperatura as respostas começaram a perder coerência?
- Se você fosse implementar um chatbot de atendimento ao cliente para a sua empresa, qual temperatura usaria? Justifique.
- Em que cenários temperatura alta (>1.0) seria genuinamente útil no seu negócio?
Como isso se conecta
- ← Pré-requisito: 02-05-01 Parâmetros de inferência
- ← Relacionado: 02-05-02 Limitações dos LLMs — alucinação piora com temperatura alta
- → Próximo módulo: 03-01-01 Anatomia de um prompt
- ↔ Futuro: Módulo 14 — temperatura é decisão arquitetural em produção