From 03bf84c2895b9960dce7887c24f63479d52cae64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Thu, 4 Jun 2026 18:44:10 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20car=5Finfo=20=D0=B2=20upload=20?= =?UTF-8?q?=E2=80=94=20=D1=81=D0=B2=D0=BE=D0=B1=D0=BE=D0=B4=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B0=D0=B2=D1=82=D0=BE=20=D0=BE=D1=82=20=D0=B2=D0=BE=D0=B4?= =?UTF-8?q?=D0=B8=D1=82=D0=B5=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/routes.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/api/routes.py b/api/routes.py index fc5bf90..868c6ba 100644 --- a/api/routes.py +++ b/api/routes.py @@ -22,10 +22,13 @@ logger = logging.getLogger("elmer.script") _ping_llm_cache: dict = {} -def _build_diagnosis_prompt(data: dict) -> str: +def _build_diagnosis_prompt(data: dict, car_info: str = "") -> str: """Строит промпт для LLM из распарсенных данных.""" parts = ["## Данные диагностики\n"] + if car_info: + parts.append(f"**Водитель сообщил:** {car_info}") + if data["vin"]: parts.append(f"**VIN:** {data['vin']}") @@ -95,6 +98,7 @@ def register(app): client_info["content_length"] = request.content_length parsed = parse_batch(responses) + car_info = (data.get("car_info") or "").strip() cfg = load() api_key = cfg["llm"]["api_key"] @@ -114,7 +118,7 @@ def register(app): base_url=cfg["llm"].get("base_url", "https://api.aillm.ru/v1"), ) try: - diagnosis = diagnoser.diagnose(SYSTEM_PROMPT, _build_diagnosis_prompt(parsed)) + diagnosis = diagnoser.diagnose(SYSTEM_PROMPT, _build_diagnosis_prompt(parsed, car_info)) llm_success = True except LLMError as e: logger.warning(f"LLM failed: {e}")