pub struct MtmdContext {
pub context: NonNull<mtmd_context>,
}Expand description
Safe wrapper around mtmd_context.
This represents an initialized multimodal context that can process text, images, and audio through llama.cpp’s multimodal interface.
Fields§
§context: NonNull<mtmd_context>Raw pointer to the underlying mtmd_context.
Implementations§
Source§impl MtmdContext
impl MtmdContext
Sourcepub fn init_from_file(
mmproj_path: &str,
text_model: &LlamaModel,
params: &MtmdContextParams,
) -> Result<Self, MtmdInitError>
pub fn init_from_file( mmproj_path: &str, text_model: &LlamaModel, params: &MtmdContextParams, ) -> Result<Self, MtmdInitError>
Initialize MTMD context from a multimodal projection file.
§Errors
Returns an MtmdInitError variant matching the wrapper’s status code.
Sourcepub fn decode_use_non_causal(&self, chunk: &MtmdInputChunk) -> bool
pub fn decode_use_non_causal(&self, chunk: &MtmdInputChunk) -> bool
Check whether non-causal attention mask is needed before llama_decode
for the given input chunk.
Sourcepub fn decode_use_mrope(&self) -> bool
pub fn decode_use_mrope(&self) -> bool
Check whether the current model uses M-RoPE for llama_decode.
Sourcepub fn support_vision(&self) -> bool
pub fn support_vision(&self) -> bool
Check whether the current model supports vision input.
Sourcepub fn support_audio(&self) -> bool
pub fn support_audio(&self) -> bool
Check whether the current model supports audio input.
Sourcepub fn get_audio_sample_rate(&self) -> Option<u32>
pub fn get_audio_sample_rate(&self) -> Option<u32>
Get audio sample rate in Hz (e.g., 16000 for Whisper). Returns None if audio is not supported.
Sourcepub fn tokenize(
&self,
text: MtmdInputText,
bitmaps: &[&MtmdBitmap],
) -> Result<MtmdInputChunks, MtmdTokenizeError>
pub fn tokenize( &self, text: MtmdInputText, bitmaps: &[&MtmdBitmap], ) -> Result<MtmdInputChunks, MtmdTokenizeError>
Tokenize input text and bitmaps into chunks.
The input text must contain media markers (default: <__media__>) that will be
replaced with the corresponding bitmap data from the bitmaps array.
The number of bitmaps must equal the number of markers in the text.
§Errors
Returns an MtmdTokenizeError variant matching the wrapper’s status code.
Sourcepub fn encode_chunk(
&self,
chunk: &MtmdInputChunk,
) -> Result<(), MtmdEncodeError>
pub fn encode_chunk( &self, chunk: &MtmdInputChunk, ) -> Result<(), MtmdEncodeError>
Encode a chunk for image/audio processing.
§Errors
Returns an MtmdEncodeError variant matching the wrapper’s status code.
Trait Implementations§
Source§impl Debug for MtmdContext
impl Debug for MtmdContext
Source§impl Drop for MtmdContext
impl Drop for MtmdContext
impl Send for MtmdContext
impl Sync for MtmdContext
Auto Trait Implementations§
impl Freeze for MtmdContext
impl RefUnwindSafe for MtmdContext
impl Unpin for MtmdContext
impl UnsafeUnpin for MtmdContext
impl UnwindSafe for MtmdContext
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
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>
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>
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