use crate::config::ModelType;
pub type Result<T> = core::result::Result<T, NihilityModelError>;
#[derive(thiserror::Error, Debug)]
pub enum NihilityModelError {
#[error("Config error: {0}")]
Config(#[from] nihility_config::NihilityConfigError),
#[error("No Match Model for {0:?}")]
NoMatchModel(ModelType),
#[error("Not Support error")]
NotSupport,
#[error("Api error {0}")]
Api(#[from] async_openai::error::OpenAIError),
#[error("Response error")]
Response,
}