Download codex-rs/protocol/src/openai_models/reasoning_effort.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 1.8 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/protocol/src/openai_models/reasoning_effort.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/protocol/src/openai_models/reasoning_effort.rs
-
curl -L -o reasoning_effort.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/protocol/src/openai_models/reasoning_effort.rs
1.8 kB
| //! Model-owned effort normalization shared by native requests and configuration update items. | |
| //! | |
| //! UI aliases resolve through the same model defaults and fallbacks in both paths. | |
| use super::ModelInfo; | |
| use super::ReasoningEffort; | |
| impl ModelInfo { | |
| /// Resolves a selected effort to the value sent in an ordinary inference request. | |
| pub fn resolve_reasoning_effort(&self, effort: ReasoningEffort) -> ReasoningEffort { | |
| match effort { | |
| ReasoningEffort::Ultra => self | |
| .multi_agent_reasoning_effort | |
| .as_ref() | |
| .filter(|effort| { | |
| *effort != &ReasoningEffort::Ultra | |
| && self | |
| .supported_reasoning_levels | |
| .iter() | |
| .any(|preset| &preset.effort == *effort) | |
| }) | |
| .cloned() | |
| .or_else(|| { | |
| self.supported_reasoning_levels | |
| .iter() | |
| .find(|preset| preset.effort == ReasoningEffort::Max) | |
| .or_else(|| { | |
| self.supported_reasoning_levels | |
| .iter() | |
| .rev() | |
| .find(|preset| preset.effort != ReasoningEffort::Ultra) | |
| }) | |
| .map(|preset| preset.effort.clone()) | |
| }) | |
| .unwrap_or(ReasoningEffort::Medium), | |
| // Keep "persistent" in local settings; the Responses API calls it "disabled". | |
| ReasoningEffort::Persistent => ReasoningEffort::Custom("disabled".to_string()), | |
| effort => effort, | |
| } | |
| } | |
| } | |
| mod tests; | |