feat: car_info в upload — свободное описание авто от водителя

This commit is contained in:
“Naeel”
2026-06-04 18:44:16 +03:00
parent 126598dd8a
commit 03bf84c289
+6 -2
View File
@@ -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}")