healthtechbrasil commited on
Commit
73383e0
·
1 Parent(s): b3171f2

usando unicamp model

Browse files
Files changed (1) hide show
  1. app.py +18 -11
app.py CHANGED
@@ -1,27 +1,34 @@
1
  from fastapi import FastAPI
2
  from transformers import pipeline
3
- import json
4
 
5
  app = FastAPI()
6
 
7
- # Carregando o MedGemma direto do Hugging Face
8
- medgemma = pipeline(
9
- "text-generation",
10
- model="google/medgemma-4b-it",
11
- tokenizer="google/medgemma-4b-it"
12
  )
13
 
14
  @app.get("/generate")
15
  async def generate_question(theme: str, difficulty: str):
16
- prompt = f"Gere uma questão sobre {theme}, nível {difficulty}, com 4 alternativas (A, B, C, D), no estilo da USP."
17
- response = medgemma(prompt, max_new_tokens=300, temperature=0.7, top_p=0.95)[0]['generated_text']
 
 
 
 
18
  return {"question": response}
19
 
20
  @app.get("/simulado")
21
  async def get_simulado(num_questions: int = 5):
22
  simulado = []
23
  for _ in range(num_questions):
24
- prompt = "Gere uma questão médica estilo USP com 4 alternativas (A, B, C, D), nível médio."
25
- question = medgemma(prompt, max_new_tokens=300)[0]['generated_text']
26
- simulado.append({"question": question})
 
 
 
 
27
  return {"simulado": simulado}
 
1
  from fastapi import FastAPI
2
  from transformers import pipeline
 
3
 
4
  app = FastAPI()
5
 
6
+ # Carregando o modelo correto: ptt5 (text2text-generation)
7
+ ptt5 = pipeline(
8
+ "text2text-generation",
9
+ model="unicamp-dl/ptt5-base-portuguese-text2text",
10
+ tokenizer="unicamp-dl/ptt5-base-portuguese-text2text"
11
  )
12
 
13
  @app.get("/generate")
14
  async def generate_question(theme: str, difficulty: str):
15
+ prompt = (
16
+ f"Gere uma questão de múltipla escolha sobre o tema '{theme}', "
17
+ f"com dificuldade {difficulty}, no estilo da prova de residência médica da USP. "
18
+ "Inclua: enunciado clínico, 4 alternativas (A, B, C, D), gabarito e explicação."
19
+ )
20
+ response = ptt5(prompt, max_new_tokens=512, temperature=0.7, top_p=0.9)[0]['generated_text']
21
  return {"question": response}
22
 
23
  @app.get("/simulado")
24
  async def get_simulado(num_questions: int = 5):
25
  simulado = []
26
  for _ in range(num_questions):
27
+ prompt = (
28
+ "Gere uma questão de múltipla escolha sobre clínica médica, nível médio, "
29
+ "no estilo da prova de residência da USP. "
30
+ "Inclua: enunciado clínico, 4 alternativas (A, B, C, D), gabarito e explicação."
31
+ )
32
+ result = ptt5(prompt, max_new_tokens=512, temperature=0.7, top_p=0.9)[0]['generated_text']
33
+ simulado.append({"question": result})
34
  return {"simulado": simulado}