|
|
import gradio as gr |
|
|
|
|
|
def get_health_advice(query): |
|
|
responses = { |
|
|
"fever": "π‘οΈ For fever, take Paracetamol, rest well, and stay hydrated.", |
|
|
"cold": "π€§ Use steam inhalation, warm fluids, and over-the-counter cold medicine.", |
|
|
"headache": "π Try Ibuprofen, stay in a quiet place, and drink plenty of water.", |
|
|
"cough": "π€§ For cough, try honey and ginger tea, or use a cough suppressant if needed.", |
|
|
"stomach ache": "π΅ Drink chamomile tea or take an antacid to soothe the stomach.", |
|
|
"sore throat": "π§΄ Gargle with warm salt water, and try throat lozenges or warm tea.", |
|
|
"fatigue": "π€ Rest well, stay hydrated, and eat a balanced diet to replenish energy.", |
|
|
"nausea": "π₯ Ginger tea or peppermint can help with nausea, and avoid heavy foods.", |
|
|
"dizziness": "π§ββοΈ If feeling dizzy, sit down, hydrate, and avoid sudden movements. Seek medical attention if it persists.", |
|
|
"back pain": "πͺ Stretch and use a hot pack on the back. Over-the-counter pain relievers may help.", |
|
|
"allergy": "π€§ For mild allergies, take antihistamines or use nasal sprays for relief.", |
|
|
"hair fall": "πββοΈ For hair fall, try a balanced diet, use mild shampoos, and consider consulting a dermatologist. Regular scalp massage and reducing stress may help as well.", |
|
|
"diabetes": "π For diabetes, maintain a balanced diet with low sugar intake, exercise regularly, monitor blood sugar levels, and follow your doctor's advice for medication." |
|
|
} |
|
|
|
|
|
|
|
|
for keyword in responses: |
|
|
if keyword in query.lower(): |
|
|
return responses[keyword] |
|
|
return "β οΈ Sorry, I couldn't recognize your condition. Please consult a healthcare professional." |
|
|
|
|
|
with gr.Blocks(css=""" |
|
|
.gradio-container { |
|
|
background-color: #ffffff; |
|
|
font-family: 'Segoe UI', sans-serif; |
|
|
} |
|
|
h1 { |
|
|
color: #2ecc71; |
|
|
text-align: center; |
|
|
margin-bottom: 0; |
|
|
} |
|
|
h2 { |
|
|
color: #444; |
|
|
text-align: center; |
|
|
font-weight: normal; |
|
|
margin-top: 0; |
|
|
} |
|
|
.textbox input, .textbox textarea { |
|
|
font-size: 16px; |
|
|
padding: 12px; |
|
|
border-radius: 10px; |
|
|
border: 1px solid #ffcc80; /* Light orange border */ |
|
|
background: linear-gradient(135deg, #d1e8e2, #80cbc4); /* Light to dark gradient background */ |
|
|
color: black; /* Change text color to black */ |
|
|
} |
|
|
/* When the input field is focused (clicked), change its background to red */ |
|
|
.textbox input:focus, .textbox textarea:focus { |
|
|
border-color: #ff7043; /* Darker orange border on focus */ |
|
|
background-color: #ffcccc !important; /* Red background when focused */ |
|
|
outline: none; /* Remove default outline */ |
|
|
} |
|
|
.response-box textarea { |
|
|
background-color: #e0f7fa; /* Light blue background */ |
|
|
color: #000000; /* Black text */ |
|
|
font-size: 16px; |
|
|
padding: 12px; |
|
|
border-radius: 10px; |
|
|
border: 1px solid #ffcc80; /* Light orange border */ |
|
|
} |
|
|
.submit-btn button { |
|
|
background-color: #2ecc71; |
|
|
color: white; |
|
|
font-size: 16px; |
|
|
border-radius: 10px; |
|
|
padding: 10px 24px; |
|
|
border: none; |
|
|
} |
|
|
/* Removed hover effect completely */ |
|
|
.submit-btn button:hover { |
|
|
background-color: #2ecc71; /* Same color as the button (no hover effect) */ |
|
|
} |
|
|
""") as demo: |
|
|
|
|
|
gr.Markdown("## π©Ί MediGuide") |
|
|
gr.Markdown("### Your AI Health Assistant β Ask any health-related question") |
|
|
|
|
|
with gr.Row(): |
|
|
with gr.Column(): |
|
|
user_input = gr.Textbox( |
|
|
label="Enter your health question:", |
|
|
placeholder="e.g., What medicine should I take for cold?", |
|
|
lines=3, |
|
|
elem_classes="textbox" |
|
|
) |
|
|
submit_btn = gr.Button("Get Advice", elem_classes="submit-btn") |
|
|
with gr.Column(): |
|
|
output = gr.Textbox( |
|
|
label="MediGuide Advice:", |
|
|
lines=3, |
|
|
interactive=False, |
|
|
elem_classes="response-box" |
|
|
) |
|
|
|
|
|
submit_btn.click(fn=get_health_advice, inputs=user_input, outputs=output) |
|
|
|
|
|
demo.launch() |
|
|
|