SpanDone commited on
Commit
7b249d7
·
1 Parent(s): 4b4f0cd

New Version with Additional Fixes

Browse files
Files changed (3) hide show
  1. Dockerfile +13 -10
  2. app.py +13 -68
  3. chat_log.txt +287 -0
Dockerfile CHANGED
@@ -1,17 +1,20 @@
1
- FROM python:3.10-slim
 
2
 
 
3
  WORKDIR /app
4
 
5
- # Install system dependencies
6
- RUN apt-get update && apt-get install -y \
7
- build-essential \
8
- && rm -rf /var/lib/apt/lists/*
9
-
10
- # Copy project files
11
- COPY . /app
12
 
13
  # Install Python dependencies
14
  RUN pip install --no-cache-dir -r requirements.txt
15
 
16
- # Run Flask
17
- CMD ["python", "app.py"]
 
 
 
 
 
 
 
1
+ # Use a modern, lightweight Python version
2
+ FROM python:3.9-slim
3
 
4
+ # Set the working directory in the container
5
  WORKDIR /app
6
 
7
+ # Copy the requirements file first to leverage Docker cache
8
+ COPY requirements.txt .
 
 
 
 
 
9
 
10
  # Install Python dependencies
11
  RUN pip install --no-cache-dir -r requirements.txt
12
 
13
+ # Copy the rest of the application's code into the container
14
+ COPY . .
15
+
16
+ # Expose the port that Hugging Face expects
17
+ EXPOSE 7860
18
+
19
+ # Run the app using a production-ready server (Gunicorn)
20
+ CMD ["gunicorn", "--bind", "0.0.0.0:7860", "app:app"]
app.py CHANGED
@@ -1,5 +1,4 @@
1
  import json
2
- import sys
3
  import re
4
  import logging
5
  import math
@@ -8,16 +7,15 @@ import docx
8
  import fitz # PyMuPDF
9
  from dotenv import load_dotenv
10
  import google.generativeai as genai
11
- from flask import Flask, render_template, request, jsonify, send_file
12
  from sentence_transformers import SentenceTransformer, util
13
  from rapidfuzz import fuzz, process
14
  from urllib.parse import quote_plus
15
 
 
16
  os.environ["TRANSFORMERS_CACHE"] = "/tmp/transformers"
17
  os.environ["HF_HOME"] = "/tmp/huggingface"
18
 
19
-
20
-
21
  # --- Load environment variables and configure Gemini API ---
22
  load_dotenv()
23
  GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
@@ -25,34 +23,11 @@ genai.configure(api_key=GEMINI_API_KEY)
25
 
26
  app = Flask(__name__)
27
 
28
-
29
- # -------------------------------
30
- # Logging setup (works locally and on HF/Docker)
31
- # -------------------------------
32
- log_file = "chat_log.txt" # default local file
33
- if not os.access(".", os.W_OK):
34
- # If current directory is not writable, fallback to /tmp/
35
- log_file = "/tmp/chat_log.txt"
36
-
37
- logging.basicConfig(
38
- filename=log_file,
39
- level=logging.INFO,
40
- format='%(asctime)s - %(message)s',
41
- datefmt='%Y-%m-%d %H:%M:%S'
42
- )
43
-
44
- logging.info(f"Logging to {log_file}")
45
-
46
- # Feedback logger
47
- feedback_logger = logging.getLogger("feedback_logger")
48
 
49
  # --- Load Model & Data ---
50
-
51
- # Set HF cache to a writable folder
52
- os.environ["TRANSFORMERS_CACHE"] = "/tmp/transformers"
53
- os.environ["HF_HOME"] = "/tmp/huggingface"
54
-
55
- model = None # will load on first request
56
 
57
  def load_json(filename):
58
  try:
@@ -218,10 +193,8 @@ def extract_text_from_file(file):
218
  return text
219
 
220
  def analyze_resume_and_suggest_jobs(resume_text):
221
- """Analyzes resume, gives a score, summary, and suggests job titles in one API call."""
222
  if not GEMINI_API_KEY:
223
  return "<div class='college-card error-card'>Error: Gemini API key is not configured.</div>"
224
-
225
  prompt = f"""
226
  You are an expert career coach. Analyze the following resume text.
227
  Your response must be a single JSON object with four keys:
@@ -238,14 +211,13 @@ def analyze_resume_and_suggest_jobs(resume_text):
238
  ---
239
  """
240
  try:
241
- model = genai.GenerativeModel('gemini-1.5-pro-latest')
242
- response = model.generate_content(prompt)
243
  json_match = re.search(r'\{.*\}', response.text, re.DOTALL)
244
  if not json_match:
245
  raise ValueError("Invalid JSON response from API")
246
 
247
  feedback = json.loads(json_match.group(0))
248
-
249
  name = feedback.get('person_name', '').strip()
250
 
251
  html_response = "<div class='details-card'>"
@@ -253,13 +225,11 @@ def analyze_resume_and_suggest_jobs(resume_text):
253
  html_response += f"<h3>📝 Resume Analysis for {name}</h3>"
254
  else:
255
  html_response += f"<h3>📝 Resume Analysis</h3>"
256
-
257
  html_response += f"<p><b>Overall Score:</b> {feedback.get('overall_score', 'N/A')}/100</p>"
258
  html_response += f"<p><b>Summary:</b> <i>{feedback.get('summary', '')}</i></p>"
259
  html_response += "<b>🚀 Potential Job Roles:</b><ul>" + "".join(f"<li>{title}</li>" for title in feedback.get('job_titles', [])) + "</ul>"
260
  html_response += "</div>"
261
  return html_response
262
-
263
  except Exception as e:
264
  print(f"\n---!!! GEMINI API ERROR !!!---\n{e}\n-----------------------------\n")
265
  logging.error(f"Gemini API Error: {e}")
@@ -272,50 +242,28 @@ def analyze_resume_and_suggest_jobs(resume_text):
272
  def index():
273
  return render_template("index.html")
274
 
275
- @app.route("/download_log")
276
- def download_log():
277
- try:
278
- return send_file("chat_log.txt", as_attachment=True)
279
- except FileNotFoundError:
280
- return "Log file not found.", 404
281
-
282
  @app.route("/upload_resume", methods=["POST"])
283
  def upload_resume():
284
- if 'resume_file' not in request.files:
285
- return jsonify({"error": "No file part"}), 400
286
  file = request.files['resume_file']
287
- if file.filename == '':
288
- return jsonify({"error": "No selected file"}), 400
289
-
290
  if file and (file.filename.lower().endswith('.pdf') or file.filename.lower().endswith('.docx')):
291
  try:
292
  resume_text = extract_text_from_file(file)
293
- if not resume_text.strip():
294
- return jsonify({"response": "<div class='college-card error-card'>The uploaded file seems to be empty.</div>"})
295
-
296
  feedback_html = analyze_resume_and_suggest_jobs(resume_text)
297
-
298
  return jsonify({"response": feedback_html})
299
  except Exception as e:
300
  logging.error(f"Resume Upload Error: {e}")
301
  return jsonify({"response": "<div class='college-card error-card'>Sorry, an error occurred while processing your file.</div>"})
302
-
303
  return jsonify({"error": "Invalid file type. Please upload a PDF or DOCX file."}), 400
304
 
305
  @app.route("/chat", methods=["POST"])
306
  def chat():
307
- global model
308
- # Lazy-load model on first request
309
- if model is None:
310
- model = SentenceTransformer(
311
- "sentence-transformers/paraphrase-albert-small-v2",
312
- cache_folder="/tmp/transformers"
313
- )
314
  data = request.get_json()
315
  msg = data.get("message", "").strip()
316
  convo = data.get("conversation", {})
317
  bot_response = ""
318
-
319
  if not convo:
320
  convo = {"state": "awaiting_initial_action", "answers": {}}
321
  bot_response = "Welcome to CareerPal! You can type `start` to begin a personalized guidance session, or select a specific tool from the panel on the left."
@@ -350,7 +298,7 @@ def chat():
350
  convo['state'] = 'awaiting_end_confirmation'
351
  else:
352
  bot_response = "Sorry, I didn't understand. You can type `start` or select a feature from the panel."
353
-
354
  elif current_state == "asking_questions":
355
  last_key, _ = next_question(convo["answers"])
356
  if last_key:
@@ -464,7 +412,7 @@ def chat():
464
  convo['state'] = 'session_ended'
465
 
466
  elif current_state == 'awaiting_feedback':
467
- feedback_logger.info(f"FEEDBACK: {msg}")
468
  bot_response = "Thank you for your feedback!"
469
  bot_response += "<div class='quick-reply-container'><div class='quick-reply-button clickable-card' data-action='restart'>🔄 Start Over</div></div>"
470
  convo['state'] = 'session_ended'
@@ -473,7 +421,4 @@ def chat():
473
  return jsonify({"response": bot_response, "conversation": convo})
474
 
475
  if __name__ == "__main__":
476
- # Auto-detect: Localhost = 5000, Hugging Face = 7860
477
- port = int(os.environ.get("PORT", 5000))
478
- host = os.environ.get("HOST", "127.0.0.1")
479
- app.run(host=host, port=port, debug=True)
 
1
  import json
 
2
  import re
3
  import logging
4
  import math
 
7
  import fitz # PyMuPDF
8
  from dotenv import load_dotenv
9
  import google.generativeai as genai
10
+ from flask import Flask, render_template, request, jsonify
11
  from sentence_transformers import SentenceTransformer, util
12
  from rapidfuzz import fuzz, process
13
  from urllib.parse import quote_plus
14
 
15
+ # --- Set Cache Folders for Hugging Face Environment ---
16
  os.environ["TRANSFORMERS_CACHE"] = "/tmp/transformers"
17
  os.environ["HF_HOME"] = "/tmp/huggingface"
18
 
 
 
19
  # --- Load environment variables and configure Gemini API ---
20
  load_dotenv()
21
  GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
 
23
 
24
  app = Flask(__name__)
25
 
26
+ # --- Setup Loggers ---
27
+ logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
  # --- Load Model & Data ---
30
+ model = SentenceTransformer("sentence-transformers/paraphrase-albert-small-v2")
 
 
 
 
 
31
 
32
  def load_json(filename):
33
  try:
 
193
  return text
194
 
195
  def analyze_resume_and_suggest_jobs(resume_text):
 
196
  if not GEMINI_API_KEY:
197
  return "<div class='college-card error-card'>Error: Gemini API key is not configured.</div>"
 
198
  prompt = f"""
199
  You are an expert career coach. Analyze the following resume text.
200
  Your response must be a single JSON object with four keys:
 
211
  ---
212
  """
213
  try:
214
+ model_gen = genai.GenerativeModel('gemini-1.5-pro-latest')
215
+ response = model_gen.generate_content(prompt)
216
  json_match = re.search(r'\{.*\}', response.text, re.DOTALL)
217
  if not json_match:
218
  raise ValueError("Invalid JSON response from API")
219
 
220
  feedback = json.loads(json_match.group(0))
 
221
  name = feedback.get('person_name', '').strip()
222
 
223
  html_response = "<div class='details-card'>"
 
225
  html_response += f"<h3>📝 Resume Analysis for {name}</h3>"
226
  else:
227
  html_response += f"<h3>📝 Resume Analysis</h3>"
 
228
  html_response += f"<p><b>Overall Score:</b> {feedback.get('overall_score', 'N/A')}/100</p>"
229
  html_response += f"<p><b>Summary:</b> <i>{feedback.get('summary', '')}</i></p>"
230
  html_response += "<b>🚀 Potential Job Roles:</b><ul>" + "".join(f"<li>{title}</li>" for title in feedback.get('job_titles', [])) + "</ul>"
231
  html_response += "</div>"
232
  return html_response
 
233
  except Exception as e:
234
  print(f"\n---!!! GEMINI API ERROR !!!---\n{e}\n-----------------------------\n")
235
  logging.error(f"Gemini API Error: {e}")
 
242
  def index():
243
  return render_template("index.html")
244
 
 
 
 
 
 
 
 
245
  @app.route("/upload_resume", methods=["POST"])
246
  def upload_resume():
247
+ if 'resume_file' not in request.files: return jsonify({"error": "No file part"}), 400
 
248
  file = request.files['resume_file']
249
+ if file.filename == '': return jsonify({"error": "No selected file"}), 400
 
 
250
  if file and (file.filename.lower().endswith('.pdf') or file.filename.lower().endswith('.docx')):
251
  try:
252
  resume_text = extract_text_from_file(file)
253
+ if not resume_text.strip(): return jsonify({"response": "<div class='college-card error-card'>The uploaded file seems to be empty.</div>"})
 
 
254
  feedback_html = analyze_resume_and_suggest_jobs(resume_text)
 
255
  return jsonify({"response": feedback_html})
256
  except Exception as e:
257
  logging.error(f"Resume Upload Error: {e}")
258
  return jsonify({"response": "<div class='college-card error-card'>Sorry, an error occurred while processing your file.</div>"})
 
259
  return jsonify({"error": "Invalid file type. Please upload a PDF or DOCX file."}), 400
260
 
261
  @app.route("/chat", methods=["POST"])
262
  def chat():
 
 
 
 
 
 
 
263
  data = request.get_json()
264
  msg = data.get("message", "").strip()
265
  convo = data.get("conversation", {})
266
  bot_response = ""
 
267
  if not convo:
268
  convo = {"state": "awaiting_initial_action", "answers": {}}
269
  bot_response = "Welcome to CareerPal! You can type `start` to begin a personalized guidance session, or select a specific tool from the panel on the left."
 
298
  convo['state'] = 'awaiting_end_confirmation'
299
  else:
300
  bot_response = "Sorry, I didn't understand. You can type `start` or select a feature from the panel."
301
+
302
  elif current_state == "asking_questions":
303
  last_key, _ = next_question(convo["answers"])
304
  if last_key:
 
412
  convo['state'] = 'session_ended'
413
 
414
  elif current_state == 'awaiting_feedback':
415
+ logging.info(f"FEEDBACK: {msg}")
416
  bot_response = "Thank you for your feedback!"
417
  bot_response += "<div class='quick-reply-container'><div class='quick-reply-button clickable-card' data-action='restart'>🔄 Start Over</div></div>"
418
  convo['state'] = 'session_ended'
 
421
  return jsonify({"response": bot_response, "conversation": convo})
422
 
423
  if __name__ == "__main__":
424
+ app.run(debug=True)
 
 
 
chat_log.txt CHANGED
@@ -4244,3 +4244,290 @@ violations {
4244
  2025-09-13 13:01:57 - * Detected change in 'e:\\CareerPal\\app.py', reloading
4245
  2025-09-13 13:02:00 - * Restarting with watchdog (windowsapi)
4246
  2025-09-13 13:08:13 - * Restarting with watchdog (windowsapi)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4244
  2025-09-13 13:01:57 - * Detected change in 'e:\\CareerPal\\app.py', reloading
4245
  2025-09-13 13:02:00 - * Restarting with watchdog (windowsapi)
4246
  2025-09-13 13:08:13 - * Restarting with watchdog (windowsapi)
4247
+ 2025-09-13 14:01:42 - Use pytorch device_name: cpu
4248
+ 2025-09-13 14:01:42 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4249
+ 2025-09-13 14:01:47 - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
4250
+ * Running on http://127.0.0.1:5000
4251
+ 2025-09-13 14:01:47 - Press CTRL+C to quit
4252
+ 2025-09-13 14:01:47 - * Restarting with watchdog (windowsapi)
4253
+ 2025-09-13 14:01:53 - Use pytorch device_name: cpu
4254
+ 2025-09-13 14:01:53 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4255
+ 2025-09-13 14:01:58 - * Debugger is active!
4256
+ 2025-09-13 14:01:58 - * Debugger PIN: 815-378-899
4257
+ 2025-09-13 14:01:59 - 127.0.0.1 - - [13/Sep/2025 14:01:59] "GET / HTTP/1.1" 200 -
4258
+ 2025-09-13 14:01:59 - 127.0.0.1 - - [13/Sep/2025 14:01:59] "GET /static/style.css HTTP/1.1" 200 -
4259
+ 2025-09-13 14:01:59 - 127.0.0.1 - - [13/Sep/2025 14:01:59] "GET /static/script.js HTTP/1.1" 200 -
4260
+ 2025-09-13 14:01:59 - 127.0.0.1 - - [13/Sep/2025 14:01:59] "GET /static/logo_lighttheme.png HTTP/1.1" 200 -
4261
+ 2025-09-13 14:01:59 - 127.0.0.1 - - [13/Sep/2025 14:01:59] "GET /static/logo_darktheme.png HTTP/1.1" 200 -
4262
+ 2025-09-13 14:01:59 - --- NEW SESSION INITIALIZED ---
4263
+ 2025-09-13 14:01:59 - 127.0.0.1 - - [13/Sep/2025 14:01:59] "POST /chat HTTP/1.1" 200 -
4264
+ 2025-09-13 14:01:59 - 127.0.0.1 - - [13/Sep/2025 14:01:59] "GET /static/bot_avatar.png HTTP/1.1" 200 -
4265
+ 2025-09-13 14:02:03 - STATE: awaiting_initial_action | USER: Personalized Guidance
4266
+ 2025-09-13 14:02:03 - BOT: Great, let's find your perfect career path! I'll ask a few questions to get started. What was your academic stream after 10th?
4267
+ 2025-09-13 14:02:03 - 127.0.0.1 - - [13/Sep/2025 14:02:03] "POST /chat HTTP/1.1" 200 -
4268
+ 2025-09-13 14:11:02 - * Detected change in 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python313\\Lib\\logging\\__init__.py', reloading
4269
+ 2025-09-13 14:11:03 - * Restarting with watchdog (windowsapi)
4270
+ 2025-09-13 14:11:09 - Use pytorch device_name: cpu
4271
+ 2025-09-13 14:11:09 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4272
+ 2025-09-13 14:11:14 - * Debugger is active!
4273
+ 2025-09-13 14:11:14 - * Debugger PIN: 815-378-899
4274
+ 2025-09-13 14:11:21 - * Detected change in 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python313\\Lib\\site-packages\\sentence_transformers\\evaluation\\SentenceEvaluator.py', reloading
4275
+ 2025-09-13 14:11:21 - * Detected change in 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python313\\Lib\\site-packages\\transformers\\integrations\\__init__.py', reloading
4276
+ 2025-09-13 14:11:21 - * Detected change in 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python313\\Lib\\site-packages\\transformers\\integrations\\integration_utils.py', reloading
4277
+ 2025-09-13 14:11:22 - * Detected change in 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python313\\Lib\\site-packages\\transformers\\trainer_callback.py', reloading
4278
+ 2025-09-13 14:11:23 - * Restarting with watchdog (windowsapi)
4279
+ 2025-09-13 14:11:29 - Use pytorch device_name: cpu
4280
+ 2025-09-13 14:11:29 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4281
+ 2025-09-13 14:11:34 - * Debugger is active!
4282
+ 2025-09-13 14:11:34 - * Debugger PIN: 815-378-899
4283
+ 2025-09-13 14:14:23 - * Detected change in 'e:\\CareerPal\\app.py', reloading
4284
+ 2025-09-13 14:14:23 - * Detected change in 'e:\\CareerPal\\app.py', reloading
4285
+ 2025-09-13 14:14:24 - * Restarting with watchdog (windowsapi)
4286
+ 2025-09-13 14:16:29 - Logging to chat_log.txt
4287
+ 2025-09-13 14:16:29 - Use pytorch device_name: cpu
4288
+ 2025-09-13 14:16:29 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4289
+ 2025-09-13 14:16:34 - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
4290
+ * Running on http://127.0.0.1:5000
4291
+ 2025-09-13 14:16:34 - Press CTRL+C to quit
4292
+ 2025-09-13 14:16:34 - * Restarting with watchdog (windowsapi)
4293
+ 2025-09-13 14:16:40 - Logging to chat_log.txt
4294
+ 2025-09-13 14:16:40 - Use pytorch device_name: cpu
4295
+ 2025-09-13 14:16:40 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4296
+ 2025-09-13 14:16:46 - * Debugger is active!
4297
+ 2025-09-13 14:16:46 - * Debugger PIN: 815-378-899
4298
+ 2025-09-13 14:16:51 - 127.0.0.1 - - [13/Sep/2025 14:16:51] "GET / HTTP/1.1" 200 -
4299
+ 2025-09-13 14:16:51 - 127.0.0.1 - - [13/Sep/2025 14:16:51] "GET /static/style.css HTTP/1.1" 304 -
4300
+ 2025-09-13 14:16:51 - 127.0.0.1 - - [13/Sep/2025 14:16:51] "GET /static/logo_darktheme.png HTTP/1.1" 304 -
4301
+ 2025-09-13 14:16:51 - 127.0.0.1 - - [13/Sep/2025 14:16:51] "GET /static/logo_lighttheme.png HTTP/1.1" 304 -
4302
+ 2025-09-13 14:16:51 - 127.0.0.1 - - [13/Sep/2025 14:16:51] "GET /static/script.js HTTP/1.1" 304 -
4303
+ 2025-09-13 14:16:51 - --- NEW SESSION INITIALIZED ---
4304
+ 2025-09-13 14:16:51 - 127.0.0.1 - - [13/Sep/2025 14:16:51] "POST /chat HTTP/1.1" 200 -
4305
+ 2025-09-13 14:16:51 - 127.0.0.1 - - [13/Sep/2025 14:16:51] "GET /static/bot_avatar.png HTTP/1.1" 304 -
4306
+ 2025-09-13 14:16:57 - STATE: awaiting_initial_action | USER: Personalized Guidance
4307
+ 2025-09-13 14:16:57 - BOT: Great, let's find your perfect career path! I'll ask a few questions to get started. What was your academic stream after 10th?
4308
+ 2025-09-13 14:16:57 - 127.0.0.1 - - [13/Sep/2025 14:16:57] "POST /chat HTTP/1.1" 200 -
4309
+ 2025-09-13 14:17:01 - STATE: asking_questions | USER: science
4310
+ 2025-09-13 14:17:01 - BOT: \u2705 Okay, noted. Which subjects do you feel strongest in?
4311
+ 2025-09-13 14:17:01 - 127.0.0.1 - - [13/Sep/2025 14:17:01] "POST /chat HTTP/1.1" 200 -
4312
+ 2025-09-13 14:17:03 - 127.0.0.1 - - [13/Sep/2025 14:17:03] "GET / HTTP/1.1" 200 -
4313
+ 2025-09-13 14:17:03 - 127.0.0.1 - - [13/Sep/2025 14:17:03] "GET /static/style.css HTTP/1.1" 304 -
4314
+ 2025-09-13 14:17:03 - 127.0.0.1 - - [13/Sep/2025 14:17:03] "GET /static/script.js HTTP/1.1" 304 -
4315
+ 2025-09-13 14:17:03 - 127.0.0.1 - - [13/Sep/2025 14:17:03] "GET /static/logo_darktheme.png HTTP/1.1" 304 -
4316
+ 2025-09-13 14:17:03 - 127.0.0.1 - - [13/Sep/2025 14:17:03] "GET /static/logo_lighttheme.png HTTP/1.1" 304 -
4317
+ 2025-09-13 14:17:03 - --- NEW SESSION INITIALIZED ---
4318
+ 2025-09-13 14:17:03 - 127.0.0.1 - - [13/Sep/2025 14:17:03] "POST /chat HTTP/1.1" 200 -
4319
+ 2025-09-13 14:17:03 - 127.0.0.1 - - [13/Sep/2025 14:17:03] "GET /static/bot_avatar.png HTTP/1.1" 304 -
4320
+ 2025-09-13 14:19:17 - STATE: awaiting_initial_action | USER: Resume Analyser
4321
+ 2025-09-13 14:19:17 - BOT: Great! Please upload your resume (PDF or DOCX format) using the upload button below.
4322
+ 2025-09-13 14:19:17 - 127.0.0.1 - - [13/Sep/2025 14:19:17] "POST /chat HTTP/1.1" 200 -
4323
+ 2025-09-13 14:19:26 - 127.0.0.1 - - [13/Sep/2025 14:19:26] "POST /upload_resume HTTP/1.1" 200 -
4324
+ 2025-09-13 14:26:31 - * Detected change in 'e:\\CareerPal\\app.py', reloading
4325
+ 2025-09-13 14:26:31 - * Detected change in 'e:\\CareerPal\\app.py', reloading
4326
+ 2025-09-13 14:26:34 - * Restarting with watchdog (windowsapi)
4327
+ 2025-09-13 14:26:39 - Logging to chat_log.txt
4328
+ 2025-09-13 14:26:39 - Use pytorch device_name: cpu
4329
+ 2025-09-13 14:26:39 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4330
+ 2025-09-13 14:26:52 - Logging to chat_log.txt
4331
+ 2025-09-13 14:26:52 - Use pytorch device_name: cpu
4332
+ 2025-09-13 14:26:52 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4333
+ 2025-09-13 14:26:56 - Xet Storage is enabled for this repo, but the 'hf_xet' package is not installed. Falling back to regular HTTP download. For better performance, install the package with: `pip install huggingface_hub[hf_xet]` or `pip install hf_xet`
4334
+ 2025-09-13 14:27:05 - Xet Storage is enabled for this repo, but the 'hf_xet' package is not installed. Falling back to regular HTTP download. For better performance, install the package with: `pip install huggingface_hub[hf_xet]` or `pip install hf_xet`
4335
+ 2025-09-13 14:27:07 - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
4336
+ * Running on http://127.0.0.1:5000
4337
+ 2025-09-13 14:27:07 - Press CTRL+C to quit
4338
+ 2025-09-13 14:27:07 - * Restarting with watchdog (windowsapi)
4339
+ 2025-09-13 14:27:13 - Logging to chat_log.txt
4340
+ 2025-09-13 14:27:13 - Use pytorch device_name: cpu
4341
+ 2025-09-13 14:27:13 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4342
+ 2025-09-13 14:27:18 - * Debugger is active!
4343
+ 2025-09-13 14:27:18 - * Debugger PIN: 815-378-899
4344
+ 2025-09-13 14:27:18 - 127.0.0.1 - - [13/Sep/2025 14:27:18] "GET / HTTP/1.1" 200 -
4345
+ 2025-09-13 14:27:18 - 127.0.0.1 - - [13/Sep/2025 14:27:18] "GET /static/style.css HTTP/1.1" 304 -
4346
+ 2025-09-13 14:27:18 - 127.0.0.1 - - [13/Sep/2025 14:27:18] "GET /static/script.js HTTP/1.1" 304 -
4347
+ 2025-09-13 14:27:18 - 127.0.0.1 - - [13/Sep/2025 14:27:18] "GET /static/logo_darktheme.png HTTP/1.1" 304 -
4348
+ 2025-09-13 14:27:18 - 127.0.0.1 - - [13/Sep/2025 14:27:18] "GET /static/logo_lighttheme.png HTTP/1.1" 304 -
4349
+ 2025-09-13 14:27:18 - --- NEW SESSION INITIALIZED ---
4350
+ 2025-09-13 14:27:18 - 127.0.0.1 - - [13/Sep/2025 14:27:18] "POST /chat HTTP/1.1" 200 -
4351
+ 2025-09-13 14:27:18 - 127.0.0.1 - - [13/Sep/2025 14:27:18] "GET /static/bot_avatar.png HTTP/1.1" 304 -
4352
+ 2025-09-13 14:27:21 - STATE: awaiting_initial_action | USER: Personalized Guidance
4353
+ 2025-09-13 14:27:21 - BOT: Great, let's find your perfect career path! I'll ask a few questions to get started. What was your academic stream after 10th?
4354
+ 2025-09-13 14:27:21 - 127.0.0.1 - - [13/Sep/2025 14:27:21] "POST /chat HTTP/1.1" 200 -
4355
+ 2025-09-13 14:27:24 - STATE: asking_questions | USER: science
4356
+ 2025-09-13 14:27:24 - BOT: \u2705 Okay, noted. Which subjects do you feel strongest in?
4357
+ 2025-09-13 14:27:24 - 127.0.0.1 - - [13/Sep/2025 14:27:24] "POST /chat HTTP/1.1" 200 -
4358
+ 2025-09-13 14:27:28 - STATE: asking_questions | USER: science
4359
+ 2025-09-13 14:27:28 - BOT: \U0001f525 Nice! Being strong in Science is a great asset. Which subjects do you find most difficult?
4360
+ 2025-09-13 14:27:28 - 127.0.0.1 - - [13/Sep/2025 14:27:28] "POST /chat HTTP/1.1" 200 -
4361
+ 2025-09-13 14:27:33 - STATE: asking_questions | USER: maths
4362
+ 2025-09-13 14:27:33 - BOT: \U0001f44c Got it � I�ll stay away from careers heavy in Math. Do you learn better through practical work or theory/research?
4363
+ 2025-09-13 14:27:33 - 127.0.0.1 - - [13/Sep/2025 14:27:33] "POST /chat HTTP/1.1" 200 -
4364
+ 2025-09-13 14:27:40 - STATE: asking_questions | USER: practical work
4365
+ 2025-09-13 14:27:40 - BOT: \u2705 Okay, noted. What kind of work environment do you prefer? (e.g., an office, a lab, outdoors, a workshop)
4366
+ 2025-09-13 14:27:40 - 127.0.0.1 - - [13/Sep/2025 14:27:40] "POST /chat HTTP/1.1" 200 -
4367
+ 2025-09-13 14:27:43 - STATE: asking_questions | USER: a lab
4368
+ 2025-09-13 14:27:43 - BOT: \u2705 Okay, noted. Do you prefer working alone or collaboratively?
4369
+ 2025-09-13 14:27:43 - 127.0.0.1 - - [13/Sep/2025 14:27:43] "POST /chat HTTP/1.1" 200 -
4370
+ 2025-09-13 14:27:47 - STATE: asking_questions | USER: team
4371
+ 2025-09-13 14:27:47 - BOT: \u2705 Okay, noted. Outside academics, what hobbies do you enjoy?
4372
+ 2025-09-13 14:27:47 - 127.0.0.1 - - [13/Sep/2025 14:27:47] "POST /chat HTTP/1.1" 200 -
4373
+ 2025-09-13 14:27:55 - STATE: asking_questions | USER: driving
4374
+ 2025-09-13 14:27:55 - BOT: \U0001f60e Cool! Enjoying Driving gives me clues about your personality. What topics or fields are you generally curious about?
4375
+ 2025-09-13 14:27:55 - 127.0.0.1 - - [13/Sep/2025 14:27:55] "POST /chat HTTP/1.1" 200 -
4376
+ 2025-09-13 14:28:04 - STATE: asking_questions | USER: chemicals
4377
+ 2025-09-13 14:28:04 - BOT: \U0001f44d That's insightful! An interest in Chemical helps narrow down the options. What motivates your future most? (e.g., money, creativity, helping people, innovation, stability)
4378
+ 2025-09-13 14:28:04 - 127.0.0.1 - - [13/Sep/2025 14:28:04] "POST /chat HTTP/1.1" 200 -
4379
+ 2025-09-13 14:28:09 - STATE: asking_questions | USER: innovation
4380
+ 2025-09-13 14:28:12 - BOT: \U0001f680 Here are my top recommendations for you: 1. B.Sc. in Food Technology Studies the science behind food production, packaging, safety, and nutritional value. An excellent field for science students who are interested in the food industry and enjoy lab work. 2. Bachelor of Medical Laboratory Technology (BMLT) Trains students in diagnosing diseases through laboratory tests on clinical samples. This is a vital healthcare role for science students who are meticulous, analytical, and enjoy investigative work in a lab setting. 3. B.Sc. in Forensic Science Applies scientific methods to crime investigation and legal evidence analysis. Suited for detail-oriented students with a strong interest in science and justice. \u2696\ufe0f Compare Courses Click a course for more details, compare, or end the session. \U0001f6aa End Chat
4381
+ 2025-09-13 14:28:12 - 127.0.0.1 - - [13/Sep/2025 14:28:12] "POST /chat HTTP/1.1" 200 -
4382
+ 2025-09-13 14:28:16 - STATE: awaiting_more_details | USER: 2
4383
+ 2025-09-13 14:28:16 - BOT: \U0001f393 Bachelor of Medical Laboratory Technology (BMLT) Trains students in diagnosing diseases through laboratory tests on clinical samples. This is a vital healthcare role for science students who are meticulous, analytical, and enjoy investigative work in a lab setting. \U0001f4bc Potential Career Paths: Lab Technologist Path Lab Assistant Diagnostic Consultant \u2705 Entry Requirements: 12th PCB. \U0001f4da Key Subjects You'll Study: Hematology Clinical Biochemistry Microbiology Pathology Would you like to find nearby colleges for this course? \U0001f44d Yes \U0001f44e No
4384
+ 2025-09-13 14:28:16 - 127.0.0.1 - - [13/Sep/2025 14:28:16] "POST /chat HTTP/1.1" 200 -
4385
+ 2025-09-13 14:28:21 - STATE: awaiting_college_search_confirmation | USER: 3
4386
+ 2025-09-13 14:28:21 - BOT: No problem. You can explore other recommendations, compare courses, or select a new feature from the left panel. \U0001f6aa End Chat
4387
+ 2025-09-13 14:28:21 - 127.0.0.1 - - [13/Sep/2025 14:28:21] "POST /chat HTTP/1.1" 200 -
4388
+ 2025-09-13 14:28:24 - STATE: awaiting_more_details | USER: 3
4389
+ 2025-09-13 14:28:24 - BOT: \U0001f393 B.Sc. in Forensic Science Applies scientific methods to crime investigation and legal evidence analysis. Suited for detail-oriented students with a strong interest in science and justice. \U0001f4bc Potential Career Paths: Forensic Scientist Crime Scene Investigator Toxicologist DNA Analyst \u2705 Entry Requirements: 12th with PCB/PCM. \U0001f4da Key Subjects You'll Study: Forensic Biology Criminal Law Toxicology DNA Analysis Ballistics Would you like to find nearby colleges for this course? \U0001f44d Yes \U0001f44e No
4390
+ 2025-09-13 14:28:24 - 127.0.0.1 - - [13/Sep/2025 14:28:24] "POST /chat HTTP/1.1" 200 -
4391
+ 2025-09-13 14:28:27 - STATE: awaiting_college_search_confirmation | USER: Yes
4392
+ 2025-09-13 14:28:27 - BOT: Great! Please provide your 6-digit PIN code.
4393
+ 2025-09-13 14:28:27 - 127.0.0.1 - - [13/Sep/2025 14:28:27] "POST /chat HTTP/1.1" 200 -
4394
+ 2025-09-13 14:28:31 - STATE: awaiting_pincode | USER: 400603
4395
+ 2025-09-13 14:28:31 - BOT: I couldn't find any colleges in my database offering B.Sc. in Forensic Science . \U0001f50e Search Again \U0001f6aa End Chat
4396
+ 2025-09-13 14:28:31 - 127.0.0.1 - - [13/Sep/2025 14:28:31] "POST /chat HTTP/1.1" 200 -
4397
+ 2025-09-13 14:28:37 - STATE: awaiting_initial_action | USER: 1
4398
+ 2025-09-13 14:28:37 - BOT: Sorry, I didn't understand. You can type `start` or select a feature from the panel.
4399
+ 2025-09-13 14:28:37 - 127.0.0.1 - - [13/Sep/2025 14:28:37] "POST /chat HTTP/1.1" 200 -
4400
+ 2025-09-13 14:28:41 - STATE: awaiting_initial_action | USER: College Location Finder
4401
+ 2025-09-13 14:28:41 - BOT: Happy to help you find colleges! What is the name of the course you're interested in?
4402
+ 2025-09-13 14:28:41 - 127.0.0.1 - - [13/Sep/2025 14:28:41] "POST /chat HTTP/1.1" 200 -
4403
+ 2025-09-13 14:28:45 - STATE: awaiting_course_for_college_search | USER: 1
4404
+ 2025-09-13 14:28:45 - BOT: I couldn't find a clear match for that course. Could you please try rephrasing or be more specific?
4405
+ 2025-09-13 14:28:45 - 127.0.0.1 - - [13/Sep/2025 14:28:45] "POST /chat HTTP/1.1" 200 -
4406
+ 2025-09-13 14:28:55 - STATE: awaiting_course_for_college_search | USER: 1
4407
+ 2025-09-13 14:28:55 - BOT: I couldn't find a clear match for that course. Could you please try rephrasing or be more specific?
4408
+ 2025-09-13 14:28:55 - 127.0.0.1 - - [13/Sep/2025 14:28:55] "POST /chat HTTP/1.1" 200 -
4409
+ 2025-09-13 14:29:05 - STATE: awaiting_course_for_college_search | USER: bsc in food technology
4410
+ 2025-09-13 14:29:05 - BOT: Okay, searching for colleges offering ' B.Sc. in Food Technology '. Please provide your 6-digit area PIN code.
4411
+ 2025-09-13 14:29:05 - 127.0.0.1 - - [13/Sep/2025 14:29:05] "POST /chat HTTP/1.1" 200 -
4412
+ 2025-09-13 14:29:10 - STATE: awaiting_pincode | USER: 400603
4413
+ 2025-09-13 14:29:10 - BOT: \U0001f3af Top Matches for B.Sc. in Food Technology near 400603 Institute of Chemical Technology (ICT), Matunga (400019) Approx. 21 km away \U0001f50e Search Again \U0001f6aa End Chat
4414
+ 2025-09-13 14:29:10 - 127.0.0.1 - - [13/Sep/2025 14:29:10] "POST /chat HTTP/1.1" 200 -
4415
+ 2025-09-13 14:29:12 - STATE: awaiting_initial_action | USER: Resume Analyser
4416
+ 2025-09-13 14:29:12 - BOT: Great! Please upload your resume (PDF or DOCX format) using the upload button below.
4417
+ 2025-09-13 14:29:12 - 127.0.0.1 - - [13/Sep/2025 14:29:12] "POST /chat HTTP/1.1" 200 -
4418
+ 2025-09-13 14:29:20 - 127.0.0.1 - - [13/Sep/2025 14:29:20] "POST /upload_resume HTTP/1.1" 200 -
4419
+ 2025-09-13 15:03:58 - * Detected change in 'C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python313\\Lib\\urllib\\parse.py', reloading
4420
+ 2025-09-13 15:04:01 - * Restarting with watchdog (windowsapi)
4421
+ 2025-09-13 15:04:08 - Logging to chat_log.txt
4422
+ 2025-09-13 15:04:08 - Use pytorch device_name: cpu
4423
+ 2025-09-13 15:04:08 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4424
+ 2025-09-13 15:04:13 - * Debugger is active!
4425
+ 2025-09-13 15:04:13 - * Debugger PIN: 815-378-899
4426
+ 2025-09-13 15:05:50 - * Detected change in 'e:\\CareerPal\\app.py', reloading
4427
+ 2025-09-13 15:05:51 - * Restarting with watchdog (windowsapi)
4428
+ 2025-09-13 15:05:57 - Logging to chat_log.txt
4429
+ 2025-09-13 15:05:57 - Use pytorch device_name: cpu
4430
+ 2025-09-13 15:05:57 - Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2
4431
+ 2025-09-13 15:06:01 - Xet Storage is enabled for this repo, but the 'hf_xet' package is not installed. Falling back to regular HTTP download. For better performance, install the package with: `pip install huggingface_hub[hf_xet]` or `pip install hf_xet`
4432
+ 2025-09-13 15:06:21 - * Debugger is active!
4433
+ 2025-09-13 15:06:21 - * Debugger PIN: 815-378-899
4434
+ 2025-09-13 15:07:02 - Logging to chat_log.txt
4435
+ 2025-09-13 15:07:02 - Use pytorch device_name: cpu
4436
+ 2025-09-13 15:07:02 - Load pretrained SentenceTransformer: sentence-transformers/all-MiniLM-L6-v2
4437
+ 2025-09-13 15:07:07 - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
4438
+ * Running on http://127.0.0.1:5000
4439
+ 2025-09-13 15:07:07 - Press CTRL+C to quit
4440
+ 2025-09-13 15:07:07 - * Restarting with watchdog (windowsapi)
4441
+ 2025-09-13 15:38:38 - Logging to chat_log.txt
4442
+ 2025-09-13 15:38:38 - WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
4443
+ * Running on http://127.0.0.1:5000
4444
+ 2025-09-13 15:38:38 - Press CTRL+C to quit
4445
+ 2025-09-13 15:38:38 - * Restarting with watchdog (windowsapi)
4446
+ 2025-09-13 15:38:44 - Logging to chat_log.txt
4447
+ 2025-09-13 15:38:44 - * Debugger is active!
4448
+ 2025-09-13 15:38:44 - * Debugger PIN: 815-378-899
4449
+ 2025-09-13 15:38:44 - 127.0.0.1 - - [13/Sep/2025 15:38:44] "GET / HTTP/1.1" 200 -
4450
+ 2025-09-13 15:38:44 - 127.0.0.1 - - [13/Sep/2025 15:38:44] "GET /static/style.css HTTP/1.1" 304 -
4451
+ 2025-09-13 15:38:44 - 127.0.0.1 - - [13/Sep/2025 15:38:44] "GET /static/logo_darktheme.png HTTP/1.1" 304 -
4452
+ 2025-09-13 15:38:44 - 127.0.0.1 - - [13/Sep/2025 15:38:44] "GET /static/logo_lighttheme.png HTTP/1.1" 304 -
4453
+ 2025-09-13 15:38:44 - 127.0.0.1 - - [13/Sep/2025 15:38:44] "GET /static/script.js HTTP/1.1" 304 -
4454
+ 2025-09-13 15:38:44 - Use pytorch device_name: cpu
4455
+ 2025-09-13 15:38:44 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4456
+ 2025-09-13 15:38:47 - 127.0.0.1 - - [13/Sep/2025 15:38:47] "GET /static/bot_avatar.png HTTP/1.1" 304 -
4457
+ 2025-09-13 15:38:47 - Use pytorch device_name: cpu
4458
+ 2025-09-13 15:38:47 - Load pretrained SentenceTransformer: sentence-transformers/paraphrase-albert-small-v2
4459
+ 2025-09-13 15:38:49 - --- NEW SESSION INITIALIZED ---
4460
+ 2025-09-13 15:38:49 - 127.0.0.1 - - [13/Sep/2025 15:38:49] "POST /chat HTTP/1.1" 200 -
4461
+ 2025-09-13 15:38:51 - --- NEW SESSION INITIALIZED ---
4462
+ 2025-09-13 15:38:51 - 127.0.0.1 - - [13/Sep/2025 15:38:51] "POST /chat HTTP/1.1" 200 -
4463
+ 2025-09-13 15:38:54 - 127.0.0.1 - - [13/Sep/2025 15:38:54] "GET / HTTP/1.1" 200 -
4464
+ 2025-09-13 15:38:54 - 127.0.0.1 - - [13/Sep/2025 15:38:54] "GET /static/style.css HTTP/1.1" 304 -
4465
+ 2025-09-13 15:38:54 - 127.0.0.1 - - [13/Sep/2025 15:38:54] "GET /static/script.js HTTP/1.1" 304 -
4466
+ 2025-09-13 15:38:54 - 127.0.0.1 - - [13/Sep/2025 15:38:54] "GET /static/logo_darktheme.png HTTP/1.1" 304 -
4467
+ 2025-09-13 15:38:54 - 127.0.0.1 - - [13/Sep/2025 15:38:54] "GET /static/logo_lighttheme.png HTTP/1.1" 304 -
4468
+ 2025-09-13 15:38:54 - --- NEW SESSION INITIALIZED ---
4469
+ 2025-09-13 15:38:54 - 127.0.0.1 - - [13/Sep/2025 15:38:54] "POST /chat HTTP/1.1" 200 -
4470
+ 2025-09-13 15:38:54 - 127.0.0.1 - - [13/Sep/2025 15:38:54] "GET /static/bot_avatar.png HTTP/1.1" 304 -
4471
+ 2025-09-13 15:38:56 - 127.0.0.1 - - [13/Sep/2025 15:38:56] "GET / HTTP/1.1" 200 -
4472
+ 2025-09-13 15:38:56 - 127.0.0.1 - - [13/Sep/2025 15:38:56] "GET /static/style.css HTTP/1.1" 304 -
4473
+ 2025-09-13 15:38:56 - 127.0.0.1 - - [13/Sep/2025 15:38:56] "GET /static/script.js HTTP/1.1" 304 -
4474
+ 2025-09-13 15:38:56 - 127.0.0.1 - - [13/Sep/2025 15:38:56] "GET /static/logo_darktheme.png HTTP/1.1" 304 -
4475
+ 2025-09-13 15:38:56 - 127.0.0.1 - - [13/Sep/2025 15:38:56] "GET /static/logo_lighttheme.png HTTP/1.1" 304 -
4476
+ 2025-09-13 15:38:56 - --- NEW SESSION INITIALIZED ---
4477
+ 2025-09-13 15:38:56 - 127.0.0.1 - - [13/Sep/2025 15:38:56] "POST /chat HTTP/1.1" 200 -
4478
+ 2025-09-13 15:38:56 - 127.0.0.1 - - [13/Sep/2025 15:38:56] "GET /static/bot_avatar.png HTTP/1.1" 304 -
4479
+ 2025-09-13 15:38:59 - 127.0.0.1 - - [13/Sep/2025 15:38:59] "GET / HTTP/1.1" 200 -
4480
+ 2025-09-13 15:38:59 - 127.0.0.1 - - [13/Sep/2025 15:38:59] "GET /static/style.css HTTP/1.1" 304 -
4481
+ 2025-09-13 15:38:59 - 127.0.0.1 - - [13/Sep/2025 15:38:59] "GET /static/logo_darktheme.png HTTP/1.1" 304 -
4482
+ 2025-09-13 15:38:59 - 127.0.0.1 - - [13/Sep/2025 15:38:59] "GET /static/logo_lighttheme.png HTTP/1.1" 304 -
4483
+ 2025-09-13 15:38:59 - 127.0.0.1 - - [13/Sep/2025 15:38:59] "GET /static/script.js HTTP/1.1" 304 -
4484
+ 2025-09-13 15:38:59 - --- NEW SESSION INITIALIZED ---
4485
+ 2025-09-13 15:38:59 - 127.0.0.1 - - [13/Sep/2025 15:38:59] "POST /chat HTTP/1.1" 200 -
4486
+ 2025-09-13 15:38:59 - 127.0.0.1 - - [13/Sep/2025 15:38:59] "GET /static/bot_avatar.png HTTP/1.1" 304 -
4487
+ 2025-09-13 15:39:02 - 127.0.0.1 - - [13/Sep/2025 15:39:02] "GET / HTTP/1.1" 200 -
4488
+ 2025-09-13 15:39:02 - 127.0.0.1 - - [13/Sep/2025 15:39:02] "GET /static/style.css HTTP/1.1" 304 -
4489
+ 2025-09-13 15:39:02 - 127.0.0.1 - - [13/Sep/2025 15:39:02] "GET /static/script.js HTTP/1.1" 304 -
4490
+ 2025-09-13 15:39:02 - 127.0.0.1 - - [13/Sep/2025 15:39:02] "GET /static/logo_darktheme.png HTTP/1.1" 304 -
4491
+ 2025-09-13 15:39:02 - 127.0.0.1 - - [13/Sep/2025 15:39:02] "GET /static/logo_lighttheme.png HTTP/1.1" 304 -
4492
+ 2025-09-13 15:39:02 - --- NEW SESSION INITIALIZED ---
4493
+ 2025-09-13 15:39:02 - 127.0.0.1 - - [13/Sep/2025 15:39:02] "POST /chat HTTP/1.1" 200 -
4494
+ 2025-09-13 15:39:02 - 127.0.0.1 - - [13/Sep/2025 15:39:02] "GET /static/bot_avatar.png HTTP/1.1" 304 -
4495
+ 2025-09-13 15:39:05 - STATE: awaiting_initial_action | USER: Personalized Guidance
4496
+ 2025-09-13 15:39:05 - BOT: Great, let's find your perfect career path! I'll ask a few questions to get started. What was your academic stream after 10th?
4497
+ 2025-09-13 15:39:05 - 127.0.0.1 - - [13/Sep/2025 15:39:05] "POST /chat HTTP/1.1" 200 -
4498
+ 2025-09-13 15:39:08 - STATE: asking_questions | USER: science
4499
+ 2025-09-13 15:39:08 - BOT: \u2705 Okay, noted. Which subjects do you feel strongest in?
4500
+ 2025-09-13 15:39:08 - 127.0.0.1 - - [13/Sep/2025 15:39:08] "POST /chat HTTP/1.1" 200 -
4501
+ 2025-09-13 15:39:10 - STATE: asking_questions | USER: maths
4502
+ 2025-09-13 15:39:10 - BOT: \U0001f525 Nice! Being strong in Math is a great asset. Which subjects do you find most difficult?
4503
+ 2025-09-13 15:39:10 - 127.0.0.1 - - [13/Sep/2025 15:39:10] "POST /chat HTTP/1.1" 200 -
4504
+ 2025-09-13 15:39:14 - STATE: asking_questions | USER: chemisrty
4505
+ 2025-09-13 15:39:14 - BOT: \U0001f44c Got it � I�ll stay away from careers heavy in Chemistry. Do you learn better through practical work or theory/research?
4506
+ 2025-09-13 15:39:14 - 127.0.0.1 - - [13/Sep/2025 15:39:14] "POST /chat HTTP/1.1" 200 -
4507
+ 2025-09-13 15:39:18 - STATE: asking_questions | USER: work
4508
+ 2025-09-13 15:39:18 - BOT: \u2705 Okay, noted. What kind of work environment do you prefer? (e.g., an office, a lab, outdoors, a workshop)
4509
+ 2025-09-13 15:39:18 - 127.0.0.1 - - [13/Sep/2025 15:39:18] "POST /chat HTTP/1.1" 200 -
4510
+ 2025-09-13 15:39:25 - STATE: asking_questions | USER: office
4511
+ 2025-09-13 15:39:25 - BOT: \u2705 Okay, noted. Do you prefer working alone or collaboratively?
4512
+ 2025-09-13 15:39:25 - 127.0.0.1 - - [13/Sep/2025 15:39:25] "POST /chat HTTP/1.1" 200 -
4513
+ 2025-09-13 15:39:27 - STATE: asking_questions | USER: alone
4514
+ 2025-09-13 15:39:27 - BOT: \u2705 Okay, noted. Outside academics, what hobbies do you enjoy?
4515
+ 2025-09-13 15:39:27 - 127.0.0.1 - - [13/Sep/2025 15:39:27] "POST /chat HTTP/1.1" 200 -
4516
+ 2025-09-13 15:39:30 - STATE: asking_questions | USER: gaming
4517
+ 2025-09-13 15:39:30 - BOT: \U0001f60e Cool! Enjoying Gaming gives me clues about your personality. What topics or fields are you generally curious about?
4518
+ 2025-09-13 15:39:30 - 127.0.0.1 - - [13/Sep/2025 15:39:30] "POST /chat HTTP/1.1" 200 -
4519
+ 2025-09-13 15:39:33 - STATE: asking_questions | USER: ai
4520
+ 2025-09-13 15:39:33 - BOT: \U0001f44d That's insightful! An interest in Ai helps narrow down the options. What motivates your future most? (e.g., money, creativity, helping people, innovation, stability)
4521
+ 2025-09-13 15:39:33 - 127.0.0.1 - - [13/Sep/2025 15:39:33] "POST /chat HTTP/1.1" 200 -
4522
+ 2025-09-13 15:39:37 - STATE: asking_questions | USER: creativity
4523
+ 2025-09-13 15:39:40 - BOT: \U0001f680 Here are my top recommendations for you: 1. B.Sc. in Data Science & Artificial Intelligence An interdisciplinary degree for analytical minds, combining programming, AI, and statistics to build intelligent data-driven systems and solve complex problems. 2. B.Tech in Artificial Intelligence & Machine Learning An engineering course focused entirely on AI algorithms, ML models, and intelligent systems. Ideal for innovative problem-solvers who want to be at the forefront of technology. 3. B.Sc. in Physics Covers classical and modern physics, mathematics, and their practical applications. A challenging and rewarding field for students with strong analytical and problem-solving skills. \u2696\ufe0f Compare Courses Click a course for more details, compare, or end the session. \U0001f6aa End Chat
4524
+ 2025-09-13 15:39:40 - 127.0.0.1 - - [13/Sep/2025 15:39:40] "POST /chat HTTP/1.1" 200 -
4525
+ 2025-09-13 15:39:50 - STATE: awaiting_more_details | USER: 1
4526
+ 2025-09-13 15:39:50 - BOT: \U0001f393 B.Sc. in Data Science & Artificial Intelligence An interdisciplinary degree for analytical minds, combining programming, AI, and statistics to build intelligent data-driven systems and solve complex problems. \U0001f4bc Potential Career Paths: Data Scientist AI Engineer ML Engineer Data Analyst Business Intelligence Analyst \u2705 Entry Requirements: 12th with Mathematics (PCM/PCMB); some colleges require entrance exams. \U0001f4da Key Subjects You'll Study: Python Programming Machine Learning Statistics Deep Learning Data Visualization Would you like to find nearby colleges for this course? \U0001f44d Yes \U0001f44e No
4527
+ 2025-09-13 15:39:50 - 127.0.0.1 - - [13/Sep/2025 15:39:50] "POST /chat HTTP/1.1" 200 -
4528
+ 2025-09-13 15:39:58 - STATE: awaiting_college_search_confirmation | USER: Yes
4529
+ 2025-09-13 15:39:58 - BOT: Great! Please provide your 6-digit PIN code.
4530
+ 2025-09-13 15:39:58 - 127.0.0.1 - - [13/Sep/2025 15:39:58] "POST /chat HTTP/1.1" 200 -
4531
+ 2025-09-13 15:40:02 - STATE: awaiting_pincode | USER: 400603
4532
+ 2025-09-13 15:40:02 - BOT: \U0001f3af Top Matches for B.Sc. in Data Science & Artificial Intelligence near 400603 Ramniranjan Jhunjhunwala College, Ghatkopar (400086) Approx. 12 km away \U0001f50e Search Again \U0001f6aa End Chat
4533
+ 2025-09-13 15:40:02 - 127.0.0.1 - - [13/Sep/2025 15:40:02] "POST /chat HTTP/1.1" 200 -