ciyidogan commited on
Commit
c5d2db0
·
verified ·
1 Parent(s): 52fad77

Update stt/stt_lifecycle_manager.py

Browse files
Files changed (1) hide show
  1. stt/stt_lifecycle_manager.py +24 -0
stt/stt_lifecycle_manager.py CHANGED
@@ -49,6 +49,7 @@ class STTLifecycleManager:
49
  self.event_bus.subscribe(EventType.STT_STARTED, self._handle_stt_start)
50
  self.event_bus.subscribe(EventType.STT_STOPPED, self._handle_stt_stop)
51
  self.event_bus.subscribe(EventType.AUDIO_CHUNK_RECEIVED, self._handle_audio_chunk)
 
52
  self.event_bus.subscribe(EventType.SESSION_ENDED, self._handle_session_ended)
53
 
54
  def _setup_resource_pool(self):
@@ -280,6 +281,29 @@ class STTLifecycleManager:
280
  error_message=str(e)
281
  )
282
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  async def _handle_session_ended(self, event: Event):
284
  """Clean up STT resources when session ends"""
285
  session_id = event.session_id
 
49
  self.event_bus.subscribe(EventType.STT_STARTED, self._handle_stt_start)
50
  self.event_bus.subscribe(EventType.STT_STOPPED, self._handle_stt_stop)
51
  self.event_bus.subscribe(EventType.AUDIO_CHUNK_RECEIVED, self._handle_audio_chunk)
52
+ self.event_bus.subscribe(EventType.SESSION_STARTED, self._handle_session_started)
53
  self.event_bus.subscribe(EventType.SESSION_ENDED, self._handle_session_ended)
54
 
55
  def _setup_resource_pool(self):
 
281
  error_message=str(e)
282
  )
283
 
284
+ async def _handle_session_started(self, event: Event):
285
+ """Initialize LLM for session at start"""
286
+ session_id = event.session_id
287
+
288
+ try:
289
+ # Create LLM instance when session starts
290
+ resource_id = f"llm_{session_id}"
291
+ llm_instance = await self.resource_manager.acquire(
292
+ resource_id=resource_id,
293
+ session_id=session_id,
294
+ resource_type=ResourceType.LLM_CONTEXT,
295
+ cleanup_callback=self._cleanup_llm_instance
296
+ )
297
+
298
+ # Create session
299
+ llm_session = LLMSession(session_id, llm_instance)
300
+ self.llm_sessions[session_id] = llm_session
301
+
302
+ log_info(f"✅ LLM initialized for session", session_id=session_id)
303
+
304
+ except Exception as e:
305
+ log_error(f"❌ Failed to initialize LLM", session_id=session_id, error=str(e))
306
+
307
  async def _handle_session_ended(self, event: Event):
308
  """Clean up STT resources when session ends"""
309
  session_id = event.session_id