Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] Support Claude 3.7 Sonnet's reasoning mode #322

Open
djr7C4 opened this issue Mar 12, 2025 · 4 comments
Open

[Feature request] Support Claude 3.7 Sonnet's reasoning mode #322

djr7C4 opened this issue Mar 12, 2025 · 4 comments

Comments

@djr7C4
Copy link
Contributor

djr7C4 commented Mar 12, 2025

Claude 3.7 has a reasoning mode that makes it work in a manner similar to OpenAI's o1. It might be worth supporting this as well. I think it would make sense to add it as a separate model. There is an API parameter that allows the reasoning mode to be enabled. One advantage compared to o1 is that Claude 3.7 is much cheaper.

https://www.anthropic.com/news/claude-3-7-sonnet
https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking

@djr7C4
Copy link
Contributor Author

djr7C4 commented Mar 14, 2025

I guess actually this creates a potential problem that would have to be solved. It's a second model was added it would have the same :version but add an additional parameter but the current code assumes each :version is unique.

@xenodium xenodium changed the title Support Claude 3.7 Sonnet's reasoning mode [Feature request] Support Claude 3.7 Sonnet's reasoning mode Mar 19, 2025
@xenodium
Copy link
Owner

the current code assumes each :version is unique.

We could maybe establish a convention which gets stripped from :version prior to sending?
:version "claude-3-7-sonnet (reasoning)" -> remove (...) -> "claude-3-7-sonnet"

This would enable us to uniquely name different configurations of the same model.

Alternatively, maybe it's time to bite the bullet and add piping to surface model settings to users (ie. enable toggling :reasoning).

@djr7C4
Copy link
Contributor Author

djr7C4 commented Mar 19, 2025

I would prefer the second approach and probably that is also how it should be done for o3-mini and o3-mini-high.

There's supposed to be a parameter in the OpenAI API that allows you to control reasoning effort (it is documented in their site). However, when I tried to use it, it did not work. Possibly, it could require a higher teir API key or there's a glitch somewhere. There's still a branch in my fork that attempts to use it.

Then the above, the first approach is certainly looking easier though.

@djr7C4
Copy link
Contributor Author

djr7C4 commented Mar 19, 2025

Besides the simpler implementation, the other advantage I see for using the first approach with separate models is that it is more consistent with other reasoning models. For example, o1 and o3-mini are completely separate from gpt-4o and 4.5.

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

No branches or pull requests

2 participants