Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import pandas as pd | |
| import os | |
| # Load survey dataset from CSV | |
| survey_data = None | |
| try: | |
| if os.path.exists("survey.csv"): | |
| survey_data = pd.read_csv("survey.csv") | |
| else: | |
| # fallback fake dataset | |
| survey_data = pd.DataFrame({ | |
| "employee": ["Aiman", "Ali", "Sara"], | |
| "mood": ["Positive", "Negative", "Neutral"], | |
| "recommendation": [ | |
| "Keep up the good work!", | |
| "Take a short break to reduce stress.", | |
| "Encourage more collaboration." | |
| ] | |
| }) | |
| except Exception as e: | |
| print("Error loading CSV:", str(e)) | |
| def chatbot(query): | |
| try: | |
| if not query or query.strip() == "": | |
| return "⚠️ Please type a valid question." | |
| query_lower = query.lower() | |
| # Match employee name | |
| for i, row in survey_data.iterrows(): | |
| if row["employee"].lower() in query_lower: | |
| return f"✅ {row['employee']} is feeling **{row['mood']}**.\n💡 Recommendation: {row['recommendation']}" | |
| # No match found | |
| return "ℹ️ I don’t have data for that person. Try asking about Aiman, Ali, or Sara." | |
| except Exception as e: | |
| return f"🚨 Error: {str(e)}" | |
| # Gradio Chat Interface | |
| iface = gr.ChatInterface(fn=chatbot, title="Pulse Survey Chatbot") | |
| iface.launch() | |