avinash-rai commited on
Commit
3a6445b
·
1 Parent(s): d045bbd

Fix: Humanize responses - increase tokens to 120, persist language override across turns

Browse files
app/agents/orchestrator.py CHANGED
@@ -417,6 +417,10 @@ class HoneypotOrchestrator:
417
  if persona:
418
  # Ensure the dict has the key so persona_engine knows which one it is
419
  persona = {**persona, "selected_persona_key": existing_persona_key}
 
 
 
 
420
  self.logger.info(f"PERSONA LOCKED: Reusing {existing_persona_key}", session_id=conv_id)
421
 
422
  if not ctx.persona_locked:
@@ -445,11 +449,20 @@ class HoneypotOrchestrator:
445
 
446
  # [FIX] LANGUAGE OVERRIDE: Apply GUVI request language to persona
447
  # This ensures responses match the requested language (English/Hindi/Hinglish)
 
448
  if request_language and persona:
449
  original_lang = persona.get("language", "hinglish")
450
  persona["language"] = request_language
451
  persona["original_language"] = original_lang # Preserve for debugging
 
 
 
452
  self.logger.info(f"Language override: {original_lang} -> {request_language}", session_id=conv_id)
 
 
 
 
 
453
 
454
  # [LIFECYCLE] Recalculate finalization state based on newly extracted intel
455
  # This ensures that if we just captured a UPI ID, we trigger XAI immediately.
@@ -637,6 +650,10 @@ class HoneypotOrchestrator:
637
  agg_intel = ctx.session.get("aggregated_intelligence", {})
638
  if agg_intel.get("metadata_agitation_reason"):
639
  intelligence["metadata_agitation_reason"] = [agg_intel["metadata_agitation_reason"]]
 
 
 
 
640
 
641
  await self.conversation_manager.update(
642
  conversation_id=conv_id,
 
417
  if persona:
418
  # Ensure the dict has the key so persona_engine knows which one it is
419
  persona = {**persona, "selected_persona_key": existing_persona_key}
420
+ # Apply stored language from session to preserve language override
421
+ stored_lang = conversation.get("aggregated_intelligence", {}).get("request_language")
422
+ if stored_lang:
423
+ persona["language"] = stored_lang
424
  self.logger.info(f"PERSONA LOCKED: Reusing {existing_persona_key}", session_id=conv_id)
425
 
426
  if not ctx.persona_locked:
 
449
 
450
  # [FIX] LANGUAGE OVERRIDE: Apply GUVI request language to persona
451
  # This ensures responses match the requested language (English/Hindi/Hinglish)
452
+ # Also persist language in session for subsequent turns with persona lock
453
  if request_language and persona:
454
  original_lang = persona.get("language", "hinglish")
455
  persona["language"] = request_language
456
  persona["original_language"] = original_lang # Preserve for debugging
457
+ # Store in session for persistence
458
+ if ctx and hasattr(ctx, "session") and ctx.session:
459
+ ctx.session["request_language"] = request_language
460
  self.logger.info(f"Language override: {original_lang} -> {request_language}", session_id=conv_id)
461
+ elif ctx and hasattr(ctx, "session") and ctx.session:
462
+ # Restore language from session if not in current request
463
+ stored_lang = ctx.session.get("request_language")
464
+ if stored_lang and persona:
465
+ persona["language"] = stored_lang
466
 
467
  # [LIFECYCLE] Recalculate finalization state based on newly extracted intel
468
  # This ensures that if we just captured a UPI ID, we trigger XAI immediately.
 
650
  agg_intel = ctx.session.get("aggregated_intelligence", {})
651
  if agg_intel.get("metadata_agitation_reason"):
652
  intelligence["metadata_agitation_reason"] = [agg_intel["metadata_agitation_reason"]]
653
+
654
+ # 🔥 LANGUAGE PERSISTENCE: Store request language for persona lock on subsequent turns
655
+ if request_language:
656
+ intelligence["request_language"] = request_language
657
 
658
  await self.conversation_manager.update(
659
  conversation_id=conv_id,
app/agents/persona_engine.py CHANGED
@@ -1022,7 +1022,7 @@ class PersonaEngine:
1022
  prompt=formatted_prompt,
1023
  role=ModelRole.FAST_CHAT,
1024
  temperature=0.9,
1025
- max_tokens=60,
1026
  context=context
1027
  )
1028
 
 
1022
  prompt=formatted_prompt,
1023
  role=ModelRole.FAST_CHAT,
1024
  temperature=0.9,
1025
+ max_tokens=120, # Increased for more natural responses
1026
  context=context
1027
  )
1028