import gradio as gr import rag_engine def ask(query, top_k, umbral): docs = rag_engine.recuperar_documentos(query, top_k=top_k, umbral=umbral) respuesta = rag_engine.generar_respuesta(query, docs) docs_formateados = "\n\n---\n\n".join(docs) return respuesta, docs_formateados with gr.Blocks() as demo: gr.Markdown("# Sistema de preguntas con RAG") gr.Markdown("Haz una pregunta sobre la base de conocimiento.") query = gr.Textbox( label="Tu pregunta (en inglés)", placeholder="Where is the hospital?" ) top_k = gr.Slider(1, 5, value=2, step=1, label="Top-k documentos") umbral = gr.Slider(0.0, 1.0, value=0.5, step=0.05, label="Umbral de similitud") respuesta = gr.Textbox(label="Respuesta", lines=3) docs = gr.Textbox(label="Documentos recuperados", lines=8) boton = gr.Button("Enviar") boton.click( ask, inputs=[query, top_k, umbral], outputs=[respuesta, docs], api_name="ask" ) demo.launch()