server: skip LLM when no API key — return decoded data instead
This commit is contained in:
+32
-11
@@ -221,18 +221,39 @@ def register(app):
|
|||||||
cmd = sess["queue"].pop(0)
|
cmd = sess["queue"].pop(0)
|
||||||
return jsonify({"cmd": cmd, "session": session_id, "state": sess["state"]})
|
return jsonify({"cmd": cmd, "session": session_id, "state": sess["state"]})
|
||||||
|
|
||||||
# LLM фаза
|
# LLM фаза — если нет ключа, возвращаем сырые данные
|
||||||
if sess["state"] == "LLM":
|
if sess["state"] == "LLM":
|
||||||
sess["state"] = "LLM_WAIT"
|
from elmer.config import load
|
||||||
# Запускаем LLM асинхронно (в потоке)
|
cfg = load()
|
||||||
import threading as th
|
api_key = cfg["deepseek"]["api_key"]
|
||||||
th.Thread(target=_call_llm, args=(session_id,), daemon=True).start()
|
|
||||||
return jsonify({
|
if not api_key:
|
||||||
"cmd": None,
|
# Без LLM — форматируем декодированные данные
|
||||||
"session": session_id,
|
data = sess["data"]
|
||||||
"state": "LLM",
|
lines = []
|
||||||
"msg": "Анализирую..."
|
if data.get("vin"): lines.append(f"VIN: {data['vin']}")
|
||||||
})
|
if data.get("dtc_stored"): lines.append(f"Ошибки: {', '.join(data['dtc_stored'])}")
|
||||||
|
if data.get("dtc_pending"): lines.append(f"Pending: {', '.join(data['dtc_pending'])}")
|
||||||
|
if data.get("pids"):
|
||||||
|
names = {"05": "ОЖ", "0C": "RPM", "0D": "Скорость", "11": "Дроссель",
|
||||||
|
"0B": "MAP", "0F": "IAT", "1F": "Время", "04": "Нагрузка",
|
||||||
|
"06": "STFT", "07": "LTFT"}
|
||||||
|
for p in data["pids"]:
|
||||||
|
n = names.get(p["pid"], p["pid"])
|
||||||
|
lines.append(f"{n}: {p['value']}")
|
||||||
|
sess["diagnosis"] = "\n".join(lines) if lines else "Нет данных"
|
||||||
|
sess["state"] = "DONE"
|
||||||
|
logger.info(f"[{session_id}] No LLM — returning raw data")
|
||||||
|
else:
|
||||||
|
sess["state"] = "LLM_WAIT"
|
||||||
|
import threading as th
|
||||||
|
th.Thread(target=_call_llm, args=(session_id,), daemon=True).start()
|
||||||
|
return jsonify({
|
||||||
|
"cmd": None,
|
||||||
|
"session": session_id,
|
||||||
|
"state": "LLM",
|
||||||
|
"msg": "Анализирую..."
|
||||||
|
})
|
||||||
|
|
||||||
# Готово
|
# Готово
|
||||||
return jsonify({
|
return jsonify({
|
||||||
|
|||||||
Reference in New Issue
Block a user