From 473ca1e31f0dabbc48c9f09fda1933ffb12a80e5 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 13 Jan 2026 01:23:29 +0500 Subject: [PATCH] . --- .../konturai/parser/service/MarketingAnalysisService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/kz/konturai/parser/service/MarketingAnalysisService.java b/src/main/java/kz/konturai/parser/service/MarketingAnalysisService.java index 7258ea7..b3256dd 100644 --- a/src/main/java/kz/konturai/parser/service/MarketingAnalysisService.java +++ b/src/main/java/kz/konturai/parser/service/MarketingAnalysisService.java @@ -680,10 +680,10 @@ public class MarketingAnalysisService { + "3) Используй реальные цифры/темпы роста/проценты из evidence (researchPack). Если конкретных цифр нет — сделай Analytical Extrapolation, " + "но НИКОГДА не пиши «данных нет/не найдено/недоступно».\n" + "4) Соблюдай типы:\n" - + " - проценты/строки формата \"76/100\", \"+27%\", \"1.34x\" => string\n" + + " - проценты/рейтинги/коэффициенты (форматы: +N%, A/B, Kx) => string\n" + " - monthly_online_index.* => number (double)\n" + " - funnel_metrics.leads/bookings/payments => integer\n" - + " - market_overview.geography => object with city names as keys and interest_index as integer values: {\"Алматы\": 20, \"Астана\": 30}\n" + + " - market_overview.geography => object: ключ=город, значение=целое число (индекс интереса, 0..100)\n" + "5) Пиши на русском языке.\n" + "6) НИКОГДА не копируй значения из примера. В примере намеренно стоят плейсхолдеры, " + "которые начинаются с 'EXAMPLE__' и числа -9999/-9999.0 — в твоем ответе их быть НЕ должно." @@ -697,6 +697,7 @@ public class MarketingAnalysisService { // 3) Call OpenAI (sleep to reduce 429 rate-limit bursts) + guard against // copying placeholders + // ВАЖНО: Для генерации V2 отчёта ВСЕГДА используется gpt-4o (textModelName) String lastCleaned = null; for (int attempt = 1; attempt <= 2; attempt++) { try { @@ -714,11 +715,12 @@ public class MarketingAnalysisService { + " Верни ТОЛЬКО JSON."; } + // Для V2 всегда используется gpt-4o (textModelName), независимо от detailLevel String aiResponse = openAIAnalyticsService.generateWithInstructionWithModel( contextJson, attemptInstruction, "ru", - textModelName, + textModelName, // gpt-4o - всегда для V2 systemPrompt, 15000, 180000L);