use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("Model error: {0}")]
Model(String),
#[error("Training error: {0}")]
Training(String),
#[error("Tokenization error: {0}")]
Tokenization(String),
#[error("Dataset error: {0}")]
Dataset(String),
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
#[error("Serialization error: {0}")]
Serialization(String),
#[error("Configuration error: {0}")]
Config(String),
#[error("Pre-trained model not found: {0}")]
PretrainedNotFound(String),
}
pub type Result<T> = std::result::Result<T, Error>;
impl From<serde_json::Error> for Error {
fn from(err: serde_json::Error) -> Self {
Error::Serialization(err.to_string())
}
}