summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2025-07-30 08:37:19 +0800
committerGitHub <noreply@github.com>2025-07-30 08:37:19 +0800
commit5cd9c83153d55e33fad997f35ac4fe01186edbe6 (patch)
tree6973097073ff2d06cef41c969177ae71749ddac9 /src
parentd5b28e13a0bb5399d201754938fe5f9a5180944e (diff)
downloadaichat-5cd9c83153d55e33fad997f35ac4fe01186edbe6.tar.gz
refactor: several improvements (#1363)
Diffstat (limited to 'src')
-rw-r--r--src/client/claude.rs6
-rw-r--r--src/client/openai.rs56
2 files changed, 31 insertions, 31 deletions
diff --git a/src/client/claude.rs b/src/client/claude.rs
index 4b77870..d696b8b 100644
--- a/src/client/claude.rs
+++ b/src/client/claude.rs
@@ -42,7 +42,7 @@ fn prepare_chat_completions(
self_: &ClaudeClient,
data: ChatCompletionsData,
) -> Result<RequestData> {
- let api_key = self_.get_api_key().ok();
+ let api_key = self_.get_api_key()?;
let api_base = self_
.get_api_base()
.unwrap_or_else(|_| API_BASE.to_string());
@@ -53,9 +53,7 @@ fn prepare_chat_completions(
let mut request_data = RequestData::new(url, body);
request_data.header("anthropic-version", "2023-06-01");
- if let Some(api_key) = api_key {
- request_data.header("x-api-key", api_key)
- }
+ request_data.header("x-api-key", api_key);
Ok(request_data)
}
diff --git a/src/client/openai.rs b/src/client/openai.rs
index 7f62ec6..0c46fc3 100644
--- a/src/client/openai.rs
+++ b/src/client/openai.rs
@@ -240,36 +240,37 @@ pub fn openai_build_chat_completions_body(data: ChatCompletionsData, model: &Mod
let Message { role, content } = message;
match content {
MessageContent::ToolCalls(MessageContentToolCalls {
- tool_results,
- text: _,
- sequence,
- }) => {
+ tool_results,
+ text: _,
+ sequence,
+ }) => {
if !sequence {
- let tool_calls: Vec<_> = tool_results.iter().map(|tool_result| {
- json!({
- "id": tool_result.call.id,
- "type": "function",
- "function": {
- "name": tool_result.call.name,
- "arguments": tool_result.call.arguments.to_string(),
- },
+ let tool_calls: Vec<_> = tool_results
+ .iter()
+ .map(|tool_result| {
+ json!({
+ "id": tool_result.call.id,
+ "type": "function",
+ "function": {
+ "name": tool_result.call.name,
+ "arguments": tool_result.call.arguments.to_string(),
+ },
+ })
})
- }).collect();
+ .collect();
let mut messages = vec![
- json!({ "role": MessageRole::Assistant, "tool_calls": tool_calls })
+ json!({ "role": MessageRole::Assistant, "tool_calls": tool_calls }),
];
for tool_result in tool_results {
- messages.push(
- json!({
- "role": "tool",
- "content": tool_result.output.to_string(),
- "tool_call_id": tool_result.call.id,
- })
- );
+ messages.push(json!({
+ "role": "tool",
+ "content": tool_result.output.to_string(),
+ "tool_call_id": tool_result.call.id,
+ }));
}
messages
} else {
- tool_results.into_iter().flat_map(|tool_result| {
+ tool_results.into_iter().flat_map(|tool_result| {
vec![
json!({
"role": MessageRole::Assistant,
@@ -293,11 +294,12 @@ pub fn openai_build_chat_completions_body(data: ChatCompletionsData, model: &Mod
}).collect()
}
- },
- MessageContent::Text(text) if role.is_assistant() && i != messages_len - 1 => vec![
- json!({ "role": role, "content": strip_think_tag(&text) }
- )],
- _ => vec![json!({ "role": role, "content": content })]
+ }
+ MessageContent::Text(text) if role.is_assistant() && i != messages_len - 1 => {
+ vec![json!({ "role": role, "content": strip_think_tag(&text) }
+ )]
+ }
+ _ => vec![json!({ "role": role, "content": content })],
}
})
.collect();