diff --git a/api/core/app/app_config/features/file_upload/manager.py b/api/core/app/app_config/features/file_upload/manager.py index 4bfb3e21b3..d7fc5712e5 100644 --- a/api/core/app/app_config/features/file_upload/manager.py +++ b/api/core/app/app_config/features/file_upload/manager.py @@ -26,11 +26,12 @@ class FileUploadConfigManager: return None @classmethod - def validate_and_set_defaults(cls, config: dict) -> tuple[dict, list[str]]: + def validate_and_set_defaults(cls, config: dict, is_vision: bool = True) -> tuple[dict, list[str]]: """ Validate and set defaults for file upload feature :param config: app model config args + :param is_vision: if True, the feature is vision feature """ if not config.get("file_upload"): config["file_upload"] = {} @@ -47,9 +48,10 @@ class FileUploadConfigManager: if number_limits < 1 or number_limits > 6: raise ValueError("number_limits must be in [1, 6]") - detail = config['file_upload']['image']['detail'] - if detail not in ['high', 'low']: - raise ValueError("detail must be in ['high', 'low']") + if is_vision: + detail = config['file_upload']['image']['detail'] + if detail not in ['high', 'low']: + raise ValueError("detail must be in ['high', 'low']") transfer_methods = config['file_upload']['image']['transfer_methods'] if not isinstance(transfer_methods, list): diff --git a/api/core/app/apps/advanced_chat/app_config_manager.py b/api/core/app/apps/advanced_chat/app_config_manager.py index 3ac26ebe80..af6138d58a 100644 --- a/api/core/app/apps/advanced_chat/app_config_manager.py +++ b/api/core/app/apps/advanced_chat/app_config_manager.py @@ -56,7 +56,10 @@ class AdvancedChatAppConfigManager(BaseAppConfigManager): related_config_keys = [] # file upload validation - config, current_related_config_keys = FileUploadConfigManager.validate_and_set_defaults(config) + config, current_related_config_keys = FileUploadConfigManager.validate_and_set_defaults( + config=config, + is_vision=False + ) related_config_keys.extend(current_related_config_keys) # opening_statement diff --git a/api/core/app/apps/workflow/app_config_manager.py b/api/core/app/apps/workflow/app_config_manager.py index 91bab1b218..4c5c97cedf 100644 --- a/api/core/app/apps/workflow/app_config_manager.py +++ b/api/core/app/apps/workflow/app_config_manager.py @@ -48,7 +48,10 @@ class WorkflowAppConfigManager(BaseAppConfigManager): related_config_keys = [] # file upload validation - config, current_related_config_keys = FileUploadConfigManager.validate_and_set_defaults(config) + config, current_related_config_keys = FileUploadConfigManager.validate_and_set_defaults( + config=config, + is_vision=False + ) related_config_keys.extend(current_related_config_keys) # text_to_speech