Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions app/services/provider_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -443,8 +443,8 @@ async def _list_models_helper(

return provider_models
except Exception as e:
# In case of API errors, return empty list
logger.error(f"Error fetching models for {provider_name}: {str(e)}")
# Use parameterized logging to avoid issues if the error message contains braces
logger.error("Error fetching models for {}: {}", provider_name, str(e))
return []

provider_adapter_cls = ProviderAdapterFactory.get_adapter_cls(provider_name)
Expand Down Expand Up @@ -498,7 +498,8 @@ async def process_request(
f"API key is not permitted to use provider '{provider_name}'."
)
except ValueError as e:
logger.error(f"Error getting provider info for model {model}: {str(e)}")
# Use parameterized logging to avoid issues if the error message contains braces
logger.error("Error getting provider info for model {}: {}", model, str(e))
raise ValueError(
f"Invalid model ID: {model}. Please check your model configuration."
)
Expand Down Expand Up @@ -674,9 +675,8 @@ async def token_counting_stream() -> AsyncGenerator[bytes, None]:
)

except Exception as e:
logger.error(
f"Error in streaming response: {str(e)}", exc_info=True
)
# Use parameterized logging to avoid issues if the error message contains braces
logger.error("Error in streaming response: {}", str(e), exc_info=True)
# Re-raise to propagate the error
raise
finally:
Expand Down Expand Up @@ -759,6 +759,8 @@ def create_default_tensorblock_provider_for_user(user_id: int, db: Session) -> N
except Exception as e:
db.rollback()
logger.error(
f"Error creating default TensorBlock provider for user {user_id}: {e}"
"Error creating default TensorBlock provider for user {}: {}",
user_id,
e,
)
# Don't raise the exception - this is optional functionality
Loading