|
|
|
@ -2413,6 +2413,8 @@ struct whisper_full_params whisper_full_default_params(enum whisper_sampling_str
|
|
|
|
|
/*.audio_ctx =*/ 0,
|
|
|
|
|
|
|
|
|
|
/*.prompt_tokens =*/ nullptr,
|
|
|
|
|
/*.prompt_n_tokens =*/ 0,
|
|
|
|
|
|
|
|
|
|
/*.language =*/ "en",
|
|
|
|
|
|
|
|
|
|
/*.greedy =*/ {
|
|
|
|
@ -2457,6 +2459,8 @@ struct whisper_full_params whisper_full_default_params(enum whisper_sampling_str
|
|
|
|
|
/*.audio_ctx =*/ 0,
|
|
|
|
|
|
|
|
|
|
/*.prompt_tokens =*/ nullptr,
|
|
|
|
|
/*.prompt_n_tokens =*/ 0,
|
|
|
|
|
|
|
|
|
|
/*.language =*/ "en",
|
|
|
|
|
|
|
|
|
|
/*.greedy =*/ {
|
|
|
|
@ -2588,10 +2592,11 @@ int whisper_full(
|
|
|
|
|
|
|
|
|
|
// Prepend the prompt tokens to the prompt_past
|
|
|
|
|
if (params.prompt_tokens) {
|
|
|
|
|
for (int i = 0; i < (int) params.prompt_tokens->size(); i++) {
|
|
|
|
|
prompt_past.push_back((*params.prompt_tokens)[i]);
|
|
|
|
|
// Parse tokens from the pointer (it points to an std::vector)
|
|
|
|
|
for (int i = 0; i < params.prompt_n_tokens; i++) {
|
|
|
|
|
prompt_past.push_back(params.prompt_tokens[i]);
|
|
|
|
|
}
|
|
|
|
|
std::rotate(prompt_past.begin(), prompt_past.end() - params.prompt_tokens->size(), prompt_past.end());
|
|
|
|
|
std::rotate(prompt_past.begin(), prompt_past.end() - params.prompt_n_tokens, prompt_past.end());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// overwrite audio_ctx
|
|
|
|
|