[router] create worker removal step and clean up worker manager (#11921)

This commit is contained in:
Simo Lin
2025-10-22 13:26:06 -07:00
committed by GitHub
parent eec9e471ca
commit 5dccf69713
23 changed files with 758 additions and 1905 deletions

View File

@@ -149,7 +149,11 @@ pub fn responses_to_chat(req: &ResponsesRequest) -> Result<ChatCompletionRequest
Ok(ChatCompletionRequest {
messages,
model: req.model.clone().unwrap_or_else(|| "default".to_string()),
model: if req.model.is_empty() {
"default".to_string()
} else {
req.model.clone()
},
temperature: req.temperature,
max_completion_tokens: req.max_output_tokens,
stream: is_streaming,
@@ -311,7 +315,7 @@ mod tests {
let req = ResponsesRequest {
input: ResponseInput::Text("Hello, world!".to_string()),
instructions: Some("You are a helpful assistant.".to_string()),
model: Some("gpt-4".to_string()),
model: "gpt-4".to_string(),
temperature: Some(0.7),
..Default::default()
};

View File

@@ -324,10 +324,11 @@ async fn route_responses_background(
incomplete_details: None,
instructions: request.instructions.clone(),
max_output_tokens: request.max_output_tokens,
model: request
.model
.clone()
.unwrap_or_else(|| "default".to_string()),
model: if request.model.is_empty() {
"default".to_string()
} else {
request.model.clone()
},
output: Vec::new(),
parallel_tool_calls: request.parallel_tool_calls.unwrap_or(true),
previous_response_id: request.previous_response_id.clone(),
@@ -622,10 +623,11 @@ async fn process_and_transform_sse_stream(
// Create event emitter for OpenAI-compatible streaming
let response_id = format!("resp_{}", Uuid::new_v4());
let model = original_request
.model
.clone()
.unwrap_or_else(|| "default".to_string());
let model = if original_request.model.is_empty() {
"default".to_string()
} else {
original_request.model.clone()
};
let created_at = chrono::Utc::now().timestamp() as u64;
let mut event_emitter = ResponseStreamEventEmitter::new(response_id, model, created_at);

View File

@@ -608,10 +608,11 @@ async fn execute_tool_loop_streaming_internal(
// Create response event emitter
let response_id = format!("resp_{}", Uuid::new_v4());
let model = current_request
.model
.clone()
.unwrap_or_else(|| "default".to_string());
let model = if current_request.model.is_empty() {
"default".to_string()
} else {
current_request.model.clone()
};
let created_at = SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap()