Kevin Hu
commited on
Commit
·
b5e86a6
1
Parent(s):
3154d16
fix generate error (#1590)
Browse files### What problem does this PR solve?
#1550 #1210
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
- api/apps/canvas_app.py +4 -3
- deepdoc/parser/ppt_parser.py +1 -1
- graph/component/arxiv.py +1 -1
- graph/component/generate.py +4 -1
api/apps/canvas_app.py
CHANGED
@@ -103,10 +103,10 @@ def run():
|
|
103 |
except Exception as e:
|
104 |
return server_error_response(e)
|
105 |
|
106 |
-
assert answer, "Nothing. Is it over?"
|
107 |
|
108 |
if stream:
|
109 |
-
assert isinstance(answer, partial)
|
110 |
|
111 |
def sse():
|
112 |
nonlocal answer, cvs
|
@@ -135,12 +135,13 @@ def run():
|
|
135 |
resp.headers.add_header("Content-Type", "text/event-stream; charset=utf-8")
|
136 |
return resp
|
137 |
|
|
|
138 |
canvas.messages.append({"role": "assistant", "content": final_ans["content"]})
|
139 |
if final_ans.get("reference"):
|
140 |
canvas.reference.append(final_ans["reference"])
|
141 |
cvs.dsl = json.loads(str(canvas))
|
142 |
UserCanvasService.update_by_id(req["id"], cvs.to_dict())
|
143 |
-
return get_json_result(data=
|
144 |
|
145 |
|
146 |
@manager.route('/reset', methods=['POST'])
|
|
|
103 |
except Exception as e:
|
104 |
return server_error_response(e)
|
105 |
|
106 |
+
assert answer is not None, "Nothing. Is it over?"
|
107 |
|
108 |
if stream:
|
109 |
+
assert isinstance(answer, partial), "Nothing. Is it over?"
|
110 |
|
111 |
def sse():
|
112 |
nonlocal answer, cvs
|
|
|
135 |
resp.headers.add_header("Content-Type", "text/event-stream; charset=utf-8")
|
136 |
return resp
|
137 |
|
138 |
+
final_ans["content"] = "\n".join(answer["content"]) if "content" in answer else ""
|
139 |
canvas.messages.append({"role": "assistant", "content": final_ans["content"]})
|
140 |
if final_ans.get("reference"):
|
141 |
canvas.reference.append(final_ans["reference"])
|
142 |
cvs.dsl = json.loads(str(canvas))
|
143 |
UserCanvasService.update_by_id(req["id"], cvs.to_dict())
|
144 |
+
return get_json_result(data={"answer": final_ans["content"], "reference": final_ans.get("reference", [])})
|
145 |
|
146 |
|
147 |
@manager.route('/reset', methods=['POST'])
|
deepdoc/parser/ppt_parser.py
CHANGED
@@ -52,7 +52,7 @@ class RAGFlowPptParser(object):
|
|
52 |
break
|
53 |
texts = []
|
54 |
for shape in sorted(
|
55 |
-
slide.shapes, key=lambda x: (x.top // 10, x.left)):
|
56 |
txt = self.__extract(shape)
|
57 |
if txt:
|
58 |
texts.append(txt)
|
|
|
52 |
break
|
53 |
texts = []
|
54 |
for shape in sorted(
|
55 |
+
slide.shapes, key=lambda x: ((x.top if x.top is not None else 0) // 10, x.left)):
|
56 |
txt = self.__extract(shape)
|
57 |
if txt:
|
58 |
texts.append(txt)
|
graph/component/arxiv.py
CHANGED
@@ -65,4 +65,4 @@ class ArXiv(ComponentBase, ABC):
|
|
65 |
|
66 |
df = pd.DataFrame(arxiv_res)
|
67 |
if DEBUG: print(df, ":::::::::::::::::::::::::::::::::")
|
68 |
-
return df
|
|
|
65 |
|
66 |
df = pd.DataFrame(arxiv_res)
|
67 |
if DEBUG: print(df, ":::::::::::::::::::::::::::::::::")
|
68 |
+
return df
|
graph/component/generate.py
CHANGED
@@ -86,7 +86,10 @@ class Generate(ComponentBase):
|
|
86 |
# prompt = re.sub(r"\{%s\}"%n, re.escape(str(v)), prompt)
|
87 |
prompt = re.sub(r"\{%s\}" % n, str(v), prompt)
|
88 |
|
89 |
-
|
|
|
|
|
|
|
90 |
return partial(self.stream_output, chat_mdl, prompt, retrieval_res)
|
91 |
|
92 |
if "empty_response" in retrieval_res.columns:
|
|
|
86 |
# prompt = re.sub(r"\{%s\}"%n, re.escape(str(v)), prompt)
|
87 |
prompt = re.sub(r"\{%s\}" % n, str(v), prompt)
|
88 |
|
89 |
+
downstreams = self._canvas.get_component(self._id)["downstream"]
|
90 |
+
if kwargs.get("stream") \
|
91 |
+
and len(downstreams) == 1 \
|
92 |
+
and self._canvas.get_component(downstreams[0])["obj"].component_name.lower() == "answer":
|
93 |
return partial(self.stream_output, chat_mdl, prompt, retrieval_res)
|
94 |
|
95 |
if "empty_response" in retrieval_res.columns:
|