pub struct MistralExt;Trait Implementations§
Source§impl<H> Capabilities<H> for MistralExt
impl<H> Capabilities<H> for MistralExt
Source§type Completion = Capable<GenericCompletionModel<MistralExt, H>>
type Completion = Capable<GenericCompletionModel<MistralExt, H>>
Completion model capability marker.
Source§type Embeddings = Capable<GenericEmbeddingModel<MistralExt, H>>
type Embeddings = Capable<GenericEmbeddingModel<MistralExt, H>>
Embedding model capability marker.
Source§type Transcription = Capable<TranscriptionModel<H>>
type Transcription = Capable<TranscriptionModel<H>>
Audio transcription model capability marker.
Source§type ModelListing = Capable<MistralModelLister<H>>
type ModelListing = Capable<MistralModelLister<H>>
Model listing capability marker.
Source§type ImageGeneration = Nothing
type ImageGeneration = Nothing
Available on crate feature
image only.Image generation model capability marker.
Source§type AudioGeneration = Nothing
type AudioGeneration = Nothing
Available on crate feature
audio only.Audio generation model capability marker.
Source§impl Clone for MistralExt
impl Clone for MistralExt
Source§fn clone(&self) -> MistralExt
fn clone(&self) -> MistralExt
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for MistralExt
Source§impl Debug for MistralExt
impl Debug for MistralExt
Source§impl DebugExt for MistralExt
impl DebugExt for MistralExt
Source§impl Default for MistralExt
impl Default for MistralExt
Source§fn default() -> MistralExt
fn default() -> MistralExt
Returns the “default value” for a type. Read more
Source§impl OpenAICompatibleProvider for MistralExt
impl OpenAICompatibleProvider for MistralExt
Source§const PROVIDER_NAME: &'static str = "mistral"
const PROVIDER_NAME: &'static str = "mistral"
Provider name recorded on
gen_ai.provider.name telemetry spans.Source§const EMITS_COMPLETE_SINGLE_CHUNK_TOOL_CALLS: bool = true
const EMITS_COMPLETE_SINGLE_CHUNK_TOOL_CALLS: bool = true
Whether the backend can emit a whole tool call (id, name, and complete
arguments) in a single streaming chunk, as llama.cpp-based servers do.
When true, the shared streaming layer emits such calls as soon as they
arrive instead of holding them until the stream ends.
Source§const STREAM_INCLUDE_USAGE: bool = false
const STREAM_INCLUDE_USAGE: bool = false
Whether streaming requests include
"stream_options": {"include_usage": true}. Providers that reject
unknown parameters and already report usage on the final chunk set
this to false.Source§type StreamingUsage = Usage
type StreamingUsage = Usage
The usage payload parsed from streaming chunks and carried on the
final streaming response. OpenAI’s
Usage for most providers;
providers with richer usage accounting (e.g. Mistral’s cached-token
fallbacks, DeepSeek’s cache hit/miss counters) substitute their own.Source§type Response = CompletionResponse
type Response = CompletionResponse
The chat-completions payload this provider returns.
Source§fn completion_path(&self, _model: &str) -> String
fn completion_path(&self, _model: &str) -> String
The request path for chat completions, resolved against the client
base URL by
Provider::build_uri.
Providers that route the model through the URL (e.g. Azure deployment
paths) or keep other capabilities on differently-versioned paths
override this. model is the identifier the completion model handle
was created with; per-request model overrides only affect the body.Source§fn finalize_request_body(&self, body: &mut Value) -> Result<(), CompletionError>
fn finalize_request_body(&self, body: &mut Value) -> Result<(), CompletionError>
Adjust the fully serialized request body — after any streaming
parameters are merged — immediately before it is sent. This is where
wire-level dialect differences live (e.g. Mistral’s
"any" tool
choice, DeepSeek’s string-flattened message content).Source§const SUPPORTS_TOOLS: bool = true
const SUPPORTS_TOOLS: bool = true
Whether the provider supports tool calling. When false,
tools and
tool_choice are dropped with a warning during request conversion —
before tool-choice validation, so unsupported tool configurations
never error client-side on a provider that ignores tools anyway.Source§const SUPPORTS_RESPONSE_FORMAT: bool = true
const SUPPORTS_RESPONSE_FORMAT: bool = true
Whether
output_schema maps to OpenAI’s response_format. Providers
whose APIs reject json_schema response formats set this to false;
the schema is then dropped with a warning instead of being sent.Source§fn build_completion_request(
&self,
model: String,
request: CompletionRequest,
options: CompletionModelOptions,
) -> Result<CompletionRequest, CompletionError>
fn build_completion_request( &self, model: String, request: CompletionRequest, options: CompletionModelOptions, ) -> Result<CompletionRequest, CompletionError>
Build the typed chat-completions request. Providers that share the
OpenAI transport but need provider-specific message conversion can
override this while still using
GenericCompletionModel for sending,
streaming, error handling, and telemetry.Source§fn prepare_request(
&self,
request: &mut CompletionRequest,
) -> Result<(), CompletionError>
fn prepare_request( &self, request: &mut CompletionRequest, ) -> Result<(), CompletionError>
Adjust the typed request before serialization (e.g. rewrite the model
identifier or fold provider-native tool definitions out of
additional_params).Source§fn finalize_request_body_with_options(
&self,
body: &mut Value,
options: CompletionModelOptions,
) -> Result<(), CompletionError>
fn finalize_request_body_with_options( &self, body: &mut Value, options: CompletionModelOptions, ) -> Result<(), CompletionError>
Adjust the fully serialized request body with model-level options.
Providers that do not need model-instance options should override
finalize_request_body instead.Source§fn decorate_streaming_tool_call(
&self,
detail: &Value,
tool_calls: &mut HashMap<usize, RawStreamingToolCall>,
)
fn decorate_streaming_tool_call( &self, detail: &Value, tool_calls: &mut HashMap<usize, RawStreamingToolCall>, )
Decorate streamed tool calls from provider-specific streaming detail
payloads. Most OpenAI-compatible providers do not emit such details.
Source§impl Provider for MistralExt
impl Provider for MistralExt
Source§const VERIFY_PATH: &'static str = "/models"
const VERIFY_PATH: &'static str = "/models"
Provider endpoint used by
VerifyClient to validate credentials.Source§type Builder = MistralBuilder
type Builder = MistralBuilder
The builder type that constructs this provider extension.
This associates extensions with their builders for type inference.
Auto Trait Implementations§
impl Freeze for MistralExt
impl RefUnwindSafe for MistralExt
impl Send for MistralExt
impl Sync for MistralExt
impl Unpin for MistralExt
impl UnsafeUnpin for MistralExt
impl UnwindSafe for MistralExt
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
impl<T> CloneDebuggableStorage for Twhere
T: DebuggableStorage + Clone,
fn clone_storage(&self) -> Box<dyn CloneDebuggableStorage>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CloneableStorage for T
impl<T> CloneableStorage for T
fn clone_storage(&self) -> Box<dyn CloneableStorage>
impl<T> DebuggableStorage for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestCreates a shared type from an unshared type.
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.