mirror of
https://github.com/huggingface/candle.git
synced 2025-06-17 02:58:50 +00:00
Use the whisper-v3 tokenizer now that it has been added. (#1337)
* Use the whisper-v3 tokenizer now that it has been added. * Use the appropriate nospeech token.
This commit is contained in:
@ -128,7 +128,13 @@ impl Decoder {
|
|||||||
let transcribe_token = token_id(&tokenizer, m::TRANSCRIBE_TOKEN)?;
|
let transcribe_token = token_id(&tokenizer, m::TRANSCRIBE_TOKEN)?;
|
||||||
let translate_token = token_id(&tokenizer, m::TRANSLATE_TOKEN)?;
|
let translate_token = token_id(&tokenizer, m::TRANSLATE_TOKEN)?;
|
||||||
let eot_token = token_id(&tokenizer, m::EOT_TOKEN)?;
|
let eot_token = token_id(&tokenizer, m::EOT_TOKEN)?;
|
||||||
let no_speech_token = token_id(&tokenizer, m::NO_SPEECH_TOKEN)?;
|
let no_speech_token = m::NO_SPEECH_TOKENS
|
||||||
|
.iter()
|
||||||
|
.find_map(|token| token_id(&tokenizer, token).ok());
|
||||||
|
let no_speech_token = match no_speech_token {
|
||||||
|
None => anyhow::bail!("unable to find any non-speech token"),
|
||||||
|
Some(n) => n,
|
||||||
|
};
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
model,
|
model,
|
||||||
rng: rand::rngs::StdRng::seed_from_u64(seed),
|
rng: rand::rngs::StdRng::seed_from_u64(seed),
|
||||||
@ -512,11 +518,7 @@ fn main() -> Result<()> {
|
|||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
let config = repo.get("config.json")?;
|
let config = repo.get("config.json")?;
|
||||||
let tokenizer = if args.model == WhichModel::LargeV3 {
|
let tokenizer = repo.get("tokenizer.json")?;
|
||||||
panic!("openai/whisper-large-v3 does not provide a compatible tokenizer.json config at the moment")
|
|
||||||
} else {
|
|
||||||
repo.get("tokenizer.json")?
|
|
||||||
};
|
|
||||||
let model = repo.get("model.safetensors")?;
|
let model = repo.get("model.safetensors")?;
|
||||||
(config, tokenizer, model)
|
(config, tokenizer, model)
|
||||||
};
|
};
|
||||||
|
@ -43,4 +43,4 @@ pub const TRANSCRIBE_TOKEN: &str = "<|transcribe|>";
|
|||||||
pub const TRANSLATE_TOKEN: &str = "<|translate|>";
|
pub const TRANSLATE_TOKEN: &str = "<|translate|>";
|
||||||
pub const NO_TIMESTAMPS_TOKEN: &str = "<|notimestamps|>";
|
pub const NO_TIMESTAMPS_TOKEN: &str = "<|notimestamps|>";
|
||||||
pub const EOT_TOKEN: &str = "<|endoftext|>";
|
pub const EOT_TOKEN: &str = "<|endoftext|>";
|
||||||
pub const NO_SPEECH_TOKEN: &str = "<|nocaptions|>";
|
pub const NO_SPEECH_TOKENS: [&str; 2] = ["<|nocaptions|>", "<|nospeech|>"];
|
||||||
|
@ -129,7 +129,13 @@ impl Decoder {
|
|||||||
let transcribe_token = token_id(&tokenizer, m::TRANSCRIBE_TOKEN)?;
|
let transcribe_token = token_id(&tokenizer, m::TRANSCRIBE_TOKEN)?;
|
||||||
let translate_token = token_id(&tokenizer, m::TRANSLATE_TOKEN)?;
|
let translate_token = token_id(&tokenizer, m::TRANSLATE_TOKEN)?;
|
||||||
let eot_token = token_id(&tokenizer, m::EOT_TOKEN)?;
|
let eot_token = token_id(&tokenizer, m::EOT_TOKEN)?;
|
||||||
let no_speech_token = token_id(&tokenizer, m::NO_SPEECH_TOKEN)?;
|
let no_speech_token = m::NO_SPEECH_TOKENS
|
||||||
|
.iter()
|
||||||
|
.find_map(|token| token_id(&tokenizer, token).ok());
|
||||||
|
let no_speech_token = match no_speech_token {
|
||||||
|
None => anyhow::bail!("unable to find any non-speech token"),
|
||||||
|
Some(n) => n,
|
||||||
|
};
|
||||||
let seed = 299792458;
|
let seed = 299792458;
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
model,
|
model,
|
||||||
|
Reference in New Issue
Block a user