File size: 1,706 Bytes
ceea46c bea2a5b ceea46c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import gradio as gr
from rag_pipeline import HealthcareRAG
import os
# Initialize RAG system
rag = HealthcareRAG()
def process_query(query: str) -> tuple:
"""Process user query and return response with retrieved chunks."""
result = rag.query(query)
print(result['retrieved_chunks'])
# Format retrieved chunks for display
chunks_text = "\n\n---\n\n".join(result["retrieved_chunks"])
return result["response"], chunks_text
# Create Gradio interface
with gr.Blocks(title="Healthcare Guidelines Assistant") as demo:
gr.Markdown("""
# Healthcare Guidelines Assistant
This assistant provides information based on clinical guidelines.
Please note that this is for educational purposes only and not medical advice.
**DISCLAIMER**: This information is for educational purposes only and not medical advice.
Always consult with healthcare professionals for medical decisions.
""")
with gr.Row():
with gr.Column():
query_input = gr.Textbox(
label="Your Question",
placeholder="Enter your question about clinical guidelines...",
lines=3
)
submit_btn = gr.Button("Submit")
with gr.Row():
with gr.Column():
response_output = gr.Textbox(
label="Response",
lines=5
)
chunks_output = gr.Textbox(
label="Retrieved Guidelines",
lines=10
)
submit_btn.click(
fn=process_query,
inputs=query_input,
outputs=[response_output, chunks_output]
)
if __name__ == "__main__":
demo.launch() |