DreamStream-1 commited on
Commit
99a3ba4
·
verified ·
1 Parent(s): e1d3b58

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -20
app.py CHANGED
@@ -15,9 +15,7 @@ import torch
15
  import pandas as pd
16
  import time
17
  from bs4 import BeautifulSoup
18
- from selenium import webdriver
19
- from selenium.webdriver.chrome.options import Options
20
- import chromedriver_autoinstaller
21
  import os
22
 
23
  # Google Places API endpoint
@@ -46,7 +44,6 @@ model = tflearn.DNN(net)
46
  model.load("MentalHealthChatBotmodel.tflearn")
47
 
48
  # Emotion and sentiment analysis model
49
- @st.cache_resource
50
  def load_model():
51
  tokenizer = AutoTokenizer.from_pretrained("j-hartmann/emotion-english-distilroberta-base")
52
  model = AutoModelForSequenceClassification.from_pretrained("j-hartmann/emotion-english-distilroberta-base")
@@ -65,7 +62,7 @@ def get_places_data(query, location, radius=5000, api_key="GOOGLE_API_KEY"):
65
  response = requests.get(url, params=params)
66
  if response.status_code == 200:
67
  data = response.json()
68
- return data['results']
69
  else:
70
  return []
71
 
@@ -77,7 +74,7 @@ def create_map(locations):
77
  lat = loc['geometry']['location']['lat']
78
  lng = loc['geometry']['location']['lng']
79
  folium.Marker([lat, lng], popup=name).add_to(m)
80
- return m
81
 
82
  # Sentiment Analysis function
83
  def analyze_sentiment(user_input):
@@ -134,7 +131,7 @@ def scrape_website_for_contact_info(website):
134
  try:
135
  response = requests.get(website, timeout=5)
136
  soup = BeautifulSoup(response.content, 'html.parser')
137
- phone_match = re.search(r'\(?\+?[0-9]*\)?[0-9_\- \(\)]*', soup.get_text())
138
  if phone_match:
139
  phone_number = phone_match.group()
140
  email_match = re.search(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}', soup.get_text())
@@ -144,17 +141,6 @@ def scrape_website_for_contact_info(website):
144
  print(f"Error scraping website {website}: {e}")
145
  return phone_number, email
146
 
147
- # Main Gradio interface for location search and map generation
148
- def search_and_display_location(query, location):
149
- query = query or "wellness"
150
- location = location or "21.3,-157.8" # Default location (Hawaii)
151
- places_data = get_places_data(query, location)
152
- if places_data:
153
- map_object = create_map(places_data)
154
- return map_object
155
- else:
156
- return "No results found for the given location."
157
-
158
  # Main Gradio interface for emotion detection and chatbot
159
  def emotion_and_chatbot(user_input, history, query, location):
160
  # Emotion Detection
@@ -165,7 +151,7 @@ def emotion_and_chatbot(user_input, history, query, location):
165
  # Search Places (for wellness or other queries)
166
  places_data = get_places_data(query, location)
167
  places_map = create_map(places_data) if places_data else "No places found."
168
-
169
  # Chatbot response
170
  history, _ = chatbot(user_input, history)
171
 
@@ -192,4 +178,4 @@ iface = gr.Interface(
192
 
193
  # Launch Gradio app
194
  if __name__ == "__main__":
195
- iface.launch(debug=True)
 
15
  import pandas as pd
16
  import time
17
  from bs4 import BeautifulSoup
18
+ import re # Added for regex operations
 
 
19
  import os
20
 
21
  # Google Places API endpoint
 
44
  model.load("MentalHealthChatBotmodel.tflearn")
45
 
46
  # Emotion and sentiment analysis model
 
47
  def load_model():
48
  tokenizer = AutoTokenizer.from_pretrained("j-hartmann/emotion-english-distilroberta-base")
49
  model = AutoModelForSequenceClassification.from_pretrained("j-hartmann/emotion-english-distilroberta-base")
 
62
  response = requests.get(url, params=params)
63
  if response.status_code == 200:
64
  data = response.json()
65
+ return data.get('results', [])
66
  else:
67
  return []
68
 
 
74
  lat = loc['geometry']['location']['lat']
75
  lng = loc['geometry']['location']['lng']
76
  folium.Marker([lat, lng], popup=name).add_to(m)
77
+ return m._repr_html_() # Return HTML representation
78
 
79
  # Sentiment Analysis function
80
  def analyze_sentiment(user_input):
 
131
  try:
132
  response = requests.get(website, timeout=5)
133
  soup = BeautifulSoup(response.content, 'html.parser')
134
+ phone_match = re.search(r'$$?\+?[0-9]*$$?[0-9_\- $$$$]*', soup.get_text())
135
  if phone_match:
136
  phone_number = phone_match.group()
137
  email_match = re.search(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}', soup.get_text())
 
141
  print(f"Error scraping website {website}: {e}")
142
  return phone_number, email
143
 
 
 
 
 
 
 
 
 
 
 
 
144
  # Main Gradio interface for emotion detection and chatbot
145
  def emotion_and_chatbot(user_input, history, query, location):
146
  # Emotion Detection
 
151
  # Search Places (for wellness or other queries)
152
  places_data = get_places_data(query, location)
153
  places_map = create_map(places_data) if places_data else "No places found."
154
+
155
  # Chatbot response
156
  history, _ = chatbot(user_input, history)
157
 
 
178
 
179
  # Launch Gradio app
180
  if __name__ == "__main__":
181
+ iface.launch(debug=True)