Spaces:
Sleeping
Sleeping
fschwartzer
commited on
Update app.py
Browse files
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
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 |
-
|
|
|
|
|
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>",
|