Spaces:
Running
Running
| from langflow.custom import CustomComponent | |
| from langflow.schema.message import Message | |
| from langflow.utils.constants import MESSAGE_SENDER_AI, MESSAGE_SENDER_USER | |
| class MessageComponent(CustomComponent): | |
| display_name = "Message" | |
| description = "Creates a Message object given a Session ID." | |
| name = "Message" | |
| def build_config(self): | |
| return { | |
| "sender": { | |
| "options": [MESSAGE_SENDER_AI, MESSAGE_SENDER_USER], | |
| "display_name": "Sender Type", | |
| }, | |
| "sender_name": {"display_name": "Sender Name"}, | |
| "text": {"display_name": "Text"}, | |
| "session_id": { | |
| "display_name": "Session ID", | |
| "info": "Session ID of the chat history.", | |
| "input_types": ["Text"], | |
| }, | |
| } | |
| def build( | |
| self, | |
| sender: str = MESSAGE_SENDER_USER, | |
| sender_name: str | None = None, | |
| session_id: str | None = None, | |
| text: str = "", | |
| ) -> Message: | |
| flow_id = self.graph.flow_id if hasattr(self, "graph") else None | |
| message = Message(text=text, sender=sender, sender_name=sender_name, flow_id=flow_id, session_id=session_id) | |
| self.status = message | |
| return message | |