Digital_Twin / app.py
Anum15's picture
Create app.py
97ceb5f verified
import gradio as gr
from transformers import pipeline
# Load LLaMA model via Hugging Face pipeline
# You can swap this with any LLaMA model hosted on Hugging Face
# Example: "meta-llama/Llama-2-7b-chat-hf" if you're authenticated
chatbot = pipeline("text-generation", model="tiiuae/falcon-7b-instruct", max_new_tokens=200)
# Disclaimer text
disclaimer = "⚠️ **Disclaimer:** Doctor Twin is an AI health companion and not a substitute for professional medical advice, diagnosis, or treatment. Always consult a qualified healthcare provider for any medical concerns."
# Simulated response handler
def doctor_twin(user_input):
if not user_input.strip():
return "Hi! Please describe your symptom or health concern so I can help you better."
prompt = f"You are Doctor Twin, a friendly virtual health assistant. Greet the user and respond empathetically with general advice. User says: {user_input}"
response = chatbot(prompt)[0]['generated_text'].split("User says:")[1].strip()
# Basic recommendations (simulated)
recommendations = []
if any(word in user_input.lower() for word in ['cold', 'cough', 'flu']):
recommendations = ["Stay hydrated", "Get plenty of rest", "Use warm fluids", "See a doctor if fever persists more than 3 days"]
elif "headache" in user_input.lower():
recommendations = ["Drink water", "Rest in a dark, quiet room", "Avoid screen time", "Consult a doctor if persistent"]
elif "sleep" in user_input.lower():
recommendations = ["Maintain regular sleep schedule", "Avoid caffeine before bed", "Try relaxation techniques"]
return response, recommendations
# Gradio interface
with gr.Blocks(title="Doctor Twin – Your Friendly Health Companion") as demo:
gr.Markdown("# 🩺 Doctor Twin – Your Friendly Health Companion")
gr.Markdown("**Helping you understand symptoms and stay informed – powered by AI.**")
gr.Markdown(disclaimer)
with gr.Row():
with gr.Column():
chatbot_input = gr.Textbox(label="Describe your symptoms or concern", placeholder="e.g., I have a sore throat and mild fever...")
submit_btn = gr.Button("Ask Doctor Twin")
with gr.Column():
chat_output = gr.Textbox(label="Doctor Twin Says", lines=6)
recommendation_output = gr.HighlightedText(label="Suggested Recommendations", combine_adjacent=True)
submit_btn.click(doctor_twin, chatbot_input, outputs=[chat_output, recommendation_output])
# Run the app
if __name__ == "__main__":
demo.launch()