From fa21c7b83c70f9fd35f0ffca06018af0b8c853d8 Mon Sep 17 00:00:00 2001 From: arystanbek Date: Sat, 15 Aug 2026 06:26:04 +0000 Subject: [PATCH] fix: skip temperature param for GPT-5 reasoning models GPT-5/o-series models only support temperature=1 (default). Sending temperature=0.3 (analytics) or temperature=0 (chart) causes 400 Bad Request: 'Unsupported value: temperature does not support X with this model. Only the default (1) value is supported.' Now temperature is omitted for gpt-5/o1/o3/o4 models. --- .../kz/konturai/parser/service/OpenAIAnalyticsService.java | 4 +++- .../java/kz/konturai/parser/service/OpenAiChartService.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/kz/konturai/parser/service/OpenAIAnalyticsService.java b/src/main/java/kz/konturai/parser/service/OpenAIAnalyticsService.java index 1227a09..54ccc8a 100644 --- a/src/main/java/kz/konturai/parser/service/OpenAIAnalyticsService.java +++ b/src/main/java/kz/konturai/parser/service/OpenAIAnalyticsService.java @@ -84,7 +84,9 @@ public class OpenAIAnalyticsService { requestBody.put("model", model); requestBody.put("messages", messages); requestBody.put("max_completion_tokens", maxTokens); - requestBody.put("temperature", temperature); + if (!model.startsWith("gpt-5") && !model.startsWith("o1") && !model.startsWith("o3") && !model.startsWith("o4")) { + requestBody.put("temperature", temperature); + } return requestBody; } diff --git a/src/main/java/kz/konturai/parser/service/OpenAiChartService.java b/src/main/java/kz/konturai/parser/service/OpenAiChartService.java index ba6b804..71774f6 100644 --- a/src/main/java/kz/konturai/parser/service/OpenAiChartService.java +++ b/src/main/java/kz/konturai/parser/service/OpenAiChartService.java @@ -106,7 +106,9 @@ public class OpenAiChartService { private Mono callChatCompletions(String taskName, String prompt) { Map body = new HashMap<>(); body.put("model", modelName); - body.put("temperature", 0); + if (!modelName.startsWith("gpt-5") && !modelName.startsWith("o1") && !modelName.startsWith("o3") && !modelName.startsWith("o4")) { + body.put("temperature", 0); + } body.put("messages", List.of( Map.of("role", "user", "content", prompt)));