Kevin Hu
commited on
Commit
·
a57190d
1
Parent(s):
96bea9f
fix generate bug (#2614)
Browse files### What problem does this PR solve?
### Type of change
- [x] Bug Fix (non-breaking change which fixes an issue)
- agent/component/generate.py +3 -3
- agent/component/switch.py +7 -26
agent/component/generate.py
CHANGED
|
@@ -122,13 +122,13 @@ class Generate(ComponentBase):
|
|
| 122 |
if "empty_response" in retrieval_res.columns and not "".join(retrieval_res["content"]):
|
| 123 |
res = {"content": "\n- ".join(retrieval_res["empty_response"]) if "\n- ".join(
|
| 124 |
retrieval_res["empty_response"]) else "Nothing found in knowledgebase!", "reference": []}
|
| 125 |
-
return
|
| 126 |
|
| 127 |
ans = chat_mdl.chat(prompt, self._canvas.get_history(self._param.message_history_window_size),
|
| 128 |
self._param.gen_conf())
|
| 129 |
if self._param.cite and "content_ltks" in retrieval_res.columns and "vector" in retrieval_res.columns:
|
| 130 |
-
|
| 131 |
-
return pd.DataFrame(
|
| 132 |
|
| 133 |
return Generate.be_output(ans)
|
| 134 |
|
|
|
|
| 122 |
if "empty_response" in retrieval_res.columns and not "".join(retrieval_res["content"]):
|
| 123 |
res = {"content": "\n- ".join(retrieval_res["empty_response"]) if "\n- ".join(
|
| 124 |
retrieval_res["empty_response"]) else "Nothing found in knowledgebase!", "reference": []}
|
| 125 |
+
return pd.DataFrame([res])
|
| 126 |
|
| 127 |
ans = chat_mdl.chat(prompt, self._canvas.get_history(self._param.message_history_window_size),
|
| 128 |
self._param.gen_conf())
|
| 129 |
if self._param.cite and "content_ltks" in retrieval_res.columns and "vector" in retrieval_res.columns:
|
| 130 |
+
res = self.set_cite(retrieval_res, ans)
|
| 131 |
+
return pd.DataFrame([res])
|
| 132 |
|
| 133 |
return Generate.be_output(ans)
|
| 134 |
|
agent/component/switch.py
CHANGED
|
@@ -49,34 +49,15 @@ class Switch(ComponentBase, ABC):
|
|
| 49 |
|
| 50 |
def _run(self, history, **kwargs):
|
| 51 |
for cond in self._param.conditions:
|
| 52 |
-
|
| 53 |
-
if len(cond["items"]) == 1:
|
| 54 |
-
out = self._canvas.get_component(cond["items"][0]["cpn_id"])["obj"].output()[1]
|
| 55 |
-
cpn_input = "" if "content" not in out.columns else " ".join(out["content"])
|
| 56 |
-
if self.process_operator(cpn_input, cond["items"][0]["operator"], cond["items"][0]["value"]):
|
| 57 |
-
return Switch.be_output(cond["to"])
|
| 58 |
-
continue
|
| 59 |
-
|
| 60 |
-
if cond["logical_operator"] == "and":
|
| 61 |
-
res = True
|
| 62 |
-
for item in cond["items"]:
|
| 63 |
-
out = self._canvas.get_component(item["cpn_id"])["obj"].output()[1]
|
| 64 |
-
cpn_input = "" if "content" not in out.columns else " ".join(out["content"])
|
| 65 |
-
if not self.process_operator(cpn_input, item["operator"], item["value"]):
|
| 66 |
-
res = False
|
| 67 |
-
break
|
| 68 |
-
if res:
|
| 69 |
-
return Switch.be_output(cond["to"])
|
| 70 |
-
continue
|
| 71 |
-
|
| 72 |
-
res = False
|
| 73 |
for item in cond["items"]:
|
| 74 |
out = self._canvas.get_component(item["cpn_id"])["obj"].output()[1]
|
| 75 |
cpn_input = "" if "content" not in out.columns else " ".join(out["content"])
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
|
|
|
| 80 |
return Switch.be_output(cond["to"])
|
| 81 |
|
| 82 |
return Switch.be_output(self._param.end_cpn_id)
|
|
@@ -122,4 +103,4 @@ class Switch(ComponentBase, ABC):
|
|
| 122 |
except Exception as e:
|
| 123 |
return True if input <= value else False
|
| 124 |
|
| 125 |
-
raise ValueError('Not supported operator' + operator)
|
|
|
|
| 49 |
|
| 50 |
def _run(self, history, **kwargs):
|
| 51 |
for cond in self._param.conditions:
|
| 52 |
+
res = []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
for item in cond["items"]:
|
| 54 |
out = self._canvas.get_component(item["cpn_id"])["obj"].output()[1]
|
| 55 |
cpn_input = "" if "content" not in out.columns else " ".join(out["content"])
|
| 56 |
+
res.append(self.process_operator(cpn_input, item["operator"], item["value"]))
|
| 57 |
+
if cond["logical_operator"] != "and" and any(res):
|
| 58 |
+
return Switch.be_output(cond["to"])
|
| 59 |
+
|
| 60 |
+
if all(res):
|
| 61 |
return Switch.be_output(cond["to"])
|
| 62 |
|
| 63 |
return Switch.be_output(self._param.end_cpn_id)
|
|
|
|
| 103 |
except Exception as e:
|
| 104 |
return True if input <= value else False
|
| 105 |
|
| 106 |
+
raise ValueError('Not supported operator' + operator)
|