pub trait TextGenerationModel {
// Required methods
fn load_tokenizer(&self) -> Result<Tokenizer>;
fn get_eos_token_str(&self) -> &str;
fn format_prompt(&self, prompt: &str) -> String;
fn format_messages(&self, messages: Vec<Message>) -> String;
fn prompt_with_tokens(
&self,
tokens: &[u32],
max_length: usize,
eos_token: u32,
) -> Result<Vec<u32>>;
}