MCPcopy Index your code
hub / github.com/dataelement/Clawith / _load_models

Method _load_models

backend/app/api/websocket.py:366–389  ·  view source on GitHub ↗

Loads primary and fallback models for the agent.

(self, db: AsyncSession)

Source from the content-addressed store, hash-verified

364 return True
365
366 async def _load_models(self, db: AsyncSession):
367 """Loads primary and fallback models for the agent."""
368 if self.agent.primary_model_id:
369 model_result = await db.execute(select(LLMModel).where(LLMModel.id == self.agent.primary_model_id))
370 self.llm_model = model_result.scalar_one_or_none()
371 if self.llm_model and not self.llm_model.enabled:
372 logger.info(f"[WS] Primary model {self.llm_model.model} is disabled, skipping")
373 self.llm_model = None
374 else:
375 logger.info(f"[WS] Primary model loaded: {self.llm_model.model if self.llm_model else 'None'}")
376
377 if self.agent.fallback_model_id:
378 fb_result = await db.execute(select(LLMModel).where(LLMModel.id == self.agent.fallback_model_id))
379 self.fallback_llm_model = fb_result.scalar_one_or_none()
380 if self.fallback_llm_model and not self.fallback_llm_model.enabled:
381 logger.info(f"[WS] Fallback model {self.fallback_llm_model.model} is disabled, skipping")
382 self.fallback_llm_model = None
383 elif self.fallback_llm_model:
384 logger.info(f"[WS] Fallback model loaded: {self.fallback_llm_model.model}")
385
386 if not self.llm_model and self.fallback_llm_model:
387 self.llm_model = self.fallback_llm_model
388 self.fallback_llm_model = None
389 logger.info(f"[WS] Primary model unavailable, using fallback: {self.llm_model.model}")
390
391 async def _resolve_chat_session(self, db: AsyncSession, user_id: uuid.UUID) -> str | None:
392 """Resolves existing session or creates a new one."""

Callers 1

setupMethod · 0.95

Calls 3

whereMethod · 0.80
executeMethod · 0.45
scalar_one_or_noneMethod · 0.45

Tested by

no test coverage detected