diff --git a/agent/canvas.py b/agent/canvas.py index f78167532..45a231ed7 100644 --- a/agent/canvas.py +++ b/agent/canvas.py @@ -260,7 +260,7 @@ class Canvas(ABC): def get_history(self, window_size): convs = [] - for role, obj in self.history[(window_size + 1) * -1:]: + for role, obj in self.history[window_size * -1:]: convs.append({"role": role, "content": (obj if role == "user" else '\n'.join([str(s) for s in pd.DataFrame(obj)['content']]))}) return convs diff --git a/agent/component/generate.py b/agent/component/generate.py index 588613e58..bdc431eaf 100644 --- a/agent/component/generate.py +++ b/agent/component/generate.py @@ -105,6 +105,9 @@ class Generate(ComponentBase): input = (" - "+"\n - ".join([c for c in retrieval_res["content"] if isinstance(c, str)])) if "content" in retrieval_res else "" for para in self._param.parameters: cpn = self._canvas.get_component(para["component_id"])["obj"] + if cpn.component_name.lower() == "answer": + kwargs[para["key"]] = self._canvas.get_history(1)[0]["content"] + continue _, out = cpn.output(allow_partial=False) if "content" not in out.columns: kwargs[para["key"]] = "Nothing"