feat: car_info в upload — свободное описание авто от водителя
This commit is contained in:
+6
-2
@@ -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}")
|
||||
|
||||
Reference in New Issue
Block a user