| 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() |