1use llama_cpp_2::{
2 ApplyChatTemplateError, ChatTemplateError, DecodeError, GrammarError, LlamaContextLoadError,
3 LlamaModelLoadError, StringToTokenError, TokenToStringError,
4 llama_batch::BatchAddError,
5 mtmd::{MtmdEvalError, MtmdInitError, MtmdTokenizeError},
6};
7use thiserror::Error;
8
9#[derive(Debug, Error)]
10pub enum CreateLlamaCppRunnerError {
11 #[error("hf hub: {0}")]
12 HfHub(#[from] hf_hub::api::tokio::ApiError),
13 #[error("load model: {0}")]
14 LoadModel(#[from] LlamaModelLoadError),
15 #[error("load mtmd: {0}")]
16 LoadMtmd(#[from] MtmdInitError),
17 #[error("load chat template: {0}")]
18 LoadChatTemplate(#[from] ChatTemplateError),
19}
20
21#[derive(Debug, Error)]
22pub enum GenericRunnerError<TmplErr> {
23 #[error("load context: {0}")]
24 LoadContext(#[from] LlamaContextLoadError),
25 #[error("apply chat template: {0}")]
26 ApplyChatTemplate(TmplErr),
27 #[error("mtmd tokenize: {0}")]
28 MtmdTokenize(#[from] MtmdTokenizeError),
29 #[error("token-string conversion: {0}")]
30 TokenToString(#[from] TokenToStringError),
31 #[error("string-token conversion: {0}")]
32 StringToToken(#[from] StringToTokenError),
33 #[error("batch add: {0}")]
34 BatchAdd(#[from] BatchAddError),
35 #[error("mtmd eval: {0}")]
36 MtmdEval(#[from] MtmdEvalError),
37 #[error("batch decode: {0}")]
38 BatchDecode(#[from] DecodeError),
39 #[error("llguidance: {0}")]
40 Llguidance(#[from] GrammarError),
41}
42
43pub type RunnerError = GenericRunnerError<ApplyChatTemplateError>;