mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-01-02 14:22:28 +08:00
fix: disable history XML replacement by default (#217)
Some models (e.g. minimax) copy placeholder text instead of generating fresh XML, causing tool call validation failures and infinite loops. Added ENABLE_HISTORY_XML_REPLACE env var (default: false) to control this behavior.
This commit is contained in:
@@ -264,8 +264,13 @@ ${lastMessageText}
|
|||||||
// Fix tool call inputs for Bedrock API (requires JSON objects, not strings)
|
// Fix tool call inputs for Bedrock API (requires JSON objects, not strings)
|
||||||
const fixedMessages = fixToolCallInputs(modelMessages)
|
const fixedMessages = fixToolCallInputs(modelMessages)
|
||||||
|
|
||||||
// Replace historical tool call XML with placeholders to reduce tokens and avoid confusion
|
// Replace historical tool call XML with placeholders to reduce tokens
|
||||||
const placeholderMessages = replaceHistoricalToolInputs(fixedMessages)
|
// Disabled by default - some models (e.g. minimax) copy placeholders instead of generating XML
|
||||||
|
const enableHistoryReplace =
|
||||||
|
process.env.ENABLE_HISTORY_XML_REPLACE === "true"
|
||||||
|
const placeholderMessages = enableHistoryReplace
|
||||||
|
? replaceHistoricalToolInputs(fixedMessages)
|
||||||
|
: fixedMessages
|
||||||
|
|
||||||
// Filter out messages with empty content arrays (Bedrock API rejects these)
|
// Filter out messages with empty content arrays (Bedrock API rejects these)
|
||||||
// This is a safety measure - ideally convertToModelMessages should handle all cases
|
// This is a safety measure - ideally convertToModelMessages should handle all cases
|
||||||
|
|||||||
Reference in New Issue
Block a user