Commit d6d5b12e authored by OlivierDehaene's avatar OlivierDehaene
Browse files

fix(router): Handle tokenizer errors

parent feb7806c
...@@ -123,20 +123,26 @@ fn validation_worker( ...@@ -123,20 +123,26 @@ fn validation_worker(
} }
// Get the number of tokens in the input // Get the number of tokens in the input
let inputs = tokenizer.encode(request.inputs.clone(), false).unwrap(); match tokenizer.encode(request.inputs.clone(), false) {
let input_length = inputs.len(); Ok(inputs) => {
let input_length = inputs.len();
if input_length > max_input_length {
response_tx if input_length > max_input_length {
.send(Err(ValidationError::InputLength( response_tx
input_length, .send(Err(ValidationError::InputLength(
max_input_length, input_length,
))) max_input_length,
.unwrap_or(()); )))
continue; .unwrap_or(());
} continue;
}
response_tx.send(Ok((input_length, request))).unwrap_or(());
response_tx.send(Ok((input_length, request))).unwrap_or(());
}
Err(err) => response_tx
.send(Err(ValidationError::Tokenizer(err.to_string())))
.unwrap_or(()),
};
} }
} }
...@@ -157,6 +163,8 @@ pub enum ValidationError { ...@@ -157,6 +163,8 @@ pub enum ValidationError {
MaxNewTokens, MaxNewTokens,
#[error("inputs must have less than {1} tokens. Given: {0}")] #[error("inputs must have less than {1} tokens. Given: {0}")]
InputLength(usize, usize), InputLength(usize, usize),
#[error("tokenizer error {0}")]
Tokenizer(String),
} }
impl From<ValidationError> for (StatusCode, Json<ErrorResponse>) { impl From<ValidationError> for (StatusCode, Json<ErrorResponse>) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment