|
import gradio as gr |
|
|
|
modalities_tasks = { |
|
"NLP": ["Clasificaci贸n de Texto", "Generaci贸n de Texto", "Resumen", "Traducci贸n", "QA"], |
|
"Audio": ["Reconocimiento de Voz", "Clasificaci贸n de Audio", "Generaci贸n de Audio", "Separaci贸n de Fuentes"], |
|
"Vision": ["Clasificaci贸n de Im谩genes", "Detecci贸n de Objetos", "Segmentaci贸n", "Generaci贸n de Im谩genes"], |
|
"RAG": ["B煤squeda Sem谩ntica", "Generaci贸n Aumentada", "QA Contextual"], |
|
"Code": ["Generaci贸n de C贸digo", "Depuraci贸n", "Traducci贸n entre Lenguajes"], |
|
"Time Series": ["Predicci贸n", "Detecci贸n de Anomal铆as", "Clasificaci贸n Temporal"], |
|
"Graph": ["Predicci贸n de Nodos", "Clasificaci贸n de Grafos", "Generaci贸n de Grafos"], |
|
"Tabular": ["Regresi贸n", "Clasificaci贸n", "Imputaci贸n de Datos"] |
|
} |
|
|
|
def generate_csv_header(*args): |
|
|
|
return "Encabezado generado: ID,Modalidad-Tarea1,Modalidad-Tarea2,..." |
|
|
|
def search_datasets(): |
|
|
|
return [["Dataset1", "Descripci贸n1"], ["Dataset2", "Descripci贸n2"]] |
|
|
|
def generate_dataset(): |
|
|
|
return "sample.csv" |
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("# 馃 Dise帽ador de Modelos Multimodales") |
|
|
|
|
|
with gr.Row(): |
|
gr.Markdown("## 1. Selecci贸n de Modalidades") |
|
modality_components = [] |
|
for modality in modalities_tasks: |
|
with gr.Column(): |
|
modality_components.append( |
|
gr.Checkbox(label=modality, interactive=True) |
|
) |
|
|
|
|
|
with gr.Row(): |
|
gr.Markdown("## 2. Configuraci贸n de Tareas") |
|
task_components = [] |
|
for modality in modalities_tasks: |
|
with gr.Column(visible=False) as col: |
|
task_dropdown = gr.Dropdown( |
|
choices=modalities_tasks[modality], |
|
label=f"Tareas para {modality}", |
|
interactive=True |
|
) |
|
task_components.append((col, task_dropdown)) |
|
|
|
|
|
for i, modality_check in enumerate(modality_components): |
|
modality_check.change( |
|
lambda val, idx=i: gr.update(visible=val), |
|
inputs=modality_check, |
|
outputs=task_components[i][0] |
|
) |
|
|
|
|
|
with gr.Row(): |
|
gr.Markdown("## 3. Configuraci贸n del Dataset") |
|
with gr.Column(): |
|
header_btn = gr.Button("Generar Encabezado del CSV") |
|
header_output = gr.Textbox(label="Estructura del Dataset") |
|
|
|
|
|
with gr.Row(): |
|
gr.Markdown("## 4. Datasets Disponibles") |
|
with gr.Column(): |
|
search_btn = gr.Button("Buscar en HuggingFace") |
|
datasets_table = gr.DataFrame(headers=["Dataset", "Descripci贸n"]) |
|
|
|
|
|
with gr.Row(): |
|
gr.Markdown("## 5. Generaci贸n Final") |
|
with gr.Column(): |
|
generate_btn = gr.Button("Generar Dataset Multimodal") |
|
dataset_output = gr.File(label="Dataset Generado", file_types=[".csv"]) |
|
download_btn = gr.DownloadButton("猬囷笍 Descargar CSV", visible=False) |
|
|
|
|
|
header_btn.click( |
|
generate_csv_header, |
|
inputs=[*modality_components, *[t[1] for t in task_components]], |
|
outputs=header_output |
|
) |
|
|
|
search_btn.click( |
|
search_datasets, |
|
outputs=datasets_table |
|
) |
|
|
|
generate_btn.click( |
|
generate_dataset, |
|
outputs=[dataset_output, download_btn] |
|
) |
|
|
|
demo.launch() |