Spaces:
Sleeping
Sleeping
File size: 1,091 Bytes
e2b74e4 45737f3 5564ecb e2b74e4 9484a7b e2b74e4 9484a7b e2b74e4 19d94a7 e2b74e4 19d94a7 e2b74e4 9484a7b df0b6b9 e2b74e4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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())
|