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()