fix: handle non utf-8 / utf-16 error

release-notes-05
Meng Zhang 2023-11-02 16:29:30 -07:00
parent eb34850a5e
commit acb3a33d78
2 changed files with 10 additions and 3 deletions

View File

@ -246,9 +246,14 @@ class TextInferenceEngineImpl : public TextInferenceEngine {
} }
if (request.multibyte_pending == 0) { if (request.multibyte_pending == 0) {
rust::String generated_text = is_eos ? "" : request.generated_text; rust::String generated_text;
result.push_back({request.id, generated_text}); try {
generated_text = is_eos ? "" : request.generated_text;
} catch (const std::invalid_argument& e) {
fprintf(stderr, "%s:%d [%s] - ignoring non utf-8/utf-16 output\n", __FILE__, __LINE__, __func__);
}
result.push_back({request.id, generated_text});
request.generated_text.clear(); request.generated_text.clear();
} }
} }

View File

@ -76,7 +76,9 @@ impl AsyncTextInferenceEngine {
let result = match engine.as_mut().unwrap().step() { let result = match engine.as_mut().unwrap().step() {
Ok(result) => result, Ok(result) => result,
Err(err) => panic!("Failed to step: {}", err), Err(err) => {
panic!("Failed to step: {}", err)
}
}; };
for ffi::StepOutput { request_id, text } in result { for ffi::StepOutput { request_id, text } in result {