ソースを参照

fix mutiple retrieval component content (#1997)

### What problem does this PR solve?

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
tags/v0.10.0
H 1年前
コミット
9065fb1050
コミッターのメールアドレスに関連付けられたアカウントが存在しません
3個のファイルの変更6行の追加4行の削除
  1. 2
    0
      agent/component/base.py
  2. 2
    2
      agent/component/generate.py
  3. 2
    2
      agent/component/retrieval.py

+ 2
- 0
agent/component/base.py ファイルの表示

@@ -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

+ 2
- 2
agent/component/generate.py ファイルの表示

@@ -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

+ 2
- 2
agent/component/retrieval.py ファイルの表示

@@ -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"])

読み込み中…
キャンセル
保存