diff options
Diffstat (limited to 'src/client/openai.rs')
| -rw-r--r-- | src/client/openai.rs | 27 |
1 files changed, 2 insertions, 25 deletions
diff --git a/src/client/openai.rs b/src/client/openai.rs index 4ae3c5f..b554f35 100644 --- a/src/client/openai.rs +++ b/src/client/openai.rs @@ -1,7 +1,4 @@ -use super::{Client, ExtraConfig, ModelInfo, OpenAIClient, PromptKind, PromptType, SendData}; - -use crate::config::SharedConfig; -use crate::repl::ReplyStreamHandler; +use super::{ExtraConfig, ModelInfo, OpenAIClient, PromptKind, PromptType, SendData, ReplyStreamHandler}; use anyhow::{anyhow, bail, Result}; use async_trait::async_trait; @@ -29,27 +26,7 @@ pub struct OpenAIConfig { pub extra: Option<ExtraConfig>, } -#[async_trait] -impl Client for OpenAIClient { - fn config(&self) -> (&SharedConfig, &Option<ExtraConfig>) { - (&self.global_config, &self.config.extra) - } - - async fn send_message_inner(&self, client: &ReqwestClient, data: SendData) -> Result<String> { - let builder = self.request_builder(client, data)?; - openai_send_message(builder).await - } - - async fn send_message_streaming_inner( - &self, - client: &ReqwestClient, - handler: &mut ReplyStreamHandler, - data: SendData, - ) -> Result<()> { - let builder = self.request_builder(client, data)?; - openai_send_message_streaming(builder, handler).await - } -} +openai_compatible_client!(OpenAIClient); impl OpenAIClient { config_get_fn!(api_key, get_api_key); |
