diff --git a/src/backend/langflow/utils/schemas.py b/src/backend/langflow/utils/schemas.py index 8f0372d8f..2a411981c 100644 --- a/src/backend/langflow/utils/schemas.py +++ b/src/backend/langflow/utils/schemas.py @@ -1,10 +1,18 @@ +from typing import Dict, List, Optional, Union + +from langchain_core.messages import BaseMessage from pydantic import BaseModel -from typing import Optional class ChatOutputResponse(BaseModel): """Chat output response schema.""" - message: str + message: Union[str, List[Union[str, Dict]]] sender: Optional[str] = "Machine" sender_name: Optional[str] = "AI" + + @classmethod + def from_message(cls, message: BaseMessage, sender: Optional[str] = "Machine", sender_name: Optional[str] = "AI"): + """Build chat output response from message.""" + content = message.content + return cls(message=content, sender=sender, sender_name=sender_name)