|
import gradio as gr |
|
import json |
|
|
|
|
|
def cargar_datos_json(ruta_json): |
|
with open(ruta_json, 'r', encoding='utf-8') as file: |
|
datos = json.load(file) |
|
return datos |
|
|
|
|
|
def mostrar_checkboxes(datos): |
|
tipos = set(d['tipo'] for d in datos) |
|
checkboxes = {tipo: gr.inputs.Checkbox(label=tipo) for tipo in tipos} |
|
return checkboxes |
|
|
|
|
|
def procesar_entrada(texto_entrada, rag_habilitado, prompt_template_habilitado): |
|
|
|
|
|
|
|
|
|
|
|
respuesta = f"Texto de salida procesado: {texto_entrada}" |
|
return respuesta |
|
|
|
|
|
ruta_json = './archivo.json' |
|
datos_json = cargar_datos_json(ruta_json) |
|
checkboxes_tipos = mostrar_checkboxes(datos_json) |
|
|
|
|
|
interfaz = gr.Interface( |
|
fn=procesar_entrada, |
|
inputs=[ |
|
gr.Textbox(label="Texto de Entrada"), |
|
gr.Checkbox(label="Habilitar RAG"), |
|
gr.Checkbox(label="Habilitar Prompt Template"), |
|
*checkboxes_tipos.values() |
|
], |
|
outputs=gr.Textbox(label="Texto de Salida") |
|
) |
|
|
|
|
|
interfaz.launch() |
|
|