mirror of
https://github.com/katanemo/plano.git
synced 2026-05-10 08:12:48 +02:00
add overrides.disable_signals to skip CPU-heavy signal analysis (#906)
This commit is contained in:
parent
22f332f62d
commit
6701195a5d
7 changed files with 46 additions and 1 deletions
|
|
@ -24,4 +24,7 @@ pub struct AppState {
|
|||
/// Shared HTTP client for upstream LLM requests (connection pooling / keep-alive).
|
||||
pub http_client: reqwest::Client,
|
||||
pub filter_pipeline: Arc<FilterPipeline>,
|
||||
/// When false, agentic signal analysis is skipped on LLM responses to save CPU.
|
||||
/// Controlled by `overrides.disable_signals` in plano config.
|
||||
pub signals_enabled: bool,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ async fn llm_chat_inner(
|
|||
&request_path,
|
||||
&state.model_aliases,
|
||||
&state.llm_providers,
|
||||
state.signals_enabled,
|
||||
)
|
||||
.await
|
||||
{
|
||||
|
|
@ -408,6 +409,7 @@ async fn parse_and_validate_request(
|
|||
request_path: &str,
|
||||
model_aliases: &Option<HashMap<String, ModelAlias>>,
|
||||
llm_providers: &Arc<RwLock<LlmProviders>>,
|
||||
signals_enabled: bool,
|
||||
) -> Result<PreparedRequest, Response<BoxBody<Bytes, hyper::Error>>> {
|
||||
let raw_bytes = request
|
||||
.collect()
|
||||
|
|
@ -486,7 +488,11 @@ async fn parse_and_validate_request(
|
|||
let user_message_preview = client_request
|
||||
.get_recent_user_message()
|
||||
.map(|msg| truncate_message(&msg, 50));
|
||||
let messages_for_signals = Some(client_request.get_messages());
|
||||
let messages_for_signals = if signals_enabled {
|
||||
Some(client_request.get_messages())
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
// Set the upstream model name and strip routing metadata
|
||||
client_request.set_model(model_name_only.clone());
|
||||
|
|
|
|||
|
|
@ -328,6 +328,8 @@ async fn init_app_state(
|
|||
.as_ref()
|
||||
.and_then(|tracing| tracing.span_attributes.clone());
|
||||
|
||||
let signals_enabled = !overrides.disable_signals.unwrap_or(false);
|
||||
|
||||
Ok(AppState {
|
||||
orchestrator_service,
|
||||
model_aliases: config.model_aliases.clone(),
|
||||
|
|
@ -339,6 +341,7 @@ async fn init_app_state(
|
|||
span_attributes,
|
||||
http_client: reqwest::Client::new(),
|
||||
filter_pipeline,
|
||||
signals_enabled,
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue