AJ / app.py
ancerlop's picture
Update app.py
dcc9ef3
import gradio as gr
import json
# 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}"
return [respuesta] + [False] * len(mostrar_checkboxes(datos_json))
# Funci贸n para guardar los checkbox marcados en un archivo JSON
def guardar_checkbox_info():
info_checkbox = {key: checkbox.value for key, checkbox in checkboxes_tipos.items()}
with open('rlhf.json', 'w') as file:
json.dump(info_checkbox, file, indent=4)
# 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="text"),
*checkboxes_tipos.values()
]
)
# Creaci贸n de diccionario de checkboxes
checkboxes = {key: False for key in checkboxes_tipos.keys()}
# Definici贸n de la acci贸n del bot贸n
def accion_boton():
guardar_checkbox_info(checkboxes, 'rlhf.json')
# Ejecuci贸n de la interfaz
interfaz.launch()