diff --git a/api/core/file/file_manager.py b/api/core/file/file_manager.py index 770014aa7..e3fd175d9 100644 --- a/api/core/file/file_manager.py +++ b/api/core/file/file_manager.py @@ -88,6 +88,7 @@ def to_prompt_message_content( "url": _to_url(f) if dify_config.MULTIMODAL_SEND_FORMAT == "url" else "", "format": f.extension.removeprefix("."), "mime_type": f.mime_type, + "filename": f.filename or "", } if f.type == FileType.IMAGE: params["detail"] = image_detail_config or ImagePromptMessageContent.DETAIL.LOW diff --git a/api/core/model_runtime/entities/message_entities.py b/api/core/model_runtime/entities/message_entities.py index 83dc7f052..7cd2e6a3d 100644 --- a/api/core/model_runtime/entities/message_entities.py +++ b/api/core/model_runtime/entities/message_entities.py @@ -87,6 +87,7 @@ class MultiModalPromptMessageContent(PromptMessageContent): base64_data: str = Field(default="", description="the base64 data of multi-modal file") url: str = Field(default="", description="the url of multi-modal file") mime_type: str = Field(default=..., description="the mime type of multi-modal file") + filename: str = Field(default="", description="the filename of multi-modal file") @property def data(self):