Spaces:
Sleeping
Sleeping
fschwartzer
commited on
Commit
•
78ac961
1
Parent(s):
4fd0504
Update app.py
Browse files
app.py
CHANGED
@@ -1,40 +1,8 @@
|
|
1 |
import gradio as gr
|
2 |
import requests
|
3 |
import pandas as pd
|
4 |
-
from scipy import stats
|
5 |
from difflib import get_close_matches
|
6 |
|
7 |
-
import google.generativeai as genai
|
8 |
-
|
9 |
-
# Proper configuration with your API key
|
10 |
-
genai.configure(api_key="AIzaSyCm57IpC9_TTL7U3m8wvje9_3qtfxAASgI") # Replace YOUR_API_KEY with the actual API key
|
11 |
-
|
12 |
-
# Set up the model configuration
|
13 |
-
generation_config = {
|
14 |
-
"temperature": 0.7,
|
15 |
-
"top_p": 1,
|
16 |
-
"top_k": 1,
|
17 |
-
"max_output_tokens": 2048,}
|
18 |
-
|
19 |
-
# Safety settings
|
20 |
-
safety_settings = [
|
21 |
-
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
22 |
-
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
23 |
-
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
24 |
-
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
|
25 |
-
]
|
26 |
-
|
27 |
-
# Initialize the model
|
28 |
-
model = genai.GenerativeModel(model_name="gemini-pro",
|
29 |
-
generation_config=generation_config,
|
30 |
-
safety_settings=safety_settings)
|
31 |
-
|
32 |
-
def interpretar_e_refinar_busca(query):
|
33 |
-
prompt = f"Corrigir e refinar a busca: '{query}' para uma consulta mais precisa."
|
34 |
-
response = model.generate_content(prompt)
|
35 |
-
refined_query = response.text.strip()
|
36 |
-
return refined_query
|
37 |
-
|
38 |
def fetch_data_to_dataframe(query, limit=50, source="mercadolibre"):
|
39 |
if source == "mercadolibre":
|
40 |
BASE_URL = "https://api.mercadolibre.com/sites/MLB/search"
|
@@ -57,20 +25,16 @@ def filtrar_itens_similares(df, termo_pesquisa, limite=5):
|
|
57 |
return df_filtrado
|
58 |
|
59 |
def integrated_app(query):
|
60 |
-
|
61 |
-
refined_query = interpretar_e_refinar_busca(query)
|
62 |
-
|
63 |
-
# Depois, busque os dados no Mercado Livre usando a query refinada
|
64 |
-
df = fetch_data_to_dataframe(refined_query, 50, "mercadolibre")
|
65 |
-
|
66 |
if df.empty:
|
67 |
return "Nenhum dado encontrado. Tente uma consulta diferente.", pd.DataFrame()
|
68 |
-
|
69 |
-
# A partir daqui, você pode continuar com a filtragem por similaridade ou outra lógica de pós-processamento
|
70 |
-
# Por simplicidade, vamos retornar diretamente os resultados
|
71 |
-
median_price = df['Price'].median()
|
72 |
-
return f"Preço Mediano: {median_price}", df
|
73 |
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
iface = gr.Interface(fn=integrated_app,
|
76 |
inputs=gr.Textbox(label="Digite sua consulta"),
|
@@ -78,4 +42,4 @@ iface = gr.Interface(fn=integrated_app,
|
|
78 |
title="Análise Integrada de Bens",
|
79 |
description="Esta aplicação busca dados no Mercado Livre e filtra para encontrar itens com nomes similares ao termo de pesquisa, oferecendo uma análise de preços e características desses itens.")
|
80 |
|
81 |
-
iface.launch()
|
|
|
1 |
import gradio as gr
|
2 |
import requests
|
3 |
import pandas as pd
|
|
|
4 |
from difflib import get_close_matches
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
def fetch_data_to_dataframe(query, limit=50, source="mercadolibre"):
|
7 |
if source == "mercadolibre":
|
8 |
BASE_URL = "https://api.mercadolibre.com/sites/MLB/search"
|
|
|
25 |
return df_filtrado
|
26 |
|
27 |
def integrated_app(query):
|
28 |
+
df = fetch_data_to_dataframe(query, 50, "mercadolibre")
|
|
|
|
|
|
|
|
|
|
|
29 |
if df.empty:
|
30 |
return "Nenhum dado encontrado. Tente uma consulta diferente.", pd.DataFrame()
|
|
|
|
|
|
|
|
|
|
|
31 |
|
32 |
+
df_similares = filtrar_itens_similares(df, query)
|
33 |
+
if df_similares.empty:
|
34 |
+
return "Nenhum item similar encontrado.", pd.DataFrame()
|
35 |
+
else:
|
36 |
+
median_price = df_similares['Price'].median()
|
37 |
+
return f"Preço Mediano dos Itens Similares: {median_price}", df_similares
|
38 |
|
39 |
iface = gr.Interface(fn=integrated_app,
|
40 |
inputs=gr.Textbox(label="Digite sua consulta"),
|
|
|
42 |
title="Análise Integrada de Bens",
|
43 |
description="Esta aplicação busca dados no Mercado Livre e filtra para encontrar itens com nomes similares ao termo de pesquisa, oferecendo uma análise de preços e características desses itens.")
|
44 |
|
45 |
+
iface.launch()
|