Skip to content

Commit 3d9cc20

Browse files
fix: fix panic on empty batch of inputs
1 parent 41312fb commit 3d9cc20

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

router/src/http/server.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,17 @@ async fn embed(
499499
Input::Batch(inputs) => {
500500
metrics::increment_counter!("te_request_count", "method" => "batch");
501501

502+
if inputs.is_empty() {
503+
let message = "`inputs` cannot be empty".to_string();
504+
tracing::error!("{message}");
505+
let err = ErrorResponse {
506+
error: message,
507+
error_type: ErrorType::Validation,
508+
};
509+
metrics::increment_counter!("te_request_failure", "err" => "validation");
510+
Err(err)?;
511+
}
512+
502513
let batch_size = inputs.len();
503514
if batch_size > info.max_client_batch_size {
504515
let message = format!(
@@ -639,6 +650,17 @@ async fn openai_embed(
639650
Input::Batch(inputs) => {
640651
metrics::increment_counter!("te_request_count", "method" => "batch");
641652

653+
if inputs.is_empty() {
654+
let message = "`inputs` cannot be empty".to_string();
655+
tracing::error!("{message}");
656+
let err = ErrorResponse {
657+
error: message,
658+
error_type: ErrorType::Validation,
659+
};
660+
metrics::increment_counter!("te_request_failure", "err" => "validation");
661+
Err(err)?;
662+
}
663+
642664
let batch_size = inputs.len();
643665
if batch_size > info.max_client_batch_size {
644666
let message = format!(

0 commit comments

Comments
 (0)