chore: Change no usage found warning to a debug trace (#1192)

This commit is contained in:
Alice Hau
2025-02-11 13:23:32 -05:00
committed by GitHub
parent d56a92e4b2
commit 1af67846f0
9 changed files with 25 additions and 23 deletions
+1 -1
View File
@@ -124,7 +124,7 @@ impl Provider for AzureProvider {
let usage = match get_usage(&response) {
Ok(usage) => usage,
Err(ProviderError::UsageError(e)) => {
tracing::warn!("Failed to get usage data: {}", e);
tracing::debug!("Failed to get usage data: {}", e);
Usage::default()
}
Err(e) => return Err(e),
+1 -1
View File
@@ -253,7 +253,7 @@ impl Provider for DatabricksProvider {
let usage = match get_usage(&response) {
Ok(usage) => usage,
Err(ProviderError::UsageError(e)) => {
tracing::warn!("Failed to get usage data: {}", e);
tracing::debug!("Failed to get usage data: {}", e);
Usage::default()
}
Err(e) => return Err(e),
@@ -215,7 +215,7 @@ pub fn get_usage(data: &Value) -> Result<Usage> {
Ok(Usage::new(input_tokens, output_tokens, total_tokens))
} else {
tracing::warn!(
tracing::debug!(
"Failed to get usage data: {}",
ProviderError::UsageError("No usage data found in response".to_string())
);
+1 -1
View File
@@ -255,7 +255,7 @@ pub fn get_usage(data: &Value) -> Result<Usage> {
.map(|v| v as i32);
Ok(Usage::new(input_tokens, output_tokens, total_tokens))
} else {
tracing::warn!(
tracing::debug!(
"Failed to get usage data: {}",
ProviderError::UsageError("No usage data found in response".to_string())
);
+1 -1
View File
@@ -142,7 +142,7 @@ impl Provider for GroqProvider {
let usage = match get_usage(&response) {
Ok(usage) => usage,
Err(ProviderError::UsageError(e)) => {
tracing::warn!("Failed to get usage data: {}", e);
tracing::debug!("Failed to get usage data: {}", e);
Usage::default()
}
Err(e) => return Err(e),
+1 -1
View File
@@ -199,7 +199,7 @@ impl Provider for OllamaProvider {
let usage = match get_usage(&response) {
Ok(usage) => usage,
Err(ProviderError::UsageError(e)) => {
tracing::warn!("Failed to get usage data: {}", e);
tracing::debug!("Failed to get usage data: {}", e);
Usage::default()
}
Err(e) => return Err(e),
+1 -1
View File
@@ -121,7 +121,7 @@ impl Provider for OpenAiProvider {
let usage = match get_usage(&response) {
Ok(usage) => usage,
Err(ProviderError::UsageError(e)) => {
tracing::warn!("Failed to get usage data: {}", e);
tracing::debug!("Failed to get usage data: {}", e);
Usage::default()
}
Err(e) => return Err(e),
+1 -1
View File
@@ -225,7 +225,7 @@ impl Provider for OpenRouterProvider {
let usage = match get_usage(&response) {
Ok(usage) => usage,
Err(ProviderError::UsageError(e)) => {
tracing::warn!("Failed to get usage data: {}", e);
tracing::debug!("Failed to get usage data: {}", e);
Usage::default()
}
Err(e) => return Err(e),
+17 -15
View File
@@ -40,31 +40,33 @@ pub fn convert_image(image: &ImageContent, image_format: &ImageFormat) -> Value
pub async fn handle_response_openai_compat(response: Response) -> Result<Value, ProviderError> {
let status = response.status();
// Try to parse the response body as JSON (if applicable)
let payload: Option<Value> = response.json().await.ok();
let payload = match response.json::<Value>().await {
Ok(json) => json,
Err(e) => return Err(ProviderError::RequestFailed(e.to_string())),
};
match status {
StatusCode::OK => payload.ok_or_else( || ProviderError::RequestFailed("Response body is not valid JSON".to_string()) ),
StatusCode::OK => Ok(payload),
StatusCode::UNAUTHORIZED | StatusCode::FORBIDDEN => {
Err(ProviderError::Authentication(format!("Authentication failed. Please ensure your API keys are valid and have the required permissions. \
Status: {}. Response: {:?}", status, payload)))
}
StatusCode::BAD_REQUEST => {
let mut message = "Unknown error".to_string();
if let Some(payload) = &payload {
if let Some(error) = payload.get("error") {
tracing::debug!("Bad Request Error: {error:?}");
message = error
.get("message")
.and_then(|m| m.as_str())
.unwrap_or("Unknown error")
.to_string();
if let Some(error) = payload.get("error") {
tracing::debug!("Bad Request Error: {error:?}");
message = error
.get("message")
.and_then(|m| m.as_str())
.unwrap_or("Unknown error")
.to_string();
if let Some(code) = error.get("code").and_then(|c| c.as_str()) {
if code == "context_length_exceeded" || code == "string_above_max_length" {
return Err(ProviderError::ContextLengthExceeded(message));
}
if let Some(code) = error.get("code").and_then(|c| c.as_str()) {
if code == "context_length_exceeded" || code == "string_above_max_length" {
return Err(ProviderError::ContextLengthExceeded(message));
}
}}
}
}
tracing::debug!(
"{}", format!("Provider request failed with status: {}. Payload: {:?}", status, payload)
);