From f622912f2e1c30480082bd87f9a2dc81759136f2 Mon Sep 17 00:00:00 2001 From: AJ Isaacs Date: Sun, 22 Feb 2026 16:04:29 -0500 Subject: [PATCH] Improve: Support reasoning models in AI vision pipeline Strip ... blocks from reasoning model output (e.g. Qwen3-VL-Thinking) and increase max_tokens from 4096 to 16384 to accommodate thinking token overhead. Co-Authored-By: Claude Opus 4.6 --- MoneyMap/Services/AIVisionClient.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MoneyMap/Services/AIVisionClient.cs b/MoneyMap/Services/AIVisionClient.cs index d289cfd..9290d7b 100644 --- a/MoneyMap/Services/AIVisionClient.cs +++ b/MoneyMap/Services/AIVisionClient.cs @@ -220,6 +220,10 @@ namespace MoneyMap.Services { var trimmed = content?.Trim() ?? ""; + // Strip ... blocks from reasoning models (e.g. Qwen3-VL-Thinking) + trimmed = System.Text.RegularExpressions.Regex.Replace( + trimmed, @"[\s\S]*?", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase).Trim(); + // Strip markdown code fences if (trimmed.StartsWith("```json")) { @@ -816,7 +820,7 @@ namespace MoneyMap.Services } } }, - max_tokens = 4096, + max_tokens = 16384, temperature = 0.1 }; @@ -898,7 +902,7 @@ namespace MoneyMap.Services OpenAIToolUseHelper.BuildToolsArray(tools), toolExecutor, maxToolRounds, - maxTokens: 4096, + maxTokens: 16384, _logger); } catch (TaskCanceledException ex) when (ex.InnerException is TimeoutException)