in core/src/tokenization.rs [264:283]
fn prepare_pre_prompt(
default_prompt: Option<String>,
prompt_name: Option<String>,
prompts: Option<&HashMap<String, String>>,
) -> Result<Option<String>, TextEmbeddingsError> {
let pre_prompt = if let Some(prompt_name) = prompt_name.as_ref() {
match prompts {
None => {
return Err(TextEmbeddingsError::Validation(format!("`default-prompt-name` is set to `{prompt_name}` but no prompts were found in the Sentence Transformers configuration")));
}
Some(prompts) if !prompts.contains_key(prompt_name) => {
return Err(TextEmbeddingsError::Validation(format!("`default-prompt-name` is set to `{prompt_name}` but it was not found in the Sentence Transformers prompts. Available prompts: {:?}", prompts.keys())));
}
Some(prompts) => prompts.get(prompt_name).cloned(),
}
} else {
default_prompt
};
Ok(pre_prompt)
}