diff options
| author | sigoden <sigoden@gmail.com> | 2024-06-01 17:47:49 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-01 17:47:49 +0800 |
| commit | 571d1022f628cb7d2a3125664bd3293bac4471b5 (patch) | |
| tree | 67034aaf0a656ae9dce0cd0d3aae3605d2ea1767 /src/client/openai.rs | |
| parent | 259583f4f750e4ece7aed07858a9589110d7cf5d (diff) | |
| download | aichat-571d1022f628cb7d2a3125664bd3293bac4471b5.tar.gz | |
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
Diffstat (limited to 'src/client/openai.rs')
| -rw-r--r-- | src/client/openai.rs | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/client/openai.rs b/src/client/openai.rs index bf719ae..3cdea24 100644 --- a/src/client/openai.rs +++ b/src/client/openai.rs @@ -1,7 +1,7 @@ use super::{ - catch_error, message::*, sse_stream, Client, CompletionData, CompletionOutput, ExtraConfig, - Model, ModelData, ModelPatches, OpenAIClient, PromptAction, PromptKind, SseHandler, - SseMmessage, ToolCall, + catch_error, message::*, sse_stream, ChatCompletionsData, ChatCompletionsOutput, Client, + ExtraConfig, Model, ModelData, ModelPatches, OpenAIClient, PromptAction, PromptKind, + SseHandler, SseMmessage, ToolCall, }; use anyhow::{bail, Result}; @@ -30,15 +30,15 @@ impl OpenAIClient { 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<RequestBuilder> { let api_key = self.get_api_key()?; let api_base = self.get_api_base().unwrap_or_else(|_| API_BASE.to_string()); - let mut body = openai_build_body(data, &self.model); + let mut body = openai_build_chat_completions_body(data, &self.model); self.patch_request_body(&mut body); let url = format!("{api_base}/chat/completions"); @@ -55,7 +55,7 @@ impl OpenAIClient { } } -pub async fn openai_send_message(builder: RequestBuilder) -> Result<CompletionOutput> { +pub async fn openai_chat_completions(builder: RequestBuilder) -> Result<ChatCompletionsOutput> { let res = builder.send().await?; let status = res.status(); let data: Value = res.json().await?; @@ -64,10 +64,10 @@ pub async fn openai_send_message(builder: RequestBuilder) -> Result<CompletionOu } debug!("non-stream-data: {data}"); - openai_extract_completion(&data) + openai_extract_chat_completions(&data) } -pub async fn openai_send_message_streaming( +pub async fn openai_chat_completions_streaming( builder: RequestBuilder, handler: &mut SseHandler, ) -> Result<()> { @@ -125,8 +125,8 @@ pub async fn openai_send_message_streaming( sse_stream(builder, handle).await } -pub fn openai_build_body(data: CompletionData, model: &Model) -> Value { - let CompletionData { +pub fn openai_build_chat_completions_body(data: ChatCompletionsData, model: &Model) -> Value { + let ChatCompletionsData { messages, temperature, top_p, @@ -201,7 +201,7 @@ pub fn openai_build_body(data: CompletionData, model: &Model) -> Value { body } -pub fn openai_extract_completion(data: &Value) -> Result<CompletionOutput> { +pub fn openai_extract_chat_completions(data: &Value) -> Result<ChatCompletionsOutput> { let text = data["choices"][0]["message"]["content"] .as_str() .unwrap_or_default(); @@ -231,7 +231,7 @@ pub fn openai_extract_completion(data: &Value) -> Result<CompletionOutput> { if text.is_empty() && tool_calls.is_empty() { bail!("Invalid response data: {data}"); } - let output = CompletionOutput { + let output = ChatCompletionsOutput { text: text.to_string(), tool_calls, id: data["id"].as_str().map(|v| v.to_string()), @@ -243,6 +243,6 @@ pub fn openai_extract_completion(data: &Value) -> Result<CompletionOutput> { impl_client_trait!( OpenAIClient, - openai_send_message, - openai_send_message_streaming + openai_chat_completions, + openai_chat_completions_streaming ); |
