feat(server): приём dynamic_samples, выбор DYNAMIC_PROMPT
This commit is contained in:
+14
-3
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user