pub struct AzureExt { /* private fields */ }Trait Implementations§
Source§impl<H> Capabilities<H> for AzureExt
impl<H> Capabilities<H> for AzureExt
Source§type Completion = Capable<GenericCompletionModel<AzureExt, H>>
type Completion = Capable<GenericCompletionModel<AzureExt, H>>
Completion model capability marker.
Source§type Embeddings = Capable<EmbeddingModel<H>>
type Embeddings = Capable<EmbeddingModel<H>>
Embedding model capability marker.
Source§type Transcription = Capable<TranscriptionModel<H>>
type Transcription = Capable<TranscriptionModel<H>>
Audio transcription model capability marker.
Source§type ModelListing = Nothing
type ModelListing = Nothing
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 = Capable<AudioGenerationModel<H>>
type AudioGeneration = Capable<AudioGenerationModel<H>>
Available on crate feature
audio only.Audio generation model capability marker.
Source§impl OpenAICompatibleProvider for AzureExt
impl OpenAICompatibleProvider for AzureExt
Source§const PROVIDER_NAME: &'static str = "azure.openai"
const PROVIDER_NAME: &'static str = "azure.openai"
Provider name recorded on
gen_ai.provider.name telemetry spans.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§const EMITS_COMPLETE_SINGLE_CHUNK_TOOL_CALLS: bool = false
const EMITS_COMPLETE_SINGLE_CHUNK_TOOL_CALLS: bool = false
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 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§const STREAM_INCLUDE_USAGE: bool = true
const STREAM_INCLUDE_USAGE: bool = true
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§fn build_completion_request(
&self,
model: String,
request: CoreCompletionRequest,
options: CompletionModelOptions,
) -> Result<CompletionRequest, CompletionError>
fn build_completion_request( &self, model: String, request: CoreCompletionRequest, 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(&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§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 AzureExt
impl Provider for AzureExt
Source§const VERIFY_PATH: &'static str = ""
const VERIFY_PATH: &'static str = ""
Verifying Azure auth without consuming tokens is not supported
Source§type Builder = AzureExtBuilder
type Builder = AzureExtBuilder
The builder type that constructs this provider extension.
This associates extensions with their builders for type inference.
Auto Trait Implementations§
impl Freeze for AzureExt
impl RefUnwindSafe for AzureExt
impl Send for AzureExt
impl Sync for AzureExt
impl Unpin for AzureExt
impl UnsafeUnpin for AzureExt
impl UnwindSafe for AzureExt
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
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
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 more