Spaces:
Sleeping
Sleeping
| from fastapi.responses import JSONResponse | |
| from pydantic import BaseModel | |
| from typing import List, Dict, Any, Optional | |
| class MessageText(BaseModel): | |
| text: List[str] | |
| class Message(BaseModel): | |
| text: Optional[MessageText] = None | |
| payload: Optional[Dict[str, Any]] = None | |
| class FulfillmentResponse(BaseModel): | |
| messages: List[Message] | |
| class SessionInfo(BaseModel): | |
| parameters: Dict[str, Any] | |
| class DialogflowResponse(BaseModel): | |
| fulfillment_response: FulfillmentResponse | |
| sessionInfo: Optional[SessionInfo] = None | |
| def DialogFlowResponseAPI(text: List[str] = None, payload: Optional[Dict[str, Any]] = None, parameters: Optional[Dict[str, Any]] = None): | |
| messages = [] | |
| if text: | |
| messages.append(Message(text=MessageText(text=text))) | |
| if payload: | |
| messages.append(Message(payload=payload)) | |
| response_data = DialogflowResponse( | |
| fulfillment_response=FulfillmentResponse(messages=messages), | |
| sessionInfo=SessionInfo(parameters=parameters or {}) | |
| ) | |
| return JSONResponse(content=response_data.model_dump()) | |