Spaces:
Sleeping
Sleeping
Commit
·
bfa45b8
1
Parent(s):
07d99e2
Update app.py
Browse files
app.py
CHANGED
|
@@ -1289,10 +1289,15 @@ def responder(prompt: str):
|
|
| 1289 |
partes = prompt.split("# PROMPT_USUARIO", 1)
|
| 1290 |
dados_brutos = partes[0] if len(partes) > 0 else ""
|
| 1291 |
prompt_usuario = partes[1] if len(partes) > 1 else ""
|
|
|
|
| 1292 |
|
| 1293 |
dados_norm = normalize_text(dados_brutos)
|
| 1294 |
dados_usuario = extrair_dados_usuario(dados_norm)
|
| 1295 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1296 |
campos_obrigatorios = ["idade", "sexo", "peso", "altura", "atividade", "objetivo", "nivel_usuario"]
|
| 1297 |
faltando = [c for c in campos_obrigatorios if c not in dados_usuario]
|
| 1298 |
|
|
@@ -1321,7 +1326,7 @@ def responder(prompt: str):
|
|
| 1321 |
|
| 1322 |
# 🔸 Caso 1: Pergunta conceitual (ex: “o que é hipertrofia?”)
|
| 1323 |
if subtipo == "pergunta":
|
| 1324 |
-
prompt_llm = f"Você é um treinador experiente. Responda de forma breve e direta:\n\n\"{
|
| 1325 |
inputs = tokenizer(prompt_llm, return_tensors="pt")
|
| 1326 |
output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
|
| 1327 |
resposta = tokenizer.decode(output[0], skip_special_tokens=True)
|
|
@@ -1382,7 +1387,7 @@ def responder(prompt: str):
|
|
| 1382 |
|
| 1383 |
# 🔸 Caso 4: Pedido genérico (“quero melhorar meu treino”)
|
| 1384 |
elif subtipo == "generico":
|
| 1385 |
-
prompt_llm = f"Você é um treinador experiente. Dê uma resposta breve e motivacional para:\n\n\"{
|
| 1386 |
inputs = tokenizer(prompt_llm, return_tensors="pt")
|
| 1387 |
output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
|
| 1388 |
resposta = tokenizer.decode(output[0], skip_special_tokens=True)
|
|
@@ -1397,7 +1402,7 @@ def responder(prompt: str):
|
|
| 1397 |
|
| 1398 |
# 🔸 Caso 1: Pergunta conceitual ou alimento específico
|
| 1399 |
if subtipo == "pergunta":
|
| 1400 |
-
prompt_llm = f"Você é um nutricionista esportivo. Responda de forma objetiva e científica:\n\n\"{
|
| 1401 |
inputs = tokenizer(prompt_llm, return_tensors="pt")
|
| 1402 |
output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
|
| 1403 |
resposta = tokenizer.decode(output[0], skip_special_tokens=True)
|
|
@@ -1422,7 +1427,7 @@ def responder(prompt: str):
|
|
| 1422 |
|
| 1423 |
# 🔸 Caso 3: Pedido genérico (“quero melhorar minha dieta”)
|
| 1424 |
elif subtipo == "generico":
|
| 1425 |
-
prompt_llm = f"Você é um nutricionista esportivo. Dê uma orientação breve sobre:\n\n\"{
|
| 1426 |
inputs = tokenizer(prompt_llm, return_tensors="pt")
|
| 1427 |
output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
|
| 1428 |
resposta = tokenizer.decode(output[0], skip_special_tokens=True)
|
|
|
|
| 1289 |
partes = prompt.split("# PROMPT_USUARIO", 1)
|
| 1290 |
dados_brutos = partes[0] if len(partes) > 0 else ""
|
| 1291 |
prompt_usuario = partes[1] if len(partes) > 1 else ""
|
| 1292 |
+
prompt_norm =normalize_text(prompt_usuario)
|
| 1293 |
|
| 1294 |
dados_norm = normalize_text(dados_brutos)
|
| 1295 |
dados_usuario = extrair_dados_usuario(dados_norm)
|
| 1296 |
|
| 1297 |
+
print("Dados extraídos do usuário:", dados_usuario)
|
| 1298 |
+
print("Prompt do usuário:", prompt_norm)
|
| 1299 |
+
|
| 1300 |
+
|
| 1301 |
campos_obrigatorios = ["idade", "sexo", "peso", "altura", "atividade", "objetivo", "nivel_usuario"]
|
| 1302 |
faltando = [c for c in campos_obrigatorios if c not in dados_usuario]
|
| 1303 |
|
|
|
|
| 1326 |
|
| 1327 |
# 🔸 Caso 1: Pergunta conceitual (ex: “o que é hipertrofia?”)
|
| 1328 |
if subtipo == "pergunta":
|
| 1329 |
+
prompt_llm = f"Você é um treinador experiente. Responda de forma breve e direta:\n\n\"{prompt_norm}\""
|
| 1330 |
inputs = tokenizer(prompt_llm, return_tensors="pt")
|
| 1331 |
output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
|
| 1332 |
resposta = tokenizer.decode(output[0], skip_special_tokens=True)
|
|
|
|
| 1387 |
|
| 1388 |
# 🔸 Caso 4: Pedido genérico (“quero melhorar meu treino”)
|
| 1389 |
elif subtipo == "generico":
|
| 1390 |
+
prompt_llm = f"Você é um treinador experiente. Dê uma resposta breve e motivacional para:\n\n\"{prompt_norm}\""
|
| 1391 |
inputs = tokenizer(prompt_llm, return_tensors="pt")
|
| 1392 |
output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
|
| 1393 |
resposta = tokenizer.decode(output[0], skip_special_tokens=True)
|
|
|
|
| 1402 |
|
| 1403 |
# 🔸 Caso 1: Pergunta conceitual ou alimento específico
|
| 1404 |
if subtipo == "pergunta":
|
| 1405 |
+
prompt_llm = f"Você é um nutricionista esportivo. Responda de forma objetiva e científica:\n\n\"{prompt_norm}\""
|
| 1406 |
inputs = tokenizer(prompt_llm, return_tensors="pt")
|
| 1407 |
output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
|
| 1408 |
resposta = tokenizer.decode(output[0], skip_special_tokens=True)
|
|
|
|
| 1427 |
|
| 1428 |
# 🔸 Caso 3: Pedido genérico (“quero melhorar minha dieta”)
|
| 1429 |
elif subtipo == "generico":
|
| 1430 |
+
prompt_llm = f"Você é um nutricionista esportivo. Dê uma orientação breve sobre:\n\n\"{prompt_norm}\""
|
| 1431 |
inputs = tokenizer(prompt_llm, return_tensors="pt")
|
| 1432 |
output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
|
| 1433 |
resposta = tokenizer.decode(output[0], skip_special_tokens=True)
|