pub struct Model { /* private fields */ }Expand description
The object used to interact with the model. This can be used with many varietes of models, 
and as such may be created with one of:
Implementations§
Source§impl Model
 
impl Model
pub fn new(runner: Arc<MistralRs>) -> Self
Sourcepub async fn stream_chat_request<R: RequestLike>(
    &self,
    request: R,
) -> Result<Stream<'_>>
 
pub async fn stream_chat_request<R: RequestLike>( &self, request: R, ) -> Result<Stream<'_>>
Generate with the model.
Sourcepub async fn send_chat_request<R: RequestLike>(
    &self,
    request: R,
) -> Result<ChatCompletionResponse>
 
pub async fn send_chat_request<R: RequestLike>( &self, request: R, ) -> Result<ChatCompletionResponse>
Generate with the model.
Sourcepub async fn send_raw_chat_request<R: RequestLike>(
    &self,
    request: R,
) -> Result<(Vec<Tensor>, Vec<u32>)>
 
pub async fn send_raw_chat_request<R: RequestLike>( &self, request: R, ) -> Result<(Vec<Tensor>, Vec<u32>)>
Generate with the model, returning raw logits of the first token generated.
Returns the chunks of the logits (1 or more, determined by prompt batchsize) and the tokens.
pub async fn generate_image( &self, prompt: impl ToString, response_format: ImageGenerationResponseFormat, generation_params: DiffusionGenerationParams, ) -> Result<ImageGenerationResponse>
Sourcepub async fn generate_speech(
    &self,
    prompt: impl ToString,
) -> Result<(Arc<Vec<f32>>, usize, usize)>
 
pub async fn generate_speech( &self, prompt: impl ToString, ) -> Result<(Arc<Vec<f32>>, usize, usize)>
Generate audio given a (model specific) prompt.
This returns: (pcm, sampling rate, channels)
Sourcepub async fn generate_embeddings(
    &self,
    request: EmbeddingRequestBuilder,
) -> Result<Vec<Vec<f32>>>
 
pub async fn generate_embeddings( &self, request: EmbeddingRequestBuilder, ) -> Result<Vec<Vec<f32>>>
Generate embeddings for one or more inputs configured via an EmbeddingRequestBuilder.
Returns one embedding vector per input in the same order they were added.
Sourcepub async fn generate_embedding(
    &self,
    prompt: impl ToString,
) -> Result<Vec<f32>>
 
pub async fn generate_embedding( &self, prompt: impl ToString, ) -> Result<Vec<f32>>
Convenience wrapper for generating a single embedding.
Sourcepub async fn re_isq_model(&self, isq_type: IsqType) -> Result<()>
 
pub async fn re_isq_model(&self, isq_type: IsqType) -> Result<()>
Reapply ISQ to the model. This will be done on whatever device the model is already on.
Sourcepub async fn tokenize(
    &self,
    text: Either<TextMessages, String>,
    tools: Option<Vec<Tool>>,
    add_special_tokens: bool,
    add_generation_prompt: bool,
    enable_thinking: Option<bool>,
) -> Result<Vec<u32>>
 
pub async fn tokenize( &self, text: Either<TextMessages, String>, tools: Option<Vec<Tool>>, add_special_tokens: bool, add_generation_prompt: bool, enable_thinking: Option<bool>, ) -> Result<Vec<u32>>
Tokenize some text or messages.
toolsis only used if messages are provided.
Sourcepub async fn detokenize(
    &self,
    tokens: Vec<u32>,
    skip_special_tokens: bool,
) -> Result<String>
 
pub async fn detokenize( &self, tokens: Vec<u32>, skip_special_tokens: bool, ) -> Result<String>
Detokenize some tokens.
Sourcepub fn config(&self) -> Result<MistralRsConfig, String>
 
pub fn config(&self) -> Result<MistralRsConfig, String>
Retrieve some information about this model.
pub fn inner(&self) -> &MistralRs
Auto Trait Implementations§
impl Freeze for Model
impl RefUnwindSafe for Model
impl Send for Model
impl Sync for Model
impl Unpin 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
§impl<T> Downcast for Twhere
    T: AsAny + ?Sized,
 
impl<T> Downcast for Twhere
    T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
    T: AsAny,
 
fn downcast_ref<T>(&self) -> Option<&T>where
    T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
    T: AsAny,
 
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
    T: AsAny,
Any.§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§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> ⓘ
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§impl<F, T> IntoSample<T> for Fwhere
    T: FromSample<F>,
 
impl<F, T> IntoSample<T> for Fwhere
    T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
    T: ?Sized,
 
impl<T> PolicyExt for Twhere
    T: ?Sized,
§impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
 
impl<SS, SP> SupersetOf<SS> for SPwhere
    SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
 
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
 
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
 
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
 
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.