Deepseek r1
#1
by
SergioSCA
- opened
app.py
CHANGED
|
@@ -1,95 +1,99 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
-
from datasets import load_dataset, list_datasets
|
| 3 |
-
import pandas as pd
|
| 4 |
-
import time
|
| 5 |
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
|
|
|
|
|
|
| 14 |
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
time.sleep(1)
|
| 23 |
-
columns.extend(get_columns_for_task(task))
|
| 24 |
|
| 25 |
-
|
| 26 |
-
|
|
|
|
| 27 |
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
"
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
"Separación de Fuentes": ["archivo_audio", "fuente_separada"],
|
| 50 |
-
"Síntesis de Voz": ["texto", "archivo_audio_generado"],
|
| 51 |
-
"MIDI": ["archivo_midi", "etiqueta"]
|
| 52 |
-
}
|
| 53 |
-
return column_mapping.get(task, [])
|
| 54 |
|
| 55 |
-
|
| 56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
|
|
|
| 63 |
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
with gr.Blocks(title="Diseñador de Redes Neuronales Multimodales") as demo:
|
| 93 |
-
# ... (sin cambios)
|
| 94 |
|
| 95 |
demo.launch()
|
|
|
|
| 1 |
import gradio as gr
|
|
|
|
|
|
|
|
|
|
| 2 |
|
| 3 |
+
modalities_tasks = {
|
| 4 |
+
"NLP": ["Clasificación de Texto", "Generación de Texto", "Resumen", "Traducción", "QA"],
|
| 5 |
+
"Audio": ["Reconocimiento de Voz", "Clasificación de Audio", "Generación de Audio", "Separación de Fuentes"],
|
| 6 |
+
"Vision": ["Clasificación de Imágenes", "Detección de Objetos", "Segmentación", "Generación de Imágenes"],
|
| 7 |
+
"RAG": ["Búsqueda Semántica", "Generación Aumentada", "QA Contextual"],
|
| 8 |
+
"Code": ["Generación de Código", "Depuración", "Traducción entre Lenguajes"],
|
| 9 |
+
"Time Series": ["Predicción", "Detección de Anomalías", "Clasificación Temporal"],
|
| 10 |
+
"Graph": ["Predicción de Nodos", "Clasificación de Grafos", "Generación de Grafos"],
|
| 11 |
+
"Tabular": ["Regresión", "Clasificación", "Imputación de Datos"]
|
| 12 |
+
}
|
| 13 |
|
| 14 |
+
def generate_csv_header(*args):
|
| 15 |
+
# Lógica para generar encabezado multimodal
|
| 16 |
+
return "Encabezado generado: ID,Modalidad-Tarea1,Modalidad-Tarea2,..."
|
| 17 |
|
| 18 |
+
def search_datasets():
|
| 19 |
+
# Lógica para buscar datasets en HuggingFace
|
| 20 |
+
return [["Dataset1", "Descripción1"], ["Dataset2", "Descripción2"]]
|
|
|
|
|
|
|
| 21 |
|
| 22 |
+
def generate_dataset():
|
| 23 |
+
# Lógica para generar dataset multimodal
|
| 24 |
+
return "sample.csv"
|
| 25 |
|
| 26 |
+
with gr.Blocks() as demo:
|
| 27 |
+
gr.Markdown("# 🧠 Diseñador de Modelos Multimodales")
|
| 28 |
+
|
| 29 |
+
# Panel 1: Selección de Modalidades
|
| 30 |
+
with gr.Row():
|
| 31 |
+
gr.Markdown("## 1. Selección de Modalidades")
|
| 32 |
+
modality_components = []
|
| 33 |
+
for modality in modalities_tasks:
|
| 34 |
+
with gr.Column():
|
| 35 |
+
modality_components.append(
|
| 36 |
+
gr.Checkbox(label=modality, interactive=True)
|
| 37 |
+
)
|
| 38 |
|
| 39 |
+
# Panel 2: Selección de Tareas
|
| 40 |
+
with gr.Row():
|
| 41 |
+
gr.Markdown("## 2. Configuración de Tareas")
|
| 42 |
+
task_components = []
|
| 43 |
+
for modality in modalities_tasks:
|
| 44 |
+
with gr.Column(visible=False) as col:
|
| 45 |
+
task_dropdown = gr.Dropdown(
|
| 46 |
+
choices=modalities_tasks[modality],
|
| 47 |
+
label=f"Tareas para {modality}",
|
| 48 |
+
interactive=True
|
| 49 |
+
)
|
| 50 |
+
task_components.append((col, task_dropdown))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
|
| 52 |
+
# Actualizar visibilidad de tareas
|
| 53 |
+
for i, modality_check in enumerate(modality_components):
|
| 54 |
+
modality_check.change(
|
| 55 |
+
lambda val, idx=i: gr.update(visible=val),
|
| 56 |
+
inputs=modality_check,
|
| 57 |
+
outputs=task_components[i][0]
|
| 58 |
+
)
|
| 59 |
|
| 60 |
+
# Panel 3: Generar Encabezado CSV
|
| 61 |
+
with gr.Row():
|
| 62 |
+
gr.Markdown("## 3. Configuración del Dataset")
|
| 63 |
+
with gr.Column():
|
| 64 |
+
header_btn = gr.Button("Generar Encabezado del CSV")
|
| 65 |
+
header_output = gr.Textbox(label="Estructura del Dataset")
|
| 66 |
|
| 67 |
+
# Panel 4: Búsqueda de Datasets
|
| 68 |
+
with gr.Row():
|
| 69 |
+
gr.Markdown("## 4. Datasets Disponibles")
|
| 70 |
+
with gr.Column():
|
| 71 |
+
search_btn = gr.Button("Buscar en HuggingFace")
|
| 72 |
+
datasets_table = gr.DataFrame(headers=["Dataset", "Descripción"])
|
| 73 |
|
| 74 |
+
# Panel 5: Generación del Dataset
|
| 75 |
+
with gr.Row():
|
| 76 |
+
gr.Markdown("## 5. Generación Final")
|
| 77 |
+
with gr.Column():
|
| 78 |
+
generate_btn = gr.Button("Generar Dataset Multimodal")
|
| 79 |
+
dataset_output = gr.File(label="Dataset Generado", file_types=[".csv"])
|
| 80 |
+
download_btn = gr.DownloadButton("⬇️ Descargar CSV", visible=False)
|
| 81 |
|
| 82 |
+
# Conectar funcionalidades
|
| 83 |
+
header_btn.click(
|
| 84 |
+
generate_csv_header,
|
| 85 |
+
inputs=[*modality_components, *[t[1] for t in task_components]],
|
| 86 |
+
outputs=header_output
|
| 87 |
+
)
|
| 88 |
+
|
| 89 |
+
search_btn.click(
|
| 90 |
+
search_datasets,
|
| 91 |
+
outputs=datasets_table
|
| 92 |
+
)
|
| 93 |
+
|
| 94 |
+
generate_btn.click(
|
| 95 |
+
generate_dataset,
|
| 96 |
+
outputs=[dataset_output, download_btn]
|
| 97 |
+
)
|
|
|
|
|
|
|
| 98 |
|
| 99 |
demo.launch()
|