diff --git a/src/llm_core.py b/src/llm_core.py index a155530..1995982 100644 --- a/src/llm_core.py +++ b/src/llm_core.py @@ -67,7 +67,7 @@ _host_health_lock = threading.Lock() _model_activity: Dict[str, float] = {} def _model_activity_key(url: str, model: str) -> str: - return f"{(url or '').strip().rstrip()}|{(model or '').strip()}" + return f"{(url or '').strip()}|{(model or '').strip()}" def note_model_activity(url: str, model: str): """Record that a real upstream request used this endpoint/model.""" @@ -884,7 +884,7 @@ def llm_call(url: str, model: str, messages: List[Dict], temperature: float = LL non_sys = [] for m in messages_copy: if m.get("role") == "system": - sys_parts.append(m["content"]) + sys_parts.append(m.get('content') or '') else: non_sys.append(m) if sys_parts: @@ -1028,7 +1028,7 @@ async def llm_call_async( non_sys = [] for m in messages_copy: if m.get("role") == "system": - sys_parts.append(m["content"]) + sys_parts.append(m.get('content') or '') else: non_sys.append(m) if sys_parts: @@ -1143,7 +1143,7 @@ async def stream_llm(url: str, model: str, messages: List[Dict], temperature: fl non_sys = [] for m in messages_copy: if m.get("role") == "system": - sys_parts.append(m["content"]) + sys_parts.append(m.get('content') or '') else: non_sys.append(m) if sys_parts: