import gradio as gr import json import re # Función para cargar los datos del archivo JSON def cargar_datos_json(ruta_json): with open(ruta_json, 'r', encoding='utf-8') as file: datos = json.load(file) return datos # Función para mostrar los checkboxes por tipo def mostrar_checkboxes(datos): tipos = set(d['clasificacion_tipo'] for d in datos) checkboxes = {tipo: gr.Checkbox(label=tipo) for tipo in tipos} return checkboxes # Función para procesar la entrada y generar la salida def procesar_entrada(texto_entrada, rag_habilitado, prompt_template_habilitado): # Aquí procesarías el texto de entrada según los checkboxes habilitados # y utilizarías los valores de rag_habilitado y prompt_template_habilitado # para hacer el procesamiento correspondiente. # Simulación de generación de respuesta respuesta = f"Texto de salida procesado: {texto_entrada}" # Cargar datos del archivo JSON ruta_json = './archivo.json' datos_json = cargar_datos_json(ruta_json) # Resaltar partes coincidentes for dato in datos_json: contenido = dato['contenido'] respuesta = re.sub(f"({contenido})", r"\1", respuesta) return respuesta # Ruta al archivo JSON ruta_json = './archivo.json' datos_json = cargar_datos_json(ruta_json) checkboxes_tipos = mostrar_checkboxes(datos_json) # Creación de la interfaz Gradio interfaz = gr.Interface( fn=procesar_entrada, inputs=[ gr.Textbox(label="Texto de Entrada"), gr.Checkbox(label="Habilitar RAG"), gr.Checkbox(label="Habilitar Prompt Template") ], outputs=[ gr.Textbox(label="Texto de Salida", type="auto"), *checkboxes_tipos.values() ] ) # Ejecución de la interfaz interfaz.launch()