mirror of
https://github.com/katanemo/plano.git
synced 2026-05-30 14:25:15 +02:00
pass request_id in orchestrator and routing model (#678)
This commit is contained in:
parent
b4543ba56c
commit
78b2ae0cf7
7 changed files with 96 additions and 48 deletions
|
|
@ -206,11 +206,16 @@ async fn handle_agent_chat(
|
|||
let message: Vec<OpenAIMessage> = client_request.get_messages();
|
||||
|
||||
// Extract trace parent for routing
|
||||
let trace_parent = request_headers
|
||||
let traceparent = request_headers
|
||||
.iter()
|
||||
.find(|(key, _)| key.as_str() == TRACE_PARENT_HEADER)
|
||||
.map(|(_, value)| value.to_str().unwrap_or_default().to_string());
|
||||
|
||||
let request_id = request_headers
|
||||
.get(common::consts::REQUEST_ID_HEADER)
|
||||
.and_then(|val| val.to_str().ok())
|
||||
.map(|s| s.to_string());
|
||||
|
||||
// Create agent map for pipeline processing and agent selection
|
||||
let agent_map = {
|
||||
let agents = agents_list.read().await;
|
||||
|
|
@ -219,7 +224,7 @@ async fn handle_agent_chat(
|
|||
};
|
||||
|
||||
// Parse trace parent to get trace_id and parent_span_id
|
||||
let (trace_id, parent_span_id) = if let Some(ref tp) = trace_parent {
|
||||
let (trace_id, parent_span_id) = if let Some(ref tp) = traceparent {
|
||||
parse_traceparent(tp)
|
||||
} else {
|
||||
(String::new(), None)
|
||||
|
|
@ -231,7 +236,7 @@ async fn handle_agent_chat(
|
|||
let selection_start_instant = Instant::now();
|
||||
|
||||
let selected_agents = agent_selector
|
||||
.select_agents(&message, &listener, trace_parent.clone())
|
||||
.select_agents(&message, &listener, traceparent.clone(), request_id.clone())
|
||||
.await?;
|
||||
|
||||
// Record agent selection span
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue