diff --git a/elmer/diagnose.py b/elmer/diagnose.py index bbc90c5..d2460e3 100644 --- a/elmer/diagnose.py +++ b/elmer/diagnose.py @@ -28,7 +28,7 @@ class Diagnoser: "temperature": 0.3, # пониже — меньше фантазий "max_tokens": 4096, }, - timeout=60, + timeout=120, # api.aillm.ru бывает медленным ) resp.raise_for_status() data = resp.json() diff --git a/web/script_endpoint.py b/web/script_endpoint.py index 314f3d2..7fd73a8 100644 --- a/web/script_endpoint.py +++ b/web/script_endpoint.py @@ -86,7 +86,11 @@ def register(app): model=cfg["llm"].get("model", "gpt-oss-120b"), base_url=cfg["llm"].get("base_url", "https://api.aillm.ru/v1"), ) - answer = diagnoser.diagnose(SYSTEM_PROMPT, _build_diagnosis_prompt(parsed)) + try: + answer = diagnoser.diagnose(SYSTEM_PROMPT, _build_diagnosis_prompt(parsed)) + except Exception as e: + logger.warning(f"LLM failed: {e}") + answer = format_no_llm(parsed) + f"\n\n(LLM недоступен: {e})" return jsonify({ "diagnosis": answer,