mirror of
https://git.mirrors.martin98.com/https://github.com/infiniflow/ragflow.git
synced 2025-04-22 22:20:07 +08:00
fix bug of chat without stream (#830)
### What problem does this PR solve? ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
parent
2bfacd0469
commit
673a28e492
@ -222,10 +222,13 @@ def completion():
|
|||||||
resp.headers.add_header("Content-Type", "text/event-stream; charset=utf-8")
|
resp.headers.add_header("Content-Type", "text/event-stream; charset=utf-8")
|
||||||
return resp
|
return resp
|
||||||
else:
|
else:
|
||||||
ans = chat(dia, msg, **req)
|
answer = None
|
||||||
|
for ans in chat(dia, msg, **req):
|
||||||
|
answer = ans
|
||||||
fillin_conv(ans)
|
fillin_conv(ans)
|
||||||
API4ConversationService.append_message(conv.id, conv.to_dict())
|
API4ConversationService.append_message(conv.id, conv.to_dict())
|
||||||
return get_json_result(data=ans)
|
break
|
||||||
|
return get_json_result(data=answer)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return server_error_response(e)
|
return server_error_response(e)
|
||||||
|
@ -162,10 +162,13 @@ def completion():
|
|||||||
return resp
|
return resp
|
||||||
|
|
||||||
else:
|
else:
|
||||||
ans = chat(dia, msg, **req)
|
answer = None
|
||||||
|
for ans in chat(dia, msg, **req):
|
||||||
|
answer = ans
|
||||||
fillin_conv(ans)
|
fillin_conv(ans)
|
||||||
ConversationService.update_by_id(conv.id, conv.to_dict())
|
ConversationService.update_by_id(conv.id, conv.to_dict())
|
||||||
return get_json_result(data=ans)
|
break
|
||||||
|
return get_json_result(data=answer)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return server_error_response(e)
|
return server_error_response(e)
|
||||||
|
|
||||||
|
@ -84,7 +84,6 @@ def chat(dialog, messages, stream=True, **kwargs):
|
|||||||
kbs = KnowledgebaseService.get_by_ids(dialog.kb_ids)
|
kbs = KnowledgebaseService.get_by_ids(dialog.kb_ids)
|
||||||
embd_nms = list(set([kb.embd_id for kb in kbs]))
|
embd_nms = list(set([kb.embd_id for kb in kbs]))
|
||||||
if len(embd_nms) != 1:
|
if len(embd_nms) != 1:
|
||||||
if stream:
|
|
||||||
yield {"answer": "**ERROR**: Knowledge bases use different embedding models.", "reference": []}
|
yield {"answer": "**ERROR**: Knowledge bases use different embedding models.", "reference": []}
|
||||||
return {"answer": "**ERROR**: Knowledge bases use different embedding models.", "reference": []}
|
return {"answer": "**ERROR**: Knowledge bases use different embedding models.", "reference": []}
|
||||||
|
|
||||||
@ -126,7 +125,6 @@ def chat(dialog, messages, stream=True, **kwargs):
|
|||||||
"{}->{}".format(" ".join(questions), "\n->".join(knowledges)))
|
"{}->{}".format(" ".join(questions), "\n->".join(knowledges)))
|
||||||
|
|
||||||
if not knowledges and prompt_config.get("empty_response"):
|
if not knowledges and prompt_config.get("empty_response"):
|
||||||
if stream:
|
|
||||||
yield {"answer": prompt_config["empty_response"], "reference": kbinfos}
|
yield {"answer": prompt_config["empty_response"], "reference": kbinfos}
|
||||||
return {"answer": prompt_config["empty_response"], "reference": kbinfos}
|
return {"answer": prompt_config["empty_response"], "reference": kbinfos}
|
||||||
|
|
||||||
@ -177,7 +175,7 @@ def chat(dialog, messages, stream=True, **kwargs):
|
|||||||
**kwargs), msg, gen_conf)
|
**kwargs), msg, gen_conf)
|
||||||
chat_logger.info("User: {}|Assistant: {}".format(
|
chat_logger.info("User: {}|Assistant: {}".format(
|
||||||
msg[-1]["content"], answer))
|
msg[-1]["content"], answer))
|
||||||
return decorate_answer(answer)
|
yield decorate_answer(answer)
|
||||||
|
|
||||||
|
|
||||||
def use_sql(question, field_map, tenant_id, chat_mdl, quota=True):
|
def use_sql(question, field_map, tenant_id, chat_mdl, quota=True):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user