summaryrefslogtreecommitdiffstats
path: root/src/client/azure_openai.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/azure_openai.rs')
-rw-r--r--src/client/azure_openai.rs73
1 files changed, 40 insertions, 33 deletions
diff --git a/src/client/azure_openai.rs b/src/client/azure_openai.rs
index 8b583e0..de6bb40 100644
--- a/src/client/azure_openai.rs
+++ b/src/client/azure_openai.rs
@@ -30,49 +30,56 @@ impl AzureOpenAIClient {
PromptKind::Integer,
),
];
+}
+
+impl_client_trait!(
+ AzureOpenAIClient,
+ (
+ prepare_chat_completions,
+ openai_chat_completions,
+ openai_chat_completions_streaming
+ ),
+ (prepare_embeddings, openai_embeddings),
+ (noop_prepare_rerank, noop_rerank),
+);
- fn prepare_chat_completions(&self, data: ChatCompletionsData) -> Result<RequestData> {
- let api_base = self.get_api_base()?;
- let api_key = self.get_api_key()?;
+fn prepare_chat_completions(
+ self_: &AzureOpenAIClient,
+ data: ChatCompletionsData,
+) -> Result<RequestData> {
+ let api_base = self_.get_api_base()?;
+ let api_key = self_.get_api_key()?;
- let url = format!(
- "{}/openai/deployments/{}/chat/completions?api-version=2024-02-01",
- &api_base,
- self.model.name()
- );
+ let url = format!(
+ "{}/openai/deployments/{}/chat/completions?api-version=2024-02-01",
+ &api_base,
+ self_.model.name()
+ );
- let body = openai_build_chat_completions_body(data, &self.model);
+ let body = openai_build_chat_completions_body(data, &self_.model);
- let mut request_data = RequestData::new(url, body);
+ let mut request_data = RequestData::new(url, body);
- request_data.header("api-key", api_key);
+ request_data.header("api-key", api_key);
- Ok(request_data)
- }
+ Ok(request_data)
+}
- fn prepare_embeddings(&self, data: EmbeddingsData) -> Result<RequestData> {
- let api_base = self.get_api_base()?;
- let api_key = self.get_api_key()?;
+fn prepare_embeddings(self_: &AzureOpenAIClient, data: EmbeddingsData) -> Result<RequestData> {
+ let api_base = self_.get_api_base()?;
+ let api_key = self_.get_api_key()?;
- let url = format!(
- "{}/openai/deployments/{}/embeddings?api-version=2024-02-01",
- &api_base,
- self.model.name()
- );
+ let url = format!(
+ "{}/openai/deployments/{}/embeddings?api-version=2024-02-01",
+ &api_base,
+ self_.model.name()
+ );
- let body = openai_build_embeddings_body(data, &self.model);
+ let body = openai_build_embeddings_body(data, &self_.model);
- let mut request_data = RequestData::new(url, body);
+ let mut request_data = RequestData::new(url, body);
- request_data.header("api-key", api_key);
+ request_data.header("api-key", api_key);
- Ok(request_data)
- }
+ Ok(request_data)
}
-
-impl_client_trait!(
- AzureOpenAIClient,
- openai_chat_completions,
- openai_chat_completions_streaming,
- openai_embeddings
-);