Skip to content

Conversation

@Qard
Copy link
Contributor

@Qard Qard commented Jan 14, 2026

Implements support for the reasoningEffort parameter for o-series models like o3-mini, as requested in issue #132.

Changes:

  • TypeScript: Added reasoningEffort to LLMArgs type
  • TypeScript: Import and use OpenAI's ReasoningEffort type
  • Python: Added reasoning_effort parameter to LLMClassifier
  • Both: Parameter flows through to OpenAI API as reasoning_effort
  • Both: Added comprehensive test coverage

The parameter accepts values: "minimal", "low", "medium", "high", or null and allows fine-grained control over model reasoning capabilities.

Fixes #132

Implements support for the `reasoningEffort` parameter for o-series
models like o3-mini, as requested in issue #132.

Changes:
- TypeScript: Added `reasoningEffort` to LLMArgs type
- TypeScript: Import and use OpenAI's ReasoningEffort type
- Python: Added `reasoning_effort` parameter to LLMClassifier
- Both: Parameter flows through to OpenAI API as `reasoning_effort`
- Both: Added comprehensive test coverage

The parameter accepts values: "minimal", "low", "medium", "high", or null
and allows fine-grained control over model reasoning capabilities.

Fixes #132

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@Qard Qard requested a review from ankrgyl January 14, 2026 20:22
@Qard Qard self-assigned this Jan 14, 2026
@Qard Qard added the enhancement New feature or request label Jan 14, 2026
@Qard Qard requested a review from ibolmo January 14, 2026 20:29
Copy link
Collaborator

@ibolmo ibolmo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving since the _enabled and _budget may be added later

- Add reasoningEnabled and reasoningBudget optional parameters to TypeScript LLMArgs
- Add reasoning_enabled and reasoning_budget optional parameters to Python LLMClassifier
- These parameters support Braintrust AI proxy's extended reasoning capabilities
- Particularly useful for Claude (via reasoning_enabled/reasoning_budget) and Gemini models
- Change ReasoningEffort import to use type-only import for better TypeScript optimization
- Add comprehensive tests for new parameters in both TypeScript and Python

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@github-actions
Copy link

github-actions bot commented Jan 15, 2026

Braintrust eval report

Autoevals (reasoning-effort-support-1768445948)

Score Average Improvements Regressions
NumericDiff 70.7% (-2pp) 1 🟢 5 🔴
Time_to_first_token 1.31tok (-0.04tok) 62 🟢 56 🔴
Llm_calls 1.55 (+0) - -
Tool_calls 0 (+0) - -
Errors 0 (+0) - -
Llm_errors 0 (+0) - -
Tool_errors 0 (+0) - -
Prompt_tokens 279.25tok (+0tok) - -
Prompt_cached_tokens 0tok (+0tok) - -
Prompt_cache_creation_tokens 0tok (+0tok) - -
Completion_tokens 19.3tok (+0tok) - -
Completion_reasoning_tokens 0tok (+0tok) - -
Total_tokens 298.54tok (+0tok) - -
Estimated_cost 0$ (+0$) - -
Duration 2.62s (-0.06s) 102 🟢 115 🔴
Llm_duration 2.65s (-0.03s) 59 🟢 60 🔴

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add reasoning effort support

3 participants