import gradio as gr import rag_engine def ask(pregunta, num_docs, similitud): """ Esta función conecta la web con nuestro motor RAG """ respuesta, docs = rag_engine.preguntar(pregunta, top_k=int(num_docs), umbral=float(similitud)) if not docs: contexto_visible = "No se encontró información relevante." else: contexto_visible = "\n\n---\n\n".join(docs) return respuesta, contexto_visible with gr.Blocks() as interfaz: gr.Markdown("# Asistente del Hospital") gr.Markdown("Escribe tu pregunta para buscar en los documentos del hospital.") with gr.Row(): with gr.Column(): entrada_texto = gr.Textbox(label="Tu pregunta:", placeholder="Ej: Where is the hospital?") slider_k = gr.Slider(1, 5, value=2, step=1, label="Cuantos documentos buscar") slider_u = gr.Slider(0.0, 1.0, value=0.4, step=0.1, label="Nivel de parecido (minimo)") boton = gr.Button("Preguntar", variant="primary") with gr.Column(): salida_ia = gr.Textbox(label="Respuesta:", lines=4) salida_docs = gr.Textbox(label="Informacion utilizada:", lines=8) boton.click( fn=ask, inputs=[entrada_texto, slider_k, slider_u], outputs=[salida_ia, salida_docs] ) if __name__ == "__main__": interfaz.launch()