fix(inference): propagate temperature_unsupported_models to local routing providers (#2221)

This commit is contained in:
YellowSnnowmann
2026-05-19 21:22:33 +05:30
committed by GitHub
parent afe1147422
commit 13500dbb37
3 changed files with 18 additions and 9 deletions
+6 -1
View File
@@ -627,7 +627,12 @@ pub fn create_intelligent_routing_provider(
))
};
let provider = crate::openhuman::routing::new_provider(remote, &config.local_ai, default_model);
let provider = crate::openhuman::routing::new_provider(
remote,
&config.local_ai,
default_model,
&config.temperature_unsupported_models,
);
Ok(Box::new(provider))
}
+6 -7
View File
@@ -28,6 +28,7 @@ pub fn new_provider(
remote: Box<dyn Provider>,
local_ai_config: &LocalAiConfig,
remote_fallback_model: &str,
temperature_unsupported_models: &[String],
) -> IntelligentRoutingProvider {
// Allow operators to point the local routing tier at an OpenAI-compatible
// server other than Ollama (e.g. llama-server for Gemma 4 E2B, which
@@ -114,12 +115,10 @@ pub fn new_provider(
} else {
AuthStyle::None
};
let local: Box<dyn Provider> = Box::new(OpenAiCompatibleProvider::new(
provider_label,
&local_base,
local_api_key,
local_auth_style,
));
let local: Box<dyn Provider> = Box::new(
OpenAiCompatibleProvider::new(provider_label, &local_base, local_api_key, local_auth_style)
.with_temperature_unsupported_models(temperature_unsupported_models.to_vec()),
);
IntelligentRoutingProvider::new(
remote,
@@ -166,7 +165,7 @@ mod tests {
}
fn make_provider(config: &LocalAiConfig) -> IntelligentRoutingProvider {
new_provider(Box::new(StubProvider), config, "remote-fallback")
new_provider(Box::new(StubProvider), config, "remote-fallback", &[])
}
/// Test that construction does not panic and the provider is usable.
+6 -1
View File
@@ -28,7 +28,12 @@
//! use crate::openhuman::inference::provider::compatible::{AuthStyle, OpenAiCompatibleProvider};
//!
//! let remote = create_backend_inference_provider(api_url, &opts)?;
//! let provider = routing::new_provider(remote, &config.local_ai, &config.default_model);
//! let provider = routing::new_provider(
//! remote,
//! &config.local_ai,
//! &config.default_model,
//! &config.temperature_unsupported_models,
//! );
//! ```
pub mod factory;