Ver código fonte

fix: streamline file upload configuration handling in manager.py (#15714)

Signed-off-by: -LAN- <laipz8200@outlook.com>
-LAN- 1 mês atrás
pai
commit
49c952a631

+ 5 - 7
api/core/app/app_config/features/file_upload/manager.py

@@ -17,17 +17,15 @@ class FileUploadConfigManager:
         if file_upload_dict:
             if file_upload_dict.get("enabled"):
                 transform_methods = file_upload_dict.get("allowed_file_upload_methods", [])
-                data = {
-                    "image_config": {
-                        "number_limits": file_upload_dict["number_limits"],
-                        "transfer_methods": transform_methods,
-                    }
+                file_upload_dict["image_config"] = {
+                    "number_limits": file_upload_dict.get("number_limits", 1),
+                    "transfer_methods": transform_methods,
                 }
 
                 if is_vision:
-                    data["image_config"]["detail"] = file_upload_dict.get("image", {}).get("detail", "low")
+                    file_upload_dict["image_config"]["detail"] = file_upload_dict.get("image", {}).get("detail", "high")
 
-                return FileUploadConfig.model_validate(data)
+                return FileUploadConfig.model_validate(file_upload_dict)
 
     @classmethod
     def validate_and_set_defaults(cls, config: dict) -> tuple[dict, list[str]]:

+ 6 - 2
api/tests/unit_tests/core/app/app_config/features/file_upload/test_manager.py

@@ -18,7 +18,9 @@ def test_convert_with_vision():
             number_limits=5,
             transfer_methods=[FileTransferMethod.REMOTE_URL],
             detail=ImagePromptMessageContent.DETAIL.HIGH,
-        )
+        ),
+        allowed_file_upload_methods=[FileTransferMethod.REMOTE_URL],
+        number_limits=5,
     )
     assert result == expected
 
@@ -33,7 +35,9 @@ def test_convert_without_vision():
     }
     result = FileUploadConfigManager.convert(config, is_vision=False)
     expected = FileUploadConfig(
-        image_config=ImageConfig(number_limits=5, transfer_methods=[FileTransferMethod.REMOTE_URL])
+        image_config=ImageConfig(number_limits=5, transfer_methods=[FileTransferMethod.REMOTE_URL]),
+        allowed_file_upload_methods=[FileTransferMethod.REMOTE_URL],
+        number_limits=5,
     )
     assert result == expected