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 = {} _ping_llm_cache: dict = {}
def _build_diagnosis_prompt(data: dict) -> str: def _build_diagnosis_prompt(data: dict, car_info: str = "") -> str:
"""Строит промпт для LLM из распарсенных данных.""" """Строит промпт для LLM из распарсенных данных."""
parts = ["## Данные диагностики\n"] parts = ["## Данные диагностики\n"]
if car_info:
parts.append(f"**Водитель сообщил:** {car_info}")
if data["vin"]: if data["vin"]:
parts.append(f"**VIN:** {data['vin']}") parts.append(f"**VIN:** {data['vin']}")
@@ -95,6 +98,7 @@ def register(app):
client_info["content_length"] = request.content_length client_info["content_length"] = request.content_length
parsed = parse_batch(responses) parsed = parse_batch(responses)
car_info = (data.get("car_info") or "").strip()
cfg = load() cfg = load()
api_key = cfg["llm"]["api_key"] 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"), base_url=cfg["llm"].get("base_url", "https://api.aillm.ru/v1"),
) )
try: try:
diagnosis = diagnoser.diagnose(SYSTEM_PROMPT, _build_diagnosis_prompt(parsed)) diagnosis = diagnoser.diagnose(SYSTEM_PROMPT, _build_diagnosis_prompt(parsed, car_info))
llm_success = True llm_success = True
except LLMError as e: except LLMError as e:
logger.warning(f"LLM failed: {e}") logger.warning(f"LLM failed: {e}")