diff options
| -rw-r--r-- | src/client/claude.rs | 9 | ||||
| -rw-r--r-- | src/client/cohere.rs | 6 | ||||
| -rw-r--r-- | src/client/common.rs | 8 | ||||
| -rw-r--r-- | src/client/message.rs | 2 | ||||
| -rw-r--r-- | src/client/openai.rs | 5 | ||||
| -rw-r--r-- | src/client/qianwen.rs | 2 | ||||
| -rw-r--r-- | src/client/vertexai.rs | 2 |
7 files changed, 21 insertions, 13 deletions
diff --git a/src/client/claude.rs b/src/client/claude.rs index 68e9567..1094348 100644 --- a/src/client/claude.rs +++ b/src/client/claude.rs @@ -1,5 +1,5 @@ use super::{ - catch_error, extract_sytem_message, ClaudeClient, Client, ExtraConfig, ImageUrl, + catch_error, extract_system_message, ClaudeClient, Client, ExtraConfig, ImageUrl, MessageContent, MessageContentPart, Model, ModelConfig, PromptType, ReplyHandler, SendData, }; @@ -120,7 +120,10 @@ pub async fn claude_send_message_streaming( let data: Value = match text.parse() { Ok(data) => data, Err(_) => { - bail!("Invalid respoinse, status: {status}, text: {text}"); + bail!( + "Invalid response data: {text} (status: {})", + status.as_u16() + ); } }; catch_error(&data, status.as_u16())?; @@ -149,7 +152,7 @@ pub fn claude_build_body(data: SendData, model: &Model) -> Result<Value> { stream, } = data; - let system_message = extract_sytem_message(&mut messages); + let system_message = extract_system_message(&mut messages); let mut network_image_urls = vec![]; let messages: Vec<Value> = messages diff --git a/src/client/cohere.rs b/src/client/cohere.rs index df86843..27acb6c 100644 --- a/src/client/cohere.rs +++ b/src/client/cohere.rs @@ -1,6 +1,6 @@ use super::{ - catch_error, extract_sytem_message, json_stream, message::*, Client, CohereClient, ExtraConfig, - Model, ModelConfig, PromptType, ReplyHandler, SendData, + catch_error, extract_system_message, json_stream, message::*, Client, CohereClient, + ExtraConfig, Model, ModelConfig, PromptType, ReplyHandler, SendData, }; use crate::utils::PromptKind; @@ -115,7 +115,7 @@ fn build_body(data: SendData, model: &Model) -> Result<Value> { stream, } = data; - let system_message = extract_sytem_message(&mut messages); + let system_message = extract_system_message(&mut messages); let mut image_urls = vec![]; let mut messages: Vec<Value> = messages diff --git a/src/client/common.rs b/src/client/common.rs index 1b74de8..5a2fd55 100644 --- a/src/client/common.rs +++ b/src/client/common.rs @@ -108,7 +108,7 @@ macro_rules! register_client { return create_config(&$client::PROMPTS, $client::NAME) } )+ - anyhow::bail!("Unknown client {}", client) + anyhow::bail!("Unknown client '{}'", client) } pub fn list_models(config: &$crate::config::Config) -> Vec<$crate::client::Model> { @@ -192,7 +192,9 @@ macro_rules! config_get_fn { format!("{}_{}", env_prefix, stringify!($field_name)).to_ascii_uppercase(); std::env::var(&env_name).ok() }) - .ok_or_else(|| anyhow::anyhow!("Miss {}", stringify!($field_name))) + .ok_or_else(|| { + anyhow::anyhow!("Miss '{}' in client configuration", stringify!($field_name)) + }) } }; } @@ -435,7 +437,7 @@ pub fn catch_error(data: &Value, status: u16) -> Result<()> { } else if let Some(message) = data["message"].as_str() { bail!("{message}"); } - bail!("Invalid response, status: {status}, data: {data}"); + bail!("Invalid response data: {data} (status: {status})"); } pub fn maybe_catch_error(data: &Value) -> Result<()> { diff --git a/src/client/message.rs b/src/client/message.rs index 9aff64a..bdee750 100644 --- a/src/client/message.rs +++ b/src/client/message.rs @@ -127,7 +127,7 @@ pub fn patch_system_message(messages: &mut Vec<Message>) { } } -pub fn extract_sytem_message(messages: &mut Vec<Message>) -> Option<String> { +pub fn extract_system_message(messages: &mut Vec<Message>) -> Option<String> { if messages[0].role.is_system() { let system_message = messages.remove(0); return Some(system_message.content.to_text()); diff --git a/src/client/openai.rs b/src/client/openai.rs index e5aae24..bb9c07c 100644 --- a/src/client/openai.rs +++ b/src/client/openai.rs @@ -107,7 +107,10 @@ pub async fn openai_send_message_streaming( let data: Value = match text.parse() { Ok(data) => data, Err(_) => { - bail!("Invalid respoinse, status: {status}, text: {text}"); + bail!( + "Invalid response data: {text} (status: {})", + status.as_u16() + ); } }; catch_error(&data, status.as_u16())?; diff --git a/src/client/qianwen.rs b/src/client/qianwen.rs index 76cc712..68e3666 100644 --- a/src/client/qianwen.rs +++ b/src/client/qianwen.rs @@ -320,7 +320,7 @@ async fn upload(model: &str, api_key: &str, url: &str) -> Result<String> { let status = res.status(); if res.status() != 200 { let text = res.text().await?; - bail!("{status}, {text}") + bail!("Invalid response data: {text} (status: {status})") } Ok(format!("oss://{key}")) } diff --git a/src/client/vertexai.rs b/src/client/vertexai.rs index 47e1a38..0c0608e 100644 --- a/src/client/vertexai.rs +++ b/src/client/vertexai.rs @@ -246,7 +246,7 @@ async fn fetch_access_token( } else if let Some(err_msg) = value["error_description"].as_str() { bail!("{err_msg}") } else { - bail!("Invalid response data") + bail!("Invalid response data: {value}") } } |
