.
This commit is contained in:
@@ -680,10 +680,10 @@ public class MarketingAnalysisService {
|
|||||||
+ "3) Используй реальные цифры/темпы роста/проценты из evidence (researchPack). Если конкретных цифр нет — сделай Analytical Extrapolation, "
|
+ "3) Используй реальные цифры/темпы роста/проценты из evidence (researchPack). Если конкретных цифр нет — сделай Analytical Extrapolation, "
|
||||||
+ "но НИКОГДА не пиши «данных нет/не найдено/недоступно».\n"
|
+ "но НИКОГДА не пиши «данных нет/не найдено/недоступно».\n"
|
||||||
+ "4) Соблюдай типы:\n"
|
+ "4) Соблюдай типы:\n"
|
||||||
+ " - проценты/строки формата \"76/100\", \"+27%\", \"1.34x\" => string\n"
|
+ " - проценты/рейтинги/коэффициенты (форматы: +N%, A/B, Kx) => string\n"
|
||||||
+ " - monthly_online_index.* => number (double)\n"
|
+ " - monthly_online_index.* => number (double)\n"
|
||||||
+ " - funnel_metrics.leads/bookings/payments => integer\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"
|
+ "5) Пиши на русском языке.\n"
|
||||||
+ "6) НИКОГДА не копируй значения из примера. В примере намеренно стоят плейсхолдеры, "
|
+ "6) НИКОГДА не копируй значения из примера. В примере намеренно стоят плейсхолдеры, "
|
||||||
+ "которые начинаются с 'EXAMPLE__' и числа -9999/-9999.0 — в твоем ответе их быть НЕ должно."
|
+ "которые начинаются с 'EXAMPLE__' и числа -9999/-9999.0 — в твоем ответе их быть НЕ должно."
|
||||||
@@ -697,6 +697,7 @@ public class MarketingAnalysisService {
|
|||||||
|
|
||||||
// 3) Call OpenAI (sleep to reduce 429 rate-limit bursts) + guard against
|
// 3) Call OpenAI (sleep to reduce 429 rate-limit bursts) + guard against
|
||||||
// copying placeholders
|
// copying placeholders
|
||||||
|
// ВАЖНО: Для генерации V2 отчёта ВСЕГДА используется gpt-4o (textModelName)
|
||||||
String lastCleaned = null;
|
String lastCleaned = null;
|
||||||
for (int attempt = 1; attempt <= 2; attempt++) {
|
for (int attempt = 1; attempt <= 2; attempt++) {
|
||||||
try {
|
try {
|
||||||
@@ -714,11 +715,12 @@ public class MarketingAnalysisService {
|
|||||||
+ " Верни ТОЛЬКО JSON.";
|
+ " Верни ТОЛЬКО JSON.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Для V2 всегда используется gpt-4o (textModelName), независимо от detailLevel
|
||||||
String aiResponse = openAIAnalyticsService.generateWithInstructionWithModel(
|
String aiResponse = openAIAnalyticsService.generateWithInstructionWithModel(
|
||||||
contextJson,
|
contextJson,
|
||||||
attemptInstruction,
|
attemptInstruction,
|
||||||
"ru",
|
"ru",
|
||||||
textModelName,
|
textModelName, // gpt-4o - всегда для V2
|
||||||
systemPrompt,
|
systemPrompt,
|
||||||
15000,
|
15000,
|
||||||
180000L);
|
180000L);
|
||||||
|
|||||||
Reference in New Issue
Block a user