alexacido commited on
Commit
9157f83
Β·
verified Β·
1 Parent(s): 94e25da

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +42 -0
  2. requirements.txt +4 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import pandas as pd
3
+ from transformers import pipeline
4
+ import os
5
+
6
+ # Cargar modelo open source (elige uno segΓΊn rendimiento y tamaΓ±o)
7
+ modelo = pipeline("text2text-generation", model="google/flan-t5-base") # modelo ligero, sin OpenAI
8
+
9
+ # Variables para almacenar el DataFrame
10
+ df_global = None
11
+
12
+ def subir_csv(file):
13
+ global df_global
14
+ try:
15
+ df_global = pd.read_csv(file.name)
16
+ return f"Archivo cargado exitosamente con {df_global.shape[0]} filas y {df_global.shape[1]} columnas."
17
+ except Exception as e:
18
+ return f"Error al cargar el archivo: {e}"
19
+
20
+ def analizar_pregunta(pregunta):
21
+ global df_global
22
+ if df_global is None:
23
+ return "Por favor, primero sube un archivo CSV."
24
+
25
+ # Convertimos una vista simple del dataframe a texto para enviarla al LLM
26
+ df_vista = df_global.head(5).to_string()
27
+ prompt = f"""Este es un resumen de una tabla:\n{df_vista}\n\nPregunta: {pregunta}\nRespuesta:"""
28
+
29
+ respuesta = modelo(prompt, max_new_tokens=100)[0]['generated_text']
30
+ return respuesta
31
+
32
+ gr.Interface(
33
+ fn=analizar_pregunta,
34
+ inputs=[
35
+ gr.File(label="Sube tu archivo CSV", file_types=[".csv"], file_count="single", type="file", elem_id="file-upload"),
36
+ gr.Textbox(label="Haz una pregunta sobre la tabla")
37
+ ],
38
+ outputs=gr.Textbox(label="Respuesta del modelo"),
39
+ live=True,
40
+ title="AnΓ‘lisis Inteligente de CSV (sin OpenAI)",
41
+ description="Este Space utiliza un modelo open source para interpretar archivos CSV."
42
+ ).launch()
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ gradio
2
+ transformers
3
+ pandas
4
+ torch