fschwartzer commited on
Commit
f308877
·
verified ·
1 Parent(s): 205d4a0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -4
app.py CHANGED
@@ -33,21 +33,44 @@ def filtrar_itens_similares(df, termo_pesquisa, limite=5):
33
  df_filtrado = df[df['Title'].isin(titulos_similares)]
34
  return df_filtrado
35
 
36
- def integrated_app(query):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  df = fetch_data_to_dataframe(query, 50, "mercadolibre")
38
  if df.empty:
39
  return "Nenhum dado encontrado. Tente uma consulta diferente.", pd.DataFrame()
40
 
41
- df = refinar_resultados(df) # Chama a função de refinamento
42
  df_similares = filtrar_itens_similares(df, query)
43
  if df_similares.empty:
44
  return "Nenhum item similar encontrado.", pd.DataFrame()
45
  else:
46
  median_price = df_similares['Price'].median()
47
- return f"Preço Mediano dos Itens Similares: {median_price}", df_similares
 
 
48
 
49
  iface = gr.Interface(fn=integrated_app,
50
- inputs=gr.Textbox(label="Digite sua consulta"),
 
 
 
 
51
  outputs=[gr.Textbox(label="Preço Mediano"), gr.Dataframe(label="Resultados da Pesquisa")],
52
  theme=gr.themes.Monochrome(),
53
  title = "<span style='color: gray; font-size: 48px;'>aval</span><span style='color: gray; font-size: 48px;'>ia</span><span style='color: gray; font-size: 48px;'>.BEN</span>",
 
33
  df_filtrado = df[df['Title'].isin(titulos_similares)]
34
  return df_filtrado
35
 
36
+ def calcular_fator_avaliacao(EC, VU, PU, VR):
37
+ pontuacoes = {'Excelente': 10, 'Bom': 8, 'Regular': 5, 'Péssimo': 2}
38
+ ec_pontuacao = pontuacoes[EC]
39
+
40
+ PVU = 10 - ((PU - 1) * (10 / VU))
41
+ PVU = min(PVU, 10)
42
+
43
+ PUB = 10 - (((VU - PU) - 1) * (10 / VU))
44
+ PUB = min(PUB, 10)
45
+
46
+ fator_avaliacao = (4 * ec_pontuacao + 6 * PVU - 3 * PUB) / 100
47
+ return fator_avaliacao
48
+
49
+ def integrated_app(query, EC, VU, PU, VR):
50
+ VU = float(VU)
51
+ PU = float(PU)
52
+ VR = float(VR)
53
+
54
  df = fetch_data_to_dataframe(query, 50, "mercadolibre")
55
  if df.empty:
56
  return "Nenhum dado encontrado. Tente uma consulta diferente.", pd.DataFrame()
57
 
58
+ df = refinar_resultados(df)
59
  df_similares = filtrar_itens_similares(df, query)
60
  if df_similares.empty:
61
  return "Nenhum item similar encontrado.", pd.DataFrame()
62
  else:
63
  median_price = df_similares['Price'].median()
64
+ fator_avaliacao = calcular_fator_avaliacao(EC, VU, PU, VR)
65
+ valor_avaliacao = max(median_price * fator_avaliacao, VR)
66
+ return f"Fator de Avaliação: {fator_avaliacao*100:.2f}%, Valor de Avaliação: {valor_avaliacao}", df_similares
67
 
68
  iface = gr.Interface(fn=integrated_app,
69
+ inputs=[gr.Textbox(label="Digite sua consulta"),
70
+ gr.Radio(label="Estado de Conservação do Bem", choices=['Excelente', 'Bom', 'Regular', 'Péssimo']),
71
+ gr.Number(label="Vida Útil do Bem (VU)", default=5),
72
+ gr.Number(label="Período em que o bem foi utilizado (PU)", default=1),
73
+ gr.Number(label="Valor Residual (VR)", default=100)],
74
  outputs=[gr.Textbox(label="Preço Mediano"), gr.Dataframe(label="Resultados da Pesquisa")],
75
  theme=gr.themes.Monochrome(),
76
  title = "<span style='color: gray; font-size: 48px;'>aval</span><span style='color: gray; font-size: 48px;'>ia</span><span style='color: gray; font-size: 48px;'>.BEN</span>",