Browse Source

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

Signed-off-by: -LAN- <laipz8200@outlook.com>
tags/1.1.0
-LAN- 7 months ago
parent
commit
49c952a631
No account linked to committer's email address

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

if file_upload_dict: if file_upload_dict:
if file_upload_dict.get("enabled"): if file_upload_dict.get("enabled"):
transform_methods = file_upload_dict.get("allowed_file_upload_methods", []) 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: 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 @classmethod
def validate_and_set_defaults(cls, config: dict) -> tuple[dict, list[str]]: 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 View File

number_limits=5, number_limits=5,
transfer_methods=[FileTransferMethod.REMOTE_URL], transfer_methods=[FileTransferMethod.REMOTE_URL],
detail=ImagePromptMessageContent.DETAIL.HIGH, detail=ImagePromptMessageContent.DETAIL.HIGH,
)
),
allowed_file_upload_methods=[FileTransferMethod.REMOTE_URL],
number_limits=5,
) )
assert result == expected assert result == expected


} }
result = FileUploadConfigManager.convert(config, is_vision=False) result = FileUploadConfigManager.convert(config, is_vision=False)
expected = FileUploadConfig( 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 assert result == expected



Loading…
Cancel
Save