7 DAYS OF CODE - IA & Prompt Engineering (Python)
Projeto Final: Sistema de Análise de Feedback com IA
ESTRUTURA (7 DIAS)
DIA 1: Fundamentos de Prompts
DIA 2: Técnicas Avançadas
DIA 3: Integração OpenAI API
DIA 4: Pipeline Multi-Etapas
DIA 5: Processamento em Batch
DIA 6: MVP Completo
DIA 7: Deploy & Documentação
SETUP INICIAL
mkdir 7-dias-prompt && cd 7-dias-prompt
python -m venv venv
source venv/bin/activate
pip install openai python-dotenv
Crie .env:
OPENAI_API_KEY=sua_chave
DIA 1: FUNDAMENTOS
Um bom prompt tem 4 elementos:
- ROLE - Quem é a IA?
- INSTRUÇÃO - O que fazer?
- CONTEXTO - Que dados?
- FORMATO - Como responder?
Desafio: Analise 5 prompts ruins e reescreva.
# dia1.py
prompts_ruins = {
"ruim": "Classifique feedback",
"bom": """Você é especialista em análise de feedback.
Classifique em: POSITIVO, NEGATIVO ou NEUTRO.
Feedback: "{texto}"
Responda apenas com a categoria."""
}
DIA 2: TÉCNICAS
- Chain of Thought: "Pense passo a passo"
- Few-Shot: "Aqui estão exemplos..."
- Role Playing: "Você é um gerente..."
- Estrutura: "Retorne em JSON"
Crie 5 prompts usando cada técnica.
DIA 3: OPENAI API
from openai import OpenAI
import os
from dotenv import load_dotenv
load_dotenv()
client = OpenAI()
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Seu prompt aqui"}],
temperature=0.7,
max_tokens=200
)
print(response.choices[0].message.content)
Desafio: Criar classe AnalisadorFeedback com 3 métodos.
DIA 4: PIPELINE
Crie um fluxo: Limpeza → Validação → IA → Ação → Armazenar
class Pipeline:
def limpar(self, texto):
return texto.strip().lower()
def validar(self, texto):
return 5 < len(texto) < 1000
def analisar(self, texto):
# Chamada IA
pass
def processar(self, texto):
if not self.validar(self.limpar(texto)):
return None
return self.analisar(texto)
DIA 5: BATCH & INSIGHTS
Processe múltiplos feedbacks de uma CSV.
import csv
from collections import Counter
def processar_csv(arquivo):
feedbacks = []
with open(arquivo) as f:
for linha in csv.DictReader(f):
resultado = analisar(linha['feedback'])
feedbacks.append(resultado)
# Gerar relatório
sentimentos = [f['sentimento'] for f in feedbacks]
print(Counter(sentimentos))
DIA 6: MVP
Integre tudo em uma classe completa:
class AssistenteFeedback:
def __init__(self):
self.feedbacks = []
def processar(self, feedback):
analise = self._analisar(feedback)
resposta = self._responder(feedback, analise)
self.feedbacks.append({
"feedback": feedback,
"analise": analise,
"resposta": resposta
})
return self.feedbacks[-1]
def relatorio(self):
return {
"total": len(self.feedbacks),
"score_medio": sum(
f['analise']['score']
for f in self.feedbacks
) / len(self.feedbacks)
}
DIA 7: DEPLOY
Tarefas:
- Criar
README.mdexplicando projeto - Exportar resultados em CSV
- Fazer upload no GitHub
- Postar link no fórum 7DaysOfCode
README mínimo:
# Assistente de Feedback IA
Análise inteligente de feedback usando OpenAI.
## Setup
pip install -r requirements.txt
## Uso
python dia6.py
## Resultados
Veja resultados_final.csv
CHECKLIST
- Dia 1: 5 prompts analisados
- Dia 2: 5 técnicas praticadas
- Dia 3: API funcionando
- Dia 4: Pipeline completo
- Dia 5: Relatório gerado
- Dia 6: MVP testado
- Dia 7: GitHub + Documentação