pub struct AzureOpenAiDriver { /* private fields */ }Expand description
Driver for Azure OpenAI deployments.
Uses the same request/response format as OpenAI but with Azure-specific URL construction and API key header.
Implementations§
Source§impl AzureOpenAiDriver
impl AzureOpenAiDriver
Sourcepub fn new(
api_key: String,
resource: String,
deployment: String,
api_version: Option<String>,
) -> Self
pub fn new( api_key: String, resource: String, deployment: String, api_version: Option<String>, ) -> Self
Create a new Azure OpenAI driver.
api_key: The Azure OpenAI API key.resource: The Azure resource name (subdomain).deployment: The deployment name.api_version: API version string (e.g., “2024-02-01”).
Sourcepub fn with_client(
client: Client,
api_key: String,
resource: String,
deployment: String,
api_version: Option<String>,
) -> Self
pub fn with_client( client: Client, api_key: String, resource: String, deployment: String, api_version: Option<String>, ) -> Self
Create a new Azure OpenAI driver with a shared HTTP client.
Sourcepub fn deployment(&self) -> &str
pub fn deployment(&self) -> &str
Get the deployment name.
Sourcepub fn build_request_body(&self, request: &CompletionRequest) -> Value
pub fn build_request_body(&self, request: &CompletionRequest) -> Value
Build request body (delegates to inner OpenAI-compatible driver).
Sourcepub fn parse_response(&self, body: &Value) -> PunchResult<CompletionResponse>
pub fn parse_response(&self, body: &Value) -> PunchResult<CompletionResponse>
Parse response (delegates to inner OpenAI-compatible driver).
Trait Implementations§
Source§impl LlmDriver for AzureOpenAiDriver
impl LlmDriver for AzureOpenAiDriver
Source§fn complete<'life0, 'async_trait>(
&'life0 self,
request: CompletionRequest,
) -> Pin<Box<dyn Future<Output = PunchResult<CompletionResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn complete<'life0, 'async_trait>(
&'life0 self,
request: CompletionRequest,
) -> Pin<Box<dyn Future<Output = PunchResult<CompletionResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Send a completion request and return the response.
Source§fn stream_complete_with_callback<'life0, 'async_trait>(
&'life0 self,
request: CompletionRequest,
callback: StreamCallback,
) -> Pin<Box<dyn Future<Output = PunchResult<CompletionResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_complete_with_callback<'life0, 'async_trait>(
&'life0 self,
request: CompletionRequest,
callback: StreamCallback,
) -> Pin<Box<dyn Future<Output = PunchResult<CompletionResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Streaming completion with per-chunk callback.
Returns the final assembled
CompletionResponse.Source§fn stream_complete<'life0, 'async_trait>(
&'life0 self,
request: CompletionRequest,
) -> Pin<Box<dyn Future<Output = PunchResult<CompletionResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn stream_complete<'life0, 'async_trait>(
&'life0 self,
request: CompletionRequest,
) -> Pin<Box<dyn Future<Output = PunchResult<CompletionResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Streaming variant. Default implementation falls back to
complete.Auto Trait Implementations§
impl Freeze for AzureOpenAiDriver
impl !RefUnwindSafe for AzureOpenAiDriver
impl Send for AzureOpenAiDriver
impl Sync for AzureOpenAiDriver
impl Unpin for AzureOpenAiDriver
impl UnsafeUnpin for AzureOpenAiDriver
impl !UnwindSafe for AzureOpenAiDriver
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