audio_recognize res text filter <asr_text>
This commit is contained in:
@@ -140,6 +140,7 @@ pub fn generate_generic_text<M: InferenceModel>(
|
||||
}
|
||||
input_ids = ctx.prepare_for_next_token(next_token)?;
|
||||
}
|
||||
model.clear_cache();
|
||||
let text = tokenizer.token_decode(generated)?;
|
||||
Ok(text)
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ impl FireRedVad {
|
||||
Ok(Some(VadFrameResult {
|
||||
is_speech: true,
|
||||
is_i16: true,
|
||||
is_speech_start: false, // TODO: is start speech, asr to clear cache
|
||||
is_speech_start: true, // TODO: is start speech, asr to clear cache
|
||||
orig_audio: Some(audio_frame.clone()),
|
||||
kaldi_audio: Some(feats),
|
||||
model_name: self.model_name.clone(),
|
||||
|
||||
@@ -89,9 +89,9 @@ impl<'a> Qwen3AsrGenerateModel<'a> {
|
||||
if !vad_res.is_speech || vad_res.orig_audio.is_none() {
|
||||
return Ok(AsrResult::init_empty());
|
||||
}
|
||||
if vad_res.is_speech_start {
|
||||
self.qwen3_asr.clear_kv_cache();
|
||||
}
|
||||
// if vad_res.is_speech_start {
|
||||
// self.qwen3_asr.clear_kv_cache();
|
||||
// }
|
||||
let audio_data =
|
||||
self.processor
|
||||
.process_vad_res(&self.default_template, vad_res, &self.tokenizer)?;
|
||||
@@ -110,13 +110,17 @@ impl<'a> Qwen3AsrGenerateModel<'a> {
|
||||
);
|
||||
let data_vec = vec![input_features];
|
||||
let data = MultiModalData::new(data_vec);
|
||||
let text = generate_generic_text(
|
||||
let mut text = generate_generic_text(
|
||||
&mut self.qwen3_asr,
|
||||
&self.tokenizer,
|
||||
input_ids,
|
||||
data,
|
||||
&mut ctx,
|
||||
)?;
|
||||
if text.contains("<asr_text>") {
|
||||
let mut split: Vec<&str> = text.split("<asr_text>").collect();
|
||||
text = split.pop().unwrap_or(&text).to_string();
|
||||
}
|
||||
Ok(AsrResult::init(text))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user