MarvinRoque commited on
Commit
e5a882c
·
1 Parent(s): a056cf8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -18
app.py CHANGED
@@ -956,14 +956,10 @@ def responder(prompt: str):
956
 
957
  resposta_final = {}
958
 
959
- print(conceitos)
960
-
961
- return
962
-
963
  # 🚀 TREINO
964
- if intenções["treino"]:
965
  musculos_alvo = detectar_musculos(prompt_norm)
966
- #lesoes = detectar_lesoes(prompt_norm)
967
  objetivos = detectar_objetivos(prompt_norm)
968
  tipo, dados = detectar_intencao(prompt_norm, musculos_alvo)
969
 
@@ -979,12 +975,12 @@ def responder(prompt: str):
979
  # Mapa de budget
980
  if nivel == "iniciante":
981
  budget = 40 if dias <= 4 else 50
982
- print('iniciante')
983
- elif nivel == "intermediario" or nivel == "intermedio":
984
  budget = 60 if dias < 4 else 50
985
- print('intermediario')
986
  elif nivel == "avancado":
987
- print('avancado')
988
  budget = 75
989
  else:
990
  # Caso não detecte o nível, define um padrão razoável
@@ -996,7 +992,7 @@ def responder(prompt: str):
996
  dias=dias,
997
  budget=budget,
998
  objetivos=objetivos,
999
- lesoes=dados_usuario["lesoes"]
1000
  )
1001
  resposta_final["treino"] = treino_semana
1002
  except ValueError:
@@ -1008,19 +1004,17 @@ def responder(prompt: str):
1008
  musculos,
1009
  budget=75, # pode ser mantido fixo ou também adaptado se quiser
1010
  objetivos=objetivos,
1011
- lesoes=lesoes
1012
  )
1013
  resposta_final["treino"] = {
1014
  "split_nome": "Treino isolado",
1015
  "musculos_alvo": musculos,
1016
  "custo_total": custo,
1017
- "treino": treino
1018
  }
1019
 
1020
-
1021
-
1022
  # 🚀 NUTRIÇÃO
1023
- if intenções["nutricao"]:
1024
  resumo, plano = gerar_plano(
1025
  idade=dados_usuario["idade"],
1026
  sexo=dados_usuario["sexo"],
@@ -1029,19 +1023,21 @@ def responder(prompt: str):
1029
  atividade=dados_usuario["atividade"],
1030
  objetivo=dados_usuario["objetivo"],
1031
  intensidade="moderada",
1032
- alergias=dados_usuario["alergias"] if "alergias" in dados_usuario else []
1033
  )
1034
  resposta_final["nutricao"] = {"resumo": resumo, "plano": plano}
1035
 
1036
  # 🚀 RECUPERAÇÃO
1037
- if intenções["recuperacao"]:
1038
  resposta_final["recuperacao"] = {
1039
  "dica": "Lembre-se de alongar e priorizar o sono para melhor recuperação."
1040
  }
1041
 
 
1042
  if not resposta_final:
1043
  return "Não consegui identificar se você quer um treino, nutrição ou recuperação."
1044
 
 
1045
  return resposta_final
1046
  except Exception as e:
1047
  import traceback
 
956
 
957
  resposta_final = {}
958
 
 
 
 
 
959
  # 🚀 TREINO
960
+ if any(c["tipo"] == "treino" and c.get("score", 0) >= 0.5 for c in conceitos):
961
  musculos_alvo = detectar_musculos(prompt_norm)
962
+ # lesoes = detectar_lesoes(prompt_norm)
963
  objetivos = detectar_objetivos(prompt_norm)
964
  tipo, dados = detectar_intencao(prompt_norm, musculos_alvo)
965
 
 
975
  # Mapa de budget
976
  if nivel == "iniciante":
977
  budget = 40 if dias <= 4 else 50
978
+ print("iniciante")
979
+ elif nivel in ["intermediario", "intermedio"]:
980
  budget = 60 if dias < 4 else 50
981
+ print("intermediario")
982
  elif nivel == "avancado":
983
+ print("avancado")
984
  budget = 75
985
  else:
986
  # Caso não detecte o nível, define um padrão razoável
 
992
  dias=dias,
993
  budget=budget,
994
  objetivos=objetivos,
995
+ lesoes=dados_usuario.get("lesoes", []),
996
  )
997
  resposta_final["treino"] = treino_semana
998
  except ValueError:
 
1004
  musculos,
1005
  budget=75, # pode ser mantido fixo ou também adaptado se quiser
1006
  objetivos=objetivos,
1007
+ lesoes=dados_usuario.get("lesoes", []),
1008
  )
1009
  resposta_final["treino"] = {
1010
  "split_nome": "Treino isolado",
1011
  "musculos_alvo": musculos,
1012
  "custo_total": custo,
1013
+ "treino": treino,
1014
  }
1015
 
 
 
1016
  # 🚀 NUTRIÇÃO
1017
+ if any(c["tipo"] == "nutricao" and c.get("score", 0) >= 0.5 for c in conceitos):
1018
  resumo, plano = gerar_plano(
1019
  idade=dados_usuario["idade"],
1020
  sexo=dados_usuario["sexo"],
 
1023
  atividade=dados_usuario["atividade"],
1024
  objetivo=dados_usuario["objetivo"],
1025
  intensidade="moderada",
1026
+ alergias=dados_usuario.get("alergias", []),
1027
  )
1028
  resposta_final["nutricao"] = {"resumo": resumo, "plano": plano}
1029
 
1030
  # 🚀 RECUPERAÇÃO
1031
+ if any(c["tipo"] == "recuperacao" and c.get("score", 0) >= 0.5 for c in conceitos):
1032
  resposta_final["recuperacao"] = {
1033
  "dica": "Lembre-se de alongar e priorizar o sono para melhor recuperação."
1034
  }
1035
 
1036
+ # 🚨 Caso nenhum conceito tenha sido suficientemente detectado
1037
  if not resposta_final:
1038
  return "Não consegui identificar se você quer um treino, nutrição ou recuperação."
1039
 
1040
+
1041
  return resposta_final
1042
  except Exception as e:
1043
  import traceback