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/claude.rs | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'src/client/claude.rs') diff --git a/src/client/claude.rs b/src/client/claude.rs index 3194fe2..6533a9a 100644 --- a/src/client/claude.rs +++ b/src/client/claude.rs @@ -1,7 +1,8 @@ use super::{ - catch_error, extract_system_message, message::*, sse_stream, ClaudeClient, Client, - CompletionData, CompletionOutput, ExtraConfig, ImageUrl, MessageContent, MessageContentPart, - Model, ModelData, ModelPatches, PromptAction, PromptKind, SseHandler, SseMmessage, ToolCall, + catch_error, extract_system_message, message::*, sse_stream, ChatCompletionsData, + ChatCompletionsOutput, ClaudeClient, Client, ExtraConfig, ImageUrl, MessageContent, + MessageContentPart, Model, ModelData, ModelPatches, PromptAction, PromptKind, SseHandler, + SseMmessage, ToolCall, }; use anyhow::{bail, Context, Result}; @@ -27,14 +28,14 @@ impl ClaudeClient { 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().ok(); - let mut body = claude_build_body(data, &self.model)?; + let mut body = claude_build_chat_completions_body(data, &self.model)?; self.patch_request_body(&mut body); let url = API_BASE; @@ -55,11 +56,11 @@ impl ClaudeClient { impl_client_trait!( ClaudeClient, - claude_send_message, - claude_send_message_streaming + claude_chat_completions, + claude_chat_completions_streaming ); -pub async fn claude_send_message(builder: RequestBuilder) -> Result { +pub async fn claude_chat_completions(builder: RequestBuilder) -> Result { let res = builder.send().await?; let status = res.status(); let data: Value = res.json().await?; @@ -67,10 +68,10 @@ pub async fn claude_send_message(builder: RequestBuilder) -> Result Result<()> { @@ -135,8 +136,11 @@ pub async fn claude_send_message_streaming( sse_stream(builder, handle).await } -pub fn claude_build_body(data: CompletionData, model: &Model) -> Result { - let CompletionData { +pub fn claude_build_chat_completions_body( + data: ChatCompletionsData, + model: &Model, +) -> Result { + let ChatCompletionsData { mut messages, temperature, top_p, @@ -269,7 +273,7 @@ pub fn claude_build_body(data: CompletionData, model: &Model) -> Result { Ok(body) } -pub fn claude_extract_completion(data: &Value) -> Result { +pub fn claude_extract_chat_completions(data: &Value) -> Result { let text = data["content"][0]["text"].as_str().unwrap_or_default(); let mut tool_calls = vec![]; @@ -303,7 +307,7 @@ pub fn claude_extract_completion(data: &Value) -> Result { 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()), -- cgit v1.2.3