diff --git a/agent/component/base.py b/agent/component/base.py index ec26dc5b5..103325016 100644 --- a/agent/component/base.py +++ b/agent/component/base.py @@ -460,13 +460,11 @@ class ComponentBase(ABC): upstream_outs.append(pd.DataFrame([{"content": c}])) break break - if self.component_name.lower().find("answer") >= 0: - if self.get_component_name(u) in ["relevant"]: - continue - else: - o = self._canvas.get_component(u)["obj"].output(allow_partial=False)[1] - if o is not None: - upstream_outs.append(o) + if self.component_name.lower().find("answer") >= 0 and self.get_component_name(u) in ["relevant"]: + continue + o = self._canvas.get_component(u)["obj"].output(allow_partial=False)[1] + if o is not None: + upstream_outs.append(o) break if upstream_outs: diff --git a/api/apps/api_app.py b/api/apps/api_app.py index c291a4ab1..c2fd871b9 100644 --- a/api/apps/api_app.py +++ b/api/apps/api_app.py @@ -282,13 +282,9 @@ def completion(): canvas.reference.append(final_ans["reference"]) cvs.dsl = json.loads(str(canvas)) - result = None - for ans in answer(): - ans = {"answer": ans["content"], "reference": ans.get("reference", [])} - result = ans - fillin_conv(ans) - API4ConversationService.append_message(conv.id, conv.to_dict()) - break + result = {"answer": final_ans["content"], "reference": final_ans.get("reference", [])} + fillin_conv(result) + API4ConversationService.append_message(conv.id, conv.to_dict()) rename_field(result) return get_json_result(data=result)