Update api.py (#357)

更改目前流式对话的传入模式,使其可以支持多轮对话,体现在新增参数:history、knowledge_base_id
This commit is contained in:
royd 2023-05-15 19:11:00 +08:00 committed by GitHub
parent 0fca4c9590
commit 1678392cee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 10 deletions

19
api.py
View File

@ -265,17 +265,17 @@ async def chat(
async def stream_chat(websocket: WebSocket, knowledge_base_id: str):
await websocket.accept()
vs_path = os.path.join(VS_ROOT_PATH, knowledge_base_id)
if not os.path.exists(vs_path):
await websocket.send_json({"error": f"Knowledge base {knowledge_base_id} not found"})
await websocket.close()
return
history = []
turn = 1
while True:
question = await websocket.receive_text()
input_json = await websocket.receive_json()
question, history, knowledge_base_id = input_json[""], input_json["history"], input_json["knowledge_base_id"]
vs_path = os.path.join(VS_ROOT_PATH, knowledge_base_id)
if not os.path.exists(vs_path):
await websocket.send_json({"error": f"Knowledge base {knowledge_base_id} not found"})
await websocket.close()
return
await websocket.send_json({"question": question, "turn": turn, "flag": "start"})
last_print_len = 0
@ -304,7 +304,6 @@ async def stream_chat(websocket: WebSocket, knowledge_base_id: str):
)
turn += 1
async def document():
return RedirectResponse(url="/docs")