using default for the prompt_gateway path

This commit is contained in:
Salman Paracha 2026-01-22 20:47:05 -08:00
parent 47712f1dbc
commit f401bcc9e4

View file

@ -134,16 +134,33 @@ impl StreamContext {
.get_http_request_header(ARCH_PROVIDER_HINT_HEADER) .get_http_request_header(ARCH_PROVIDER_HINT_HEADER)
.map(|llm_name| llm_name.into()); .map(|llm_name| llm_name.into());
// info!("llm_providers: {:?}", self.llm_providers); // Try to get provider with hint, fallback to default if error
let provider = // This handles prompt_gateway requests which don't set ARCH_PROVIDER_HINT_HEADER
routing::get_llm_provider(&self.llm_providers, provider_hint).map_err(|err| { // since prompt_gateway doesn't have access to model configuration.
error!( // brightstaff (model proxy) always validates and sets the provider hint.
"[PLANO_REQ_ID:{}] PROVIDER_SELECTION_FAILED: Hint='None' Error='{}'", let provider = match routing::get_llm_provider(&self.llm_providers, provider_hint) {
self.request_identifier(), Ok(provider) => provider,
err Err(err) => {
); // Try default provider as fallback
err match self.llm_providers.default() {
})?; Some(default_provider) => {
info!(
"[PLANO_REQ_ID:{}] Provider selection failed, using default provider",
self.request_identifier()
);
default_provider
}
None => {
error!(
"[PLANO_REQ_ID:{}] PROVIDER_SELECTION_FAILED: Error='{}' and no default provider configured",
self.request_identifier(),
err
);
return Err(err);
}
}
}
};
self.llm_provider = Some(provider); self.llm_provider = Some(provider);