Spaces:
Runtime error
Runtime error
| from typing import Optional | |
| from fastapi import BackgroundTasks, FastAPI | |
| from pydantic import BaseModel | |
| import json | |
| import time | |
| import random | |
| app = FastAPI() | |
| answer_dict = dict() | |
| class DialogInfo(BaseModel): | |
| q_id: str = None | |
| query: str = None | |
| history: list = [] | |
| def read_root(): | |
| return {"Hello": "World!"} | |
| def read_dialog(dialogid: str): | |
| # return dialogid | |
| return answer_dict[dialogid] | |
| def read_dialog(dialogid: str): | |
| # return dialogid | |
| return random.choices([True, False], (0.3, 0.7))[0] | |
| def background_process(diainfo: DialogInfo): | |
| answer_dict[diainfo.q_id].q_id = diainfo.q_id | |
| answer_dict[diainfo.q_id].history = diainfo.history | |
| answer_dict[diainfo.q_id].query = diainfo.query | |
| for _ in range(5): | |
| answer_dict[diainfo.q_id].history = diainfo.history | |
| if diainfo.q_id.startswith('0'): | |
| answer_dict[diainfo.q_id].query = answer_dict[diainfo.q_id].query + 'i' | |
| elif diainfo.q_id.startswith('9'): | |
| answer_dict[diainfo.q_id].query = answer_dict[diainfo.q_id].query + 'o' | |
| time.sleep(0.5) | |
| print(answer_dict[diainfo.q_id]) | |
| def read_query(chat: DialogInfo, background_tasks: BackgroundTasks): | |
| answer_dict[chat.q_id] = chat | |
| background_tasks.add_task(background_process, chat) | |
| return {"code": 202, "msg": f"Query id {chat.q_id} accepted."} | |