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."} | |