pub struct AzureOpenAIProvider { /* private fields */ }Expand description
Azure OpenAI provider implementation.
This provider creates language models, embedding models, and image models that use Azure OpenAI endpoints. It handles Azure-specific authentication (api-key header) and URL formatting (deployment-based or v1 API).
§Examples
§Using Builder Pattern (Recommended)
use llm_kit_azure::AzureClient;
let provider = AzureClient::new()
.resource_name("my-azure-resource")
.api_key("your-api-key")
.build();
let model = provider.chat_model("gpt-4-deployment");§Direct Instantiation (Alternative)
use llm_kit_azure::{AzureOpenAIProvider, AzureOpenAIProviderSettings};
let provider = AzureOpenAIProvider::new(
AzureOpenAIProviderSettings::new()
.with_resource_name("my-azure-resource")
.with_api_key("your-api-key")
);
let model = provider.chat_model("gpt-4-deployment");Implementations§
Source§impl AzureOpenAIProvider
impl AzureOpenAIProvider
Sourcepub fn new(settings: AzureOpenAIProviderSettings) -> Self
pub fn new(settings: AzureOpenAIProviderSettings) -> Self
Creates a new Azure OpenAI provider.
§Panics
Panics if the settings are invalid (missing both base_url and resource_name).
Sourcepub fn model(&self, deployment_id: impl Into<String>) -> Arc<dyn LanguageModel>
pub fn model(&self, deployment_id: impl Into<String>) -> Arc<dyn LanguageModel>
Creates a language model with the given deployment ID.
This is an alias for chat_model().
Sourcepub fn chat_model(
&self,
deployment_id: impl Into<String>,
) -> Arc<dyn LanguageModel>
pub fn chat_model( &self, deployment_id: impl Into<String>, ) -> Arc<dyn LanguageModel>
Creates a chat language model with the given deployment ID.
§Arguments
deployment_id- The deployment name/ID in Azure OpenAI
Sourcepub fn completion_model(
&self,
deployment_id: impl Into<String>,
) -> Arc<dyn LanguageModel>
pub fn completion_model( &self, deployment_id: impl Into<String>, ) -> Arc<dyn LanguageModel>
Creates a completion language model with the given deployment ID.
§Arguments
deployment_id- The deployment name/ID in Azure OpenAI
Sourcepub fn text_embedding_model(
&self,
deployment_id: impl Into<String>,
) -> Arc<dyn EmbeddingModel<String>>
pub fn text_embedding_model( &self, deployment_id: impl Into<String>, ) -> Arc<dyn EmbeddingModel<String>>
Creates a text embedding model with the given deployment ID.
§Arguments
deployment_id- The deployment name/ID in Azure OpenAI
Sourcepub fn image_model(
&self,
deployment_id: impl Into<String>,
) -> Arc<dyn ImageModel>
pub fn image_model( &self, deployment_id: impl Into<String>, ) -> Arc<dyn ImageModel>
Creates an image model with the given deployment ID.
§Arguments
deployment_id- The deployment name/ID in Azure OpenAI (e.g., dall-e-3 deployment)
Trait Implementations§
Source§impl Provider for AzureOpenAIProvider
impl Provider for AzureOpenAIProvider
Source§fn language_model(
&self,
deployment_id: &str,
) -> Result<Arc<dyn LanguageModel>, ProviderError>
fn language_model( &self, deployment_id: &str, ) -> Result<Arc<dyn LanguageModel>, ProviderError>
Returns the language model with the given id. Read more
Source§fn text_embedding_model(
&self,
deployment_id: &str,
) -> Result<Arc<dyn EmbeddingModel<String>>, ProviderError>
fn text_embedding_model( &self, deployment_id: &str, ) -> Result<Arc<dyn EmbeddingModel<String>>, ProviderError>
Returns the text embedding model with the given id. Read more
Source§fn image_model(
&self,
deployment_id: &str,
) -> Result<Arc<dyn ImageModel>, ProviderError>
fn image_model( &self, deployment_id: &str, ) -> Result<Arc<dyn ImageModel>, ProviderError>
Returns the image model with the given id. Read more
Source§fn transcription_model(
&self,
deployment_id: &str,
) -> Result<Arc<dyn TranscriptionModel>, ProviderError>
fn transcription_model( &self, deployment_id: &str, ) -> Result<Arc<dyn TranscriptionModel>, ProviderError>
Returns the transcription model with the given id. Read more
Source§fn speech_model(
&self,
deployment_id: &str,
) -> Result<Arc<dyn SpeechModel>, ProviderError>
fn speech_model( &self, deployment_id: &str, ) -> Result<Arc<dyn SpeechModel>, ProviderError>
Returns the speech model with the given id. Read more
Source§fn reranking_model(
&self,
deployment_id: &str,
) -> Result<Arc<dyn RerankingModel>, ProviderError>
fn reranking_model( &self, deployment_id: &str, ) -> Result<Arc<dyn RerankingModel>, ProviderError>
Returns the reranking model with the given id. Read more
Source§fn specification_version(&self) -> &str
fn specification_version(&self) -> &str
The provider must specify which provider interface version it implements.
This will allow us to evolve the provider interface and retain backwards compatibility.
Auto Trait Implementations§
impl Freeze for AzureOpenAIProvider
impl RefUnwindSafe for AzureOpenAIProvider
impl Send for AzureOpenAIProvider
impl Sync for AzureOpenAIProvider
impl Unpin for AzureOpenAIProvider
impl UnwindSafe for AzureOpenAIProvider
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