Skip to content

grammar: make MAX_REPETITION_THRESHOLD configurable via env var#21139

Open
vampyrebat wants to merge 1 commit intoggml-org:masterfrom
vampyrebat:patch-2
Open

grammar: make MAX_REPETITION_THRESHOLD configurable via env var#21139
vampyrebat wants to merge 1 commit intoggml-org:masterfrom
vampyrebat:patch-2

Conversation

@vampyrebat
Copy link
Copy Markdown

The hardcoded threshold of 2000 causes grammar parsing to fail for legitimate tool-calling schemas with many optional parameters.

Add LLAMA_GRAMMAR_MAX_REPETITIONS env var to override the default. When unset, behaviour is unchanged (default 2000).

May fix grammar failures reported in openclaw/openclaw#32916, openclaw/openclaw#38569, openclaw/openclaw#38899.

AI was used in an assistive capacity to identify the threshold constant and review the approach. The code change and testing were done manually.

Overview

Adds a helper function that reads LLAMA_GRAMMAR_MAX_REPETITIONS from the environment, replacing the hardcoded MAX_REPETITION_THRESHOLD macro. Three call sites updated. No API changes, fully backwards compatible.

Additional information

Tested on with Qwen3.5-122B-A10B and 21 OpenClaw tools (message tool: 109 optional params, browser: 48). Default threshold (2000): grammar fails on every request. Threshold at 20000: grammar parses successfully.

Requirements

  • I have read and agree with the contributing guidelines
  • AI usage disclosure: YES - used to locate the threshold constant and review the approach. Code and testing done manually.

The hardcoded threshold of 2000 causes grammar parsing to fail for legitimate tool-calling schemas with many optional parameters.

Add LLAMA_GRAMMAR_MAX_REPETITIONS env var to override the default.  When unset, behaviour is unchanged (default 2000).

May fix grammar failures reported in openclaw/openclaw#32916,
openclaw/openclaw#38569, openclaw/openclaw#38899.
@vampyrebat vampyrebat requested a review from ggerganov as a code owner March 29, 2026 01:12
@pwilkin
Copy link
Copy Markdown
Member

pwilkin commented Mar 29, 2026

Duplicate of #21003

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants