ProvaObjetiva / app.py
healthtechbrasil's picture
usando unicamp model
73383e0
raw
history blame
1.37 kB
from fastapi import FastAPI
from transformers import pipeline
app = FastAPI()
# Carregando o modelo correto: ptt5 (text2text-generation)
ptt5 = pipeline(
"text2text-generation",
model="unicamp-dl/ptt5-base-portuguese-text2text",
tokenizer="unicamp-dl/ptt5-base-portuguese-text2text"
)
@app.get("/generate")
async def generate_question(theme: str, difficulty: str):
prompt = (
f"Gere uma questão de múltipla escolha sobre o tema '{theme}', "
f"com dificuldade {difficulty}, no estilo da prova de residência médica da USP. "
"Inclua: enunciado clínico, 4 alternativas (A, B, C, D), gabarito e explicação."
)
response = ptt5(prompt, max_new_tokens=512, temperature=0.7, top_p=0.9)[0]['generated_text']
return {"question": response}
@app.get("/simulado")
async def get_simulado(num_questions: int = 5):
simulado = []
for _ in range(num_questions):
prompt = (
"Gere uma questão de múltipla escolha sobre clínica médica, nível médio, "
"no estilo da prova de residência da USP. "
"Inclua: enunciado clínico, 4 alternativas (A, B, C, D), gabarito e explicação."
)
result = ptt5(prompt, max_new_tokens=512, temperature=0.7, top_p=0.9)[0]['generated_text']
simulado.append({"question": result})
return {"simulado": simulado}