mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2026-06-06 14:29:18 -04:00
fix: Using adaptive thinking for Claude opus 4.8 - 4.6
This commit is contained in:
@@ -66,9 +66,28 @@ void ClaudeProvider::prepareRequest(
|
||||
};
|
||||
|
||||
auto applyThinkingMode = [&request](const auto &settings) {
|
||||
const QString model = request.value("model").toString().toLower();
|
||||
const bool useAdaptiveThinking = model.contains("opus-4-8") || model.contains("opus-4-7")
|
||||
|| model.contains("opus-4-6") || model.contains("sonnet-4-6");
|
||||
|
||||
QJsonObject thinkingObj;
|
||||
thinkingObj["type"] = "enabled";
|
||||
thinkingObj["budget_tokens"] = settings.thinkingBudgetTokens();
|
||||
if (useAdaptiveThinking) {
|
||||
thinkingObj["type"] = "adaptive";
|
||||
|
||||
const int budget = settings.thinkingBudgetTokens();
|
||||
QString effort = "high";
|
||||
if (budget < 8000)
|
||||
effort = "low";
|
||||
else if (budget < 24000)
|
||||
effort = "medium";
|
||||
|
||||
QJsonObject outputConfig;
|
||||
outputConfig["effort"] = effort;
|
||||
request["output_config"] = outputConfig;
|
||||
} else {
|
||||
thinkingObj["type"] = "enabled";
|
||||
thinkingObj["budget_tokens"] = settings.thinkingBudgetTokens();
|
||||
}
|
||||
request["thinking"] = thinkingObj;
|
||||
request["max_tokens"] = settings.thinkingMaxTokens();
|
||||
request["temperature"] = 1.0;
|
||||
|
||||
Reference in New Issue
Block a user