summaryrefslogtreecommitdiffstats
path: root/src/client/openai.rs
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-06-01 17:47:49 +0800
committerGitHub <noreply@github.com>2024-06-01 17:47:49 +0800
commit571d1022f628cb7d2a3125664bd3293bac4471b5 (patch)
tree67034aaf0a656ae9dce0cd0d3aae3605d2ea1767 /src/client/openai.rs
parent259583f4f750e4ece7aed07858a9589110d7cf5d (diff)
downloadaichat-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.rs30
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
);