DHEIVER commited on
Commit
73ef356
·
verified ·
1 Parent(s): 2afab56

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -7
app.py CHANGED
@@ -22,24 +22,37 @@ def interpret_image(image):
22
  # Decodificar a saída para texto
23
  description = processor.decode(out[0], skip_special_tokens=True)
24
 
 
 
 
 
 
25
  return description
26
 
27
  def nutritional_analysis(image):
28
  # Passo 1: Gerar descrição da imagem usando BLIP-2
29
  description = interpret_image(image)
30
 
31
- # Passo 2: Criar um prompt para análise nutricional
32
  prompt = (
33
- f"Com base na descrição do prato de comida abaixo, forneça uma análise nutricional detalhada, "
34
- f"incluindo estimativas de calorias, macronutrientes (carboidratos, proteínas, gorduras), "
35
- f"e recomendações para melhorar o prato, se necessário.\n\n"
36
  f"Descrição do prato: {description}\n\n"
 
 
 
 
 
 
 
37
  f"Análise nutricional:"
38
  )
39
 
40
  # Passo 3: Usar o modelo de linguagem para gerar a análise nutricional
41
  analysis = nutrition_model(prompt, max_length=300)[0]['generated_text']
42
 
 
 
 
43
  # Retornar a descrição e a análise nutricional
44
  return description, analysis
45
 
@@ -77,7 +90,7 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="cyan")) a
77
  # Feedback do Usuário
78
  with gr.Row():
79
  feedback = gr.Markdown("")
80
-
81
  # Função para processar a imagem
82
  def process_image(image):
83
  try:
@@ -87,10 +100,10 @@ with gr.Blocks(theme=gr.themes.Soft(primary_hue="blue", secondary_hue="cyan")) a
87
  except Exception as e:
88
  feedback.update(f"❌ Erro ao processar a imagem: {str(e)}")
89
  return "", ""
90
-
91
  # Conectar botão aos outputs
92
  submit_button.click(process_image, inputs=image_input, outputs=[description_output, analysis_output])
93
-
94
  # Rodapé com Chamada à Ação
95
  with gr.Row():
96
  gr.Markdown("""
 
22
  # Decodificar a saída para texto
23
  description = processor.decode(out[0], skip_special_tokens=True)
24
 
25
+ # Pós-processamento para melhorar a descrição
26
+ description = description.strip().capitalize()
27
+ if not description.endswith("."):
28
+ description += "."
29
+
30
  return description
31
 
32
  def nutritional_analysis(image):
33
  # Passo 1: Gerar descrição da imagem usando BLIP-2
34
  description = interpret_image(image)
35
 
36
+ # Passo 2: Criar um prompt refinado para análise nutricional
37
  prompt = (
38
+ f"Com base na descrição do prato de comida abaixo, forneça uma análise nutricional detalhada.\n\n"
 
 
39
  f"Descrição do prato: {description}\n\n"
40
+ f"Siga este formato:\n"
41
+ f"- Calorias totais estimadas: [valor]\n"
42
+ f"- Macronutrientes (em gramas):\n"
43
+ f" - Carboidratos: [valor]\n"
44
+ f" - Proteínas: [valor]\n"
45
+ f" - Gorduras: [valor]\n"
46
+ f"- Recomendações para melhorar o prato: [sugestões]\n\n"
47
  f"Análise nutricional:"
48
  )
49
 
50
  # Passo 3: Usar o modelo de linguagem para gerar a análise nutricional
51
  analysis = nutrition_model(prompt, max_length=300)[0]['generated_text']
52
 
53
+ # Pós-processamento para formatar a análise nutricional
54
+ analysis = analysis.replace("Análise nutricional:", "").strip()
55
+
56
  # Retornar a descrição e a análise nutricional
57
  return description, analysis
58
 
 
90
  # Feedback do Usuário
91
  with gr.Row():
92
  feedback = gr.Markdown("")
93
+
94
  # Função para processar a imagem
95
  def process_image(image):
96
  try:
 
100
  except Exception as e:
101
  feedback.update(f"❌ Erro ao processar a imagem: {str(e)}")
102
  return "", ""
103
+
104
  # Conectar botão aos outputs
105
  submit_button.click(process_image, inputs=image_input, outputs=[description_output, analysis_output])
106
+
107
  # Rodapé com Chamada à Ação
108
  with gr.Row():
109
  gr.Markdown("""