pub enum BatchExtError {
NullReturn,
Full(u32),
InvalidToken(i32),
InvalidSeqId {
seq_id: llama_seq_id,
n_seq_max: u32,
},
EmbeddingShape {
n_rows: usize,
n_embd: usize,
len: usize,
},
NoSuchEntry {
entry: i32,
len: usize,
},
PositionArity {
entry: i32,
expected: usize,
got: usize,
},
EmbeddingWidthMismatch {
expected: usize,
got: usize,
},
EmbeddingAlreadySet(i32),
StateAlreadySet(i32),
EmbeddingRejected,
}Expand description
Errors from building a LlamaBatchExt.
llama.cpp reports most of these as a bare false with the detail in its
log, so the variants carry whatever the Rust side can establish on its own.
Variants§
NullReturn
llama_batch_ext_init returned null.
Full(u32)
The batch already holds n_batch entries.
InvalidToken(i32)
The token id is negative or not below the model’s vocabulary size.
InvalidSeqId
The sequence id is negative or not below the context’s n_seq_max.
EmbeddingShape
n_rows * n_embd did not match the length of the value buffer.
Fields
NoSuchEntry
The entry handle does not belong to this batch — it came from another
batch, or from this one before LlamaBatchExt::clear.
PositionArity
The wrong number of positions was supplied for the entry. A token entry
takes one; an embedding entry takes
LlamaBatchExt::n_pos_per_embd.
Fields
EmbeddingWidthMismatch
Every embedding in one batch must have the same total width, fixed by the first one accepted.
EmbeddingAlreadySet(i32)
The entry already carries an input embedding; llama.cpp allows one.
StateAlreadySet(i32)
The entry already carries a state embedding; llama.cpp allows one.
EmbeddingRejected
llama.cpp rejected an embedding: the row width matches neither the decoder nor the encoder input width, or (for a state embedding) this context takes none — only an MTP context does. The specific reason is in the llama.cpp log.
When this comes from LlamaBatchExt::add_embedding, llama.cpp has
already appended the entry by the time it validates the block, and
offers no way to remove one — so the batch is left holding an entry with
no input, and LlamaBatchExt::clear is the only way forward. See
LlamaBatchExt::has_incomplete_entry.
Trait Implementations§
Source§impl Clone for BatchExtError
impl Clone for BatchExtError
Source§impl Debug for BatchExtError
impl Debug for BatchExtError
Source§impl Display for BatchExtError
impl Display for BatchExtError
impl Eq for BatchExtError
Source§impl Error for BatchExtError
impl Error for BatchExtError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()