mirror of
				https://github.com/langgenius/dify.git
				synced 2025-11-03 20:33:00 +00:00 
			
		
		
		
	fix(promptMessage): correct field_serializer implementation for content serialization (#18458)
This commit is contained in:
		
							parent
							
								
									cb69cb2d64
								
							
						
					
					
						commit
						f191d372f0
					
				@ -1,8 +1,8 @@
 | 
				
			|||||||
from collections.abc import Sequence
 | 
					from collections.abc import Sequence
 | 
				
			||||||
from enum import Enum, StrEnum
 | 
					from enum import Enum, StrEnum
 | 
				
			||||||
from typing import Optional
 | 
					from typing import Any, Optional, Union
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from pydantic import BaseModel, Field, field_validator
 | 
					from pydantic import BaseModel, Field, field_serializer, field_validator
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class PromptMessageRole(Enum):
 | 
					class PromptMessageRole(Enum):
 | 
				
			||||||
@ -135,6 +135,16 @@ class PromptMessage(BaseModel):
 | 
				
			|||||||
        """
 | 
					        """
 | 
				
			||||||
        return not self.content
 | 
					        return not self.content
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @field_serializer("content")
 | 
				
			||||||
 | 
					    def serialize_content(
 | 
				
			||||||
 | 
					        self, content: Optional[Union[str, Sequence[PromptMessageContent]]]
 | 
				
			||||||
 | 
					    ) -> Optional[str | list[dict[str, Any] | PromptMessageContent] | Sequence[PromptMessageContent]]:
 | 
				
			||||||
 | 
					        if content is None or isinstance(content, str):
 | 
				
			||||||
 | 
					            return content
 | 
				
			||||||
 | 
					        if isinstance(content, list):
 | 
				
			||||||
 | 
					            return [item.model_dump() if hasattr(item, "model_dump") else item for item in content]
 | 
				
			||||||
 | 
					        return content
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class UserPromptMessage(PromptMessage):
 | 
					class UserPromptMessage(PromptMessage):
 | 
				
			||||||
    """
 | 
					    """
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user