pub struct Model {
pub embed_tokens: Embedding,
pub layers: Vec<DecoderLayer>,
pub norm: RmsNormWithWeight,
pub lm_head: Linear,
pub rotary_emb: RotaryEmbedding,
pub config: Config,
/* private fields */
}Fields§
§embed_tokens: Embedding§layers: Vec<DecoderLayer>§norm: RmsNormWithWeight§lm_head: Linear§rotary_emb: RotaryEmbedding§config: ConfigImplementations§
Source§impl Model
impl Model
pub fn load( vb: VarBuilder<'_>, cfg: &Config, dtype: DType, device: &CandleDevice, ) -> CandleResult<Self>
pub fn forward( &mut self, input_ids: &Tensor, pos: usize, cache_key: &str, ) -> CandleResult<Tensor>
pub fn clear_kv_cache_for(&mut self, cache_key: &str)
Sourcepub fn export_kv_cache(
&self,
cache_key: &str,
) -> Option<Vec<(Tensor, Tensor, usize, usize)>>
pub fn export_kv_cache( &self, cache_key: &str, ) -> Option<Vec<(Tensor, Tensor, usize, usize)>>
Export KV cache for CUDA runner migration. Returns per-layer (K_tensor, V_tensor, current_len, max_len).
pub fn release_cache(&self, _cache_key: &str)
Auto Trait Implementations§
impl Freeze for Model
impl !RefUnwindSafe for Model
impl Send for Model
impl Sync for Model
impl Unpin for Model
impl UnsafeUnpin for Model
impl !UnwindSafe for Model
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more