fix: parser — CAN multi-frame, ISO-TP, пустой {} в промпт, 91 тест
This commit is contained in:
+9
-6
@@ -30,24 +30,27 @@ def _build_diagnosis_prompt(data: dict, car_info: str = "") -> str:
|
||||
if car_info:
|
||||
parts.append(f"**Водитель сообщил:** {car_info}")
|
||||
|
||||
if data["vin"]:
|
||||
if data.get("vin"):
|
||||
parts.append(f"**VIN:** {data['vin']}")
|
||||
|
||||
if data["dtc_stored"]:
|
||||
if data.get("dtc_stored"):
|
||||
parts.append(f"\n**Сохранённые ошибки (mode 03):** {', '.join(data['dtc_stored'])}")
|
||||
if data["dtc_pending"]:
|
||||
if data.get("dtc_pending"):
|
||||
parts.append(f"**Ожидающие ошибки (mode 07):** {', '.join(data['dtc_pending'])}")
|
||||
|
||||
if data["parameters"]:
|
||||
if data.get("parameters"):
|
||||
parts.append("\n**Параметры в реальном времени:**")
|
||||
for p in data["parameters"]:
|
||||
parts.append(f"- {p['name']}: {p['value']}")
|
||||
|
||||
if not data["vin"] and not data["dtc_stored"] and not data["parameters"]:
|
||||
if not data.get("vin") and not data.get("dtc_stored") and not data.get("parameters"):
|
||||
parts.append("\n(данные не распознаны)")
|
||||
|
||||
raw_log = data.get("raw_log") or []
|
||||
parts.append("\n**Сырые ответы ЭБУ:**")
|
||||
parts.extend(data["raw_log"])
|
||||
parts.extend(raw_log)
|
||||
|
||||
parts.append("\n---")
|
||||
|
||||
parts.append("\n---")
|
||||
parts.append("## Запрос на анализ")
|
||||
|
||||
Reference in New Issue
Block a user