feat(server): приём dynamic_samples, выбор DYNAMIC_PROMPT

This commit is contained in:
Repinoid
2026-06-07 12:12:26 +04:00
parent 76abc22b79
commit 20be9103af
2 changed files with 46 additions and 37 deletions
+14 -3
View File
@@ -92,7 +92,19 @@ def register(app):
return jsonify({"error": "missing 'responses'"}), 400
responses = data["responses"]
logger.info(f"Upload: {len(responses)} responses")
# Динамический тест: если есть — добавляем к обычным ответам
dynamic_samples = data.get("dynamic_samples")
has_dynamic = bool(dynamic_samples)
if has_dynamic:
# Прикрепляем все сэмплы к responses для парсинга
all_samples = []
for sample in dynamic_samples:
all_samples.extend(sample)
logger.info(f"Upload: {len(responses)} обычных + {len(all_samples)} динамических ответов")
responses = responses + all_samples
else:
logger.info(f"Upload: {len(responses)} responses")
# ── Идемпотентность: проверяем request_id ─────
request_id = (data.get("request_id") or "").strip()
@@ -132,8 +144,7 @@ def register(app):
base_url=cfg["llm"].get("base_url", "https://api.aillm.ru/v1"),
)
try:
is_dynamic = client_info.get("script_mode") == "dynamic"
prompt = DYNAMIC_PROMPT if is_dynamic else SYSTEM_PROMPT
prompt = DYNAMIC_PROMPT if has_dynamic else SYSTEM_PROMPT
diagnosis = diagnoser.diagnose(prompt, _build_diagnosis_prompt(parsed, car_info))
llm_success = True
except LLMError as e: