Spaces:
Build error
Build error
| import streamlit as st | |
| from groq import Groq | |
| # Define the Groq API Key | |
| GROQ_API_KEY = "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" | |
| # Initialize Groq Client using the API key | |
| client = Groq(api_key=GROQ_API_KEY) | |
| # Disease and Treatment Information Data | |
| diseases_info = { | |
| "flu": { | |
| "symptoms": ["fever", "cough", "sore throat", "body aches", "fatigue"], | |
| "treatment": "Rest, fluids, pain relievers, and anti-viral medications if prescribed.", | |
| }, | |
| "headache": { | |
| "symptoms": ["head pain", "nausea", "sensitivity to light"], | |
| "treatment": "Rest, hydration, over-the-counter painkillers, and avoid triggers.", | |
| }, | |
| "diabetes": { | |
| "symptoms": ["increased thirst", "frequent urination", "fatigue", "blurred vision"], | |
| "treatment": "Insulin therapy, lifestyle changes, and dietary management.", | |
| }, | |
| "cold": { | |
| "symptoms": ["sore throat", "runny nose", "cough", "sneezing", "mild body aches"], | |
| "treatment": "Rest, hydration, decongestants, and over-the-counter pain relief.", | |
| }, | |
| "asthma": { | |
| "symptoms": ["shortness of breath", "wheezing", "chest tightness", "coughing"], | |
| "treatment": "Inhalers, bronchodilators, corticosteroids, and avoiding triggers.", | |
| }, | |
| "hypertension": { | |
| "symptoms": ["headaches", "dizziness", "shortness of breath", "nosebleeds"], | |
| "treatment": "Medications like beta-blockers, ACE inhibitors, lifestyle changes including exercise and diet.", | |
| }, | |
| "arthritis": { | |
| "symptoms": ["joint pain", "swelling", "stiffness", "reduced range of motion"], | |
| "treatment": "Pain relievers, anti-inflammatory drugs, physical therapy, and joint protection.", | |
| }, | |
| "covid-19": { | |
| "symptoms": ["fever", "dry cough", "fatigue", "loss of taste or smell", "shortness of breath"], | |
| "treatment": "Rest, fluids, over-the-counter medications, and antiviral drugs if prescribed.", | |
| }, | |
| "anxiety": { | |
| "symptoms": ["excessive worry", "restlessness", "fatigue", "difficulty concentrating", "irritability"], | |
| "treatment": "Cognitive-behavioral therapy (CBT), medications like SSRIs, relaxation techniques.", | |
| }, | |
| "depression": { | |
| "symptoms": ["persistent sadness", "loss of interest", "fatigue", "changes in appetite or sleep patterns"], | |
| "treatment": "Antidepressants, therapy (CBT), exercise, and social support.", | |
| }, | |
| "migraine": { | |
| "symptoms": ["severe headache", "nausea", "sensitivity to light and sound"], | |
| "treatment": "Prescription medications, rest in a dark room, and lifestyle adjustments.", | |
| }, | |
| "eczema": { | |
| "symptoms": ["itchy skin", "red rashes", "dry skin", "cracked or scaly patches"], | |
| "treatment": "Moisturizers, corticosteroid creams, antihistamines, and avoiding irritants.", | |
| }, | |
| } | |
| # Function to display disease info | |
| def display_disease_info(disease_name): | |
| disease_name = disease_name.lower().replace(" ", "_") | |
| if disease_name in diseases_info: | |
| disease = diseases_info[disease_name] | |
| result = f"**Disease:** {disease_name.replace('_', ' ').title()}\n" | |
| result += f"**Symptoms:** {', '.join(disease['symptoms'])}\n" | |
| result += f"**Treatment:** {disease['treatment']}" | |
| return result | |
| else: | |
| return "Sorry, no information available for this disease." | |
| # Function to interact with Groq API for Chat Bot | |
| def chat_bot(user_input): | |
| try: | |
| chat_completion = client.chat.completions.create( | |
| messages=[{"role": "user", "content": user_input}], | |
| model="llama-3.3-70b-versatile", | |
| ) | |
| return chat_completion.choices[0].message.content | |
| except Exception as e: | |
| return f"Error: Unable to process your request. {str(e)}" | |
| # Streamlit App Interface | |
| def main(): | |
| # Title of the app | |
| st.title("Health Guide Chat Bot") | |
| # Disease Input | |
| disease_name = st.text_input("Enter Disease Name", "") | |
| if disease_name: | |
| st.subheader("Disease Information") | |
| disease_info = display_disease_info(disease_name) | |
| st.text_area("Disease Info", disease_info, height=150) | |
| # Chat Bot Section | |
| st.subheader("Chat with Bot") | |
| user_input = st.text_input("Enter a Message for the Chat Bot", "") | |
| if user_input: | |
| response = chat_bot(user_input) | |
| st.text_area("Chat Bot Response", response, height=100) | |
| # Add instructions | |
| st.markdown( | |
| """ | |
| - **Enter a disease name** in the input box to get information about symptoms and treatments. | |
| - **Chat with the bot** to get general health advice or answers to your questions. | |
| """ | |
| ) | |
| # Run the app | |
| if __name__ == "__main__": | |
| main() | |