### What problem does this PR solve? ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)tags/v0.10.0
| @@ -448,6 +448,8 @@ class ComponentBase(ABC): | |||
| if self.component_name.lower() == "generate" and self.get_component_name(u) == "retrieval": | |||
| o = self._canvas.get_component(u)["obj"].output(allow_partial=False)[1] | |||
| if o is not None: | |||
| if not "".join(o["content"]): | |||
| continue | |||
| upstream_outs.append(o) | |||
| continue | |||
| if u not in self._canvas.get_component(self._id)["upstream"]: continue | |||
| @@ -130,8 +130,8 @@ class Generate(ComponentBase): | |||
| def stream_output(self, chat_mdl, prompt, retrieval_res): | |||
| res = None | |||
| if "empty_response" in retrieval_res.columns and "\n- ".join(retrieval_res["content"]): | |||
| res = {"content": "\n- ".join(retrieval_res["content"]), "reference": []} | |||
| if "empty_response" in retrieval_res.columns and not "\n- ".join(retrieval_res["content"]): | |||
| res = {"content": "\n- ".join(retrieval_res["empty_response"]), "reference": []} | |||
| yield res | |||
| self.set_output(res) | |||
| return | |||
| @@ -75,8 +75,8 @@ class Retrieval(ComponentBase, ABC): | |||
| aggs=False, rerank_mdl=rerank_mdl) | |||
| if not kbinfos["chunks"]: | |||
| df = Retrieval.be_output(self._param.empty_response) | |||
| df["empty_response"] = True | |||
| df = Retrieval.be_output("") | |||
| df["empty_response"] = self._param.empty_response | |||
| return df | |||
| df = pd.DataFrame(kbinfos["chunks"]) | |||