UKURIKIYEYEZU commited on
Commit
71ea214
·
verified ·
1 Parent(s): 2558dea

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +29 -15
app.py CHANGED
@@ -352,36 +352,49 @@ class OpenRouterLLM:
352
 
353
 
354
  class UserSession:
355
- def __init__(self):
356
  self.current_user = None
357
  self.welcome_message = None
358
  self.conversation_history = [] # Add conversation history storage
359
-
 
360
  def set_user(self, user_info):
361
  self.current_user = user_info
362
  self.set_welcome_message(user_info.get("Nickname", "Guest"))
363
  # Initialize conversation history with welcome message
364
  welcome = self.get_welcome_message()
365
- #initial_message = (" "
366
- #)
367
  self.conversation_history = [
368
  {"role": "assistant", "content": welcome},
369
- #{"role": "assistant", "content": initial_message}
370
  ]
371
-
372
  def get_user(self):
373
  return self.current_user
374
-
375
  def set_welcome_message(self, Nickname):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  self.welcome_message = (
377
  f"<div style='font-size: 24px; font-weight: bold; color: #2E86C1;'>"
378
  f"Welcome {Nickname}! 👋</div>"
379
- f"<div style='font-size: 20px'>"
380
- f"We appreciate you reaching out to us. You are in a safe and trusted space designed to support you. "
381
- f"Here, you can find guidance on gender-based violence (GBV) and legal assistance.<br><br>"
382
  f"</div>"
383
  )
384
-
385
  def get_welcome_message(self):
386
  return self.welcome_message
387
 
@@ -401,8 +414,9 @@ class UserSession:
401
  formatted_history += f"{role}: {entry['content']}\n\n"
402
  return formatted_history
403
 
404
- # Initialize session
405
- user_session = UserSession()
 
406
 
407
  # Store user details and handle session
408
  def collect_user_info(Nickname):
@@ -581,7 +595,7 @@ def chatbot_interface():
581
  with gr.Blocks() as demo:
582
  # User registration section
583
  with gr.Column(visible=True, elem_id="registration_container") as registration_container:
584
- gr.Markdown("### Your privacy is our concern, please provide your nickname.")
585
 
586
  with gr.Row():
587
  first_name = gr.Textbox(
@@ -605,7 +619,7 @@ def chatbot_interface():
605
  )
606
 
607
  # Footer with version info
608
- gr.Markdown("Ijwi ry'Ubufasha_Chatbot v1.0.0 © 2025")
609
 
610
  # Handle user registration
611
  submit_btn.click(
 
352
 
353
 
354
  class UserSession:
355
+ def __init__(self, llm: OpenRouterLLM): # Accept an instance of OpenRouterLLM
356
  self.current_user = None
357
  self.welcome_message = None
358
  self.conversation_history = [] # Add conversation history storage
359
+ self.llm = llm # Store the LLM instance
360
+
361
  def set_user(self, user_info):
362
  self.current_user = user_info
363
  self.set_welcome_message(user_info.get("Nickname", "Guest"))
364
  # Initialize conversation history with welcome message
365
  welcome = self.get_welcome_message()
 
 
366
  self.conversation_history = [
367
  {"role": "assistant", "content": welcome},
 
368
  ]
369
+
370
  def get_user(self):
371
  return self.current_user
372
+
373
  def set_welcome_message(self, Nickname):
374
+ """Set a dynamic welcome message using the OpenRouterLLM."""
375
+ # Define a prompt for the LLM to generate a welcome message
376
+ prompt = (
377
+ f"Create a very brief welcome message for {Nickname} that fits in 3 lines. "
378
+ f"The message should: "
379
+ f"1. Welcome {Nickname} warmly and professionally. "
380
+ f"2. Emphasize that this is a safe and trusted space. "
381
+ f"3. Highlight specialized support for gender-based violence (GBV) and legal assistance. "
382
+ f"4. Use a tone that is warm, reassuring, and professional. "
383
+ f"5. Keep the message concise and impactful, ensuring it fits within the character limit."
384
+ )
385
+
386
+ # Use the OpenRouterLLM to generate the message
387
+ welcome_text = "".join(self.llm.stream(prompt)) # Stream and concatenate the response
388
+
389
+ # Format the message with HTML styling
390
  self.welcome_message = (
391
  f"<div style='font-size: 24px; font-weight: bold; color: #2E86C1;'>"
392
  f"Welcome {Nickname}! 👋</div>"
393
+ f"<div style='font-size: 20px;'>"
394
+ f"{welcome_text}"
 
395
  f"</div>"
396
  )
397
+
398
  def get_welcome_message(self):
399
  return self.welcome_message
400
 
 
414
  formatted_history += f"{role}: {entry['content']}\n\n"
415
  return formatted_history
416
 
417
+ api_key =api
418
+ llm_instance = OpenRouterLLM(key=api_key)
419
+ user_session = UserSession(llm_instance)
420
 
421
  # Store user details and handle session
422
  def collect_user_info(Nickname):
 
595
  with gr.Blocks() as demo:
596
  # User registration section
597
  with gr.Column(visible=True, elem_id="registration_container") as registration_container:
598
+ gr.Markdown("### Your privacy matters to us! Just share a nickname you feel comfy with to start chatting..")
599
 
600
  with gr.Row():
601
  first_name = gr.Textbox(
 
619
  )
620
 
621
  # Footer with version info
622
+ gr.Markdown("Ijwi ry'Ubufasha Chatbot v1.0.1 © 2025")
623
 
624
  # Handle user registration
625
  submit_btn.click(