From 571d1022f628cb7d2a3125664bd3293bac4471b5 Mon Sep 17 00:00:00 2001 From: sigoden Date: Sat, 1 Jun 2024 17:47:49 +0800 Subject: refactor: rename some client structs and methods (#555) * rename `Completeion*` to `ChatCompletions*` * rename `send_message*` to `chat_completions*` * rename `request_builder` to `chat_completions_builder` * rename `build_body` to `build_chat_completions_body` * rename `extract_completion` to `extract_chat_completions` * format * remove unused config fields --- src/client/qianwen.rs | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'src/client/qianwen.rs') diff --git a/src/client/qianwen.rs b/src/client/qianwen.rs index 3f4b73a..0230e21 100644 --- a/src/client/qianwen.rs +++ b/src/client/qianwen.rs @@ -1,5 +1,5 @@ use super::{ - maybe_catch_error, message::*, sse_stream, Client, CompletionData, CompletionOutput, + maybe_catch_error, message::*, sse_stream, ChatCompletionsData, ChatCompletionsOutput, Client, ExtraConfig, Model, ModelData, ModelPatches, PromptAction, PromptKind, QianwenClient, SseHandler, SseMmessage, }; @@ -38,10 +38,10 @@ impl QianwenClient { pub const PROMPTS: [PromptAction<'static>; 1] = [("api_key", "API Key:", true, PromptKind::String)]; - fn request_builder( + fn chat_completions_builder( &self, client: &ReqwestClient, - data: CompletionData, + data: ChatCompletionsData, ) -> Result { let api_key = self.get_api_key()?; @@ -51,7 +51,7 @@ impl QianwenClient { true => API_URL_VL, false => API_URL, }; - let (mut body, has_upload) = build_body(data, &self.model)?; + let (mut body, has_upload) = build_chat_completions_body(data, &self.model)?; self.patch_request_body(&mut body); debug!("Qianwen Request: {url} {body}"); @@ -72,39 +72,39 @@ impl QianwenClient { impl Client for QianwenClient { client_common_fns!(); - async fn send_message_inner( + async fn chat_completions_inner( &self, client: &ReqwestClient, - mut data: CompletionData, - ) -> Result { + mut data: ChatCompletionsData, + ) -> Result { let api_key = self.get_api_key()?; patch_messages(self.model.name(), &api_key, &mut data.messages).await?; - let builder = self.request_builder(client, data)?; - send_message(builder, &self.model).await + let builder = self.chat_completions_builder(client, data)?; + chat_completions(builder, &self.model).await } - async fn send_message_streaming_inner( + async fn chat_completions_streaming_inner( &self, client: &ReqwestClient, handler: &mut SseHandler, - mut data: CompletionData, + mut data: ChatCompletionsData, ) -> Result<()> { let api_key = self.get_api_key()?; patch_messages(self.model.name(), &api_key, &mut data.messages).await?; - let builder = self.request_builder(client, data)?; - send_message_streaming(builder, handler, &self.model).await + let builder = self.chat_completions_builder(client, data)?; + chat_completions_streaming(builder, handler, &self.model).await } } -async fn send_message(builder: RequestBuilder, model: &Model) -> Result { +async fn chat_completions(builder: RequestBuilder, model: &Model) -> Result { let data: Value = builder.send().await?.json().await?; maybe_catch_error(&data)?; debug!("non-stream-data: {data}"); - extract_completion_text(&data, model) + extract_chat_completions_text(&data, model) } -async fn send_message_streaming( +async fn chat_completions_streaming( builder: RequestBuilder, handler: &mut SseHandler, model: &Model, @@ -133,8 +133,8 @@ async fn send_message_streaming( sse_stream(builder, handle).await } -fn build_body(data: CompletionData, model: &Model) -> Result<(Value, bool)> { - let CompletionData { +fn build_chat_completions_body(data: ChatCompletionsData, model: &Model) -> Result<(Value, bool)> { + let ChatCompletionsData { messages, temperature, top_p, @@ -210,7 +210,7 @@ fn build_body(data: CompletionData, model: &Model) -> Result<(Value, bool)> { Ok((body, has_upload)) } -fn extract_completion_text(data: &Value, model: &Model) -> Result { +fn extract_chat_completions_text(data: &Value, model: &Model) -> Result { let err = || anyhow!("Invalid response data: {data}"); let text = if model.name() == "qwen-long" { data["output"]["choices"][0]["message"]["content"] @@ -223,7 +223,7 @@ fn extract_completion_text(data: &Value, model: &Model) -> Result