fix(processors): treat Fireworks model ids as reasoning-hint incompatible#123
fix(processors): treat Fireworks model ids as reasoning-hint incompatible#123himorishige wants to merge 1 commit into
Conversation
…ible
Fireworks AI's OpenAI-compatible API validates request bodies strictly
and rejects the vLLM chat_template_kwargs hint with HTTP 400 ("Extra
inputs are not permitted, field: 'chat_template_kwargs'"). Fireworks
model ids always carry the provider namespace
(accounts/fireworks/models/...), so extend the deny list used by
model_accepts_reasoning_hint() to match them.
This stops the LLM classifier's disable_reasoning auto-detect from
injecting the hint at Fireworks-served classifier models, and — once
the DeepSeek tier overrides consult the same check — deterministic
tier calls as well.
Signed-off-by: Hiroshi Morishige <hiroshi.morishige@gmail.com>
WalkthroughThe reasoning hint compatibility check now rejects model IDs containing ChangesReasoning Hint Compatibility
Estimated code review effort: 2 (Simple) | ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
tests/test_reasoning_hint.py (1)
21-23: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winRename the parametrized test to cover Fireworks models.
The test now covers more than the Claude family, so
test_claude_family_rejects_hintis misleading. Rename it to a provider-neutral name such astest_models_rejecting_reasoning_hint.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@tests/test_reasoning_hint.py` around lines 21 - 23, Rename the parametrized test function test_claude_family_rejects_hint to a provider-neutral name such as test_models_rejecting_reasoning_hint, keeping its existing parameters and assertions unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@tests/test_reasoning_hint.py`:
- Around line 21-23: Rename the parametrized test function
test_claude_family_rejects_hint to a provider-neutral name such as
test_models_rejecting_reasoning_hint, keeping its existing parameters and
assertions unchanged.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: ecfbcbb0-16db-4487-b250-1d290351914a
📒 Files selected for processing (2)
switchyard/lib/processors/reasoning_hint.pytests/test_reasoning_hint.py
Fixes the classifier half of #121.
What
Fireworks AI's OpenAI-compatible API validates request bodies strictly and rejects the vLLM
chat_template_kwargshint with HTTP 400 (Extra inputs are not permitted, field: 'chat_template_kwargs'). Fireworks model ids always carry the provider namespace (accounts/fireworks/models/...), so this PR addsfireworksto_NO_REASONING_HINT_TAGS.With this, the LLM classifier's
disable_reasoningauto-detect stops injecting the hint for Fireworks-served classifier models, and — combined with #122 — deterministic tier calls stop injecting it as well.Validation
deepseek-v4-flash,deepseek-v4-pro,glm-5p2);tests/test_reasoning_hint.py13 passed.accounts/fireworks/models/deepseek-v4-flash) classifies successfully end to end (main @060ad758, Fireworks serverless).Summary by CodeRabbit