diff options
| author | sigoden <sigoden@gmail.com> | 2024-07-27 21:33:04 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-27 21:33:04 +0800 |
| commit | f5e8e872b08d2aa9b3c063b0a98c59f842f94ecc (patch) | |
| tree | 6f6a6ce299d7383d290a7015b52ce777566d1e8e /src/client/macros.rs | |
| parent | adf6716c8436b53854eb55588d258f4326580a4d (diff) | |
| download | aichat-f5e8e872b08d2aa9b3c063b0a98c59f842f94ecc.tar.gz | |
feat: support patching request url, headers and body (#756)
Diffstat (limited to 'src/client/macros.rs')
| -rw-r--r-- | src/client/macros.rs | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/client/macros.rs b/src/client/macros.rs index 778daf4..19e7734 100644 --- a/src/client/macros.rs +++ b/src/client/macros.rs @@ -141,7 +141,7 @@ macro_rules! client_common_fns { self.config.extra.as_ref() } - fn patch_config(&self) -> Option<&$crate::client::ModelPatch> { + fn patch_config(&self) -> Option<&$crate::client::RequestPatch> { self.config.patch.as_ref() } @@ -171,7 +171,8 @@ macro_rules! impl_client_trait { client: &reqwest::Client, data: $crate::client::ChatCompletionsData, ) -> anyhow::Result<$crate::client::ChatCompletionsOutput> { - let builder = self.chat_completions_builder(client, data)?; + let request_data = self.prepare_chat_completions(data)?; + let builder = self.request_builder(client, request_data, ApiType::ChatCompletions); $chat_completions(builder).await } @@ -181,7 +182,8 @@ macro_rules! impl_client_trait { handler: &mut $crate::client::SseHandler, data: $crate::client::ChatCompletionsData, ) -> Result<()> { - let builder = self.chat_completions_builder(client, data)?; + let request_data = self.prepare_chat_completions(data)?; + let builder = self.request_builder(client, request_data, ApiType::ChatCompletions); $chat_completions_streaming(builder, handler).await } } @@ -196,7 +198,8 @@ macro_rules! impl_client_trait { client: &reqwest::Client, data: $crate::client::ChatCompletionsData, ) -> anyhow::Result<$crate::client::ChatCompletionsOutput> { - let builder = self.chat_completions_builder(client, data)?; + let request_data = self.prepare_chat_completions(data)?; + let builder = self.request_builder(client, request_data, ApiType::ChatCompletions); $chat_completions(builder).await } @@ -206,7 +209,8 @@ macro_rules! impl_client_trait { handler: &mut $crate::client::SseHandler, data: $crate::client::ChatCompletionsData, ) -> Result<()> { - let builder = self.chat_completions_builder(client, data)?; + let request_data = self.prepare_chat_completions(data)?; + let builder = self.request_builder(client, request_data, ApiType::ChatCompletions); $chat_completions_streaming(builder, handler).await } @@ -215,7 +219,8 @@ macro_rules! impl_client_trait { client: &reqwest::Client, data: $crate::client::EmbeddingsData, ) -> Result<$crate::client::EmbeddingsOutput> { - let builder = self.embeddings_builder(client, data)?; + let request_data = self.prepare_embeddings(data)?; + let builder = self.request_builder(client, request_data, ApiType::Embeddings); $embeddings(builder).await } } @@ -230,7 +235,8 @@ macro_rules! impl_client_trait { client: &reqwest::Client, data: $crate::client::ChatCompletionsData, ) -> anyhow::Result<$crate::client::ChatCompletionsOutput> { - let builder = self.chat_completions_builder(client, data)?; + let request_data = self.prepare_chat_completions(data)?; + let builder = self.request_builder(client, request_data, ApiType::ChatCompletions); $chat_completions(builder).await } @@ -240,7 +246,8 @@ macro_rules! impl_client_trait { handler: &mut $crate::client::SseHandler, data: $crate::client::ChatCompletionsData, ) -> Result<()> { - let builder = self.chat_completions_builder(client, data)?; + let request_data = self.prepare_chat_completions(data)?; + let builder = self.request_builder(client, request_data, ApiType::ChatCompletions); $chat_completions_streaming(builder, handler).await } @@ -249,7 +256,8 @@ macro_rules! impl_client_trait { client: &reqwest::Client, data: $crate::client::EmbeddingsData, ) -> Result<$crate::client::EmbeddingsOutput> { - let builder = self.embeddings_builder(client, data)?; + let request_data = self.prepare_embeddings(data)?; + let builder = self.request_builder(client, request_data, ApiType::Embeddings); $embeddings(builder).await } @@ -258,7 +266,8 @@ macro_rules! impl_client_trait { client: &reqwest::Client, data: $crate::client::RerankData, ) -> Result<$crate::client::RerankOutput> { - let builder = self.rerank_builder(client, data)?; + let request_data = self.prepare_rerank(data)?; + let builder = self.request_builder(client, request_data, ApiType::Rerank); $rerank(builder).await } } |
