Fix web search and template max tokens (#1564)

### What problem does this PR solve?


### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
H
2024-07-17 14:19:14 +08:00
committed by GitHub
parent 83c9f1ed39
commit 1015436691
6 changed files with 19 additions and 16 deletions

View File

@ -43,7 +43,7 @@ class Baidu(ComponentBase, ABC):
ans = self.get_input()
ans = " - ".join(ans["content"]) if "content" in ans else ""
if not ans:
return Baidu.be_output(self._param.no)
return Baidu.be_output("")
url = 'https://www.baidu.com/s?wd=' + ans + '&rn=' + str(self._param.top_n)
headers = {
@ -56,8 +56,10 @@ class Baidu(ComponentBase, ABC):
baidu_res = [{"content": re.sub('<em>|</em>', '', '<a href="' + url + '">' + title + '</a> ' + body)} for url, title, body in zip(url_res, title_res, body_res)]
del body_res, url_res, title_res
df = pd.DataFrame(baidu_res)
print(df, ":::::::::::::::::::::::::::::::::")
if not baidu_res:
return Baidu.be_output("")
df = pd.DataFrame(baidu_res)
if DEBUG: print(df, ":::::::::::::::::::::::::::::::::")
return df

View File

@ -44,7 +44,7 @@ class DuckDuckGo(ComponentBase, ABC):
ans = self.get_input()
ans = " - ".join(ans["content"]) if "content" in ans else ""
if not ans:
return DuckDuckGo.be_output(self._param.no)
return DuckDuckGo.be_output("")
if self._param.channel == "text":
with DDGS() as ddgs:
@ -57,6 +57,9 @@ class DuckDuckGo(ComponentBase, ABC):
duck_res = [{"content": '<a href="' + i["url"] + '">' + i["title"] + '</a> ' + i["body"]} for i in
ddgs.news(ans, max_results=self._param.top_n)]
if not duck_res:
return DuckDuckGo.be_output("")
df = pd.DataFrame(duck_res)
print(df, ":::::::::::::::::::::::::::::::::")
if DEBUG: print(df, ":::::::::::::::::::::::::::::::::")
return df

View File

@ -72,14 +72,14 @@ class Generate(ComponentBase):
prompt = self._param.prompt
retrieval_res = self.get_input()
input = "\n- ".join(retrieval_res["content"]) if "content" in retrieval_res else ""
input = (" - " + "\n - ".join(retrieval_res["content"])) if "content" in retrieval_res else ""
for para in self._param.parameters:
cpn = self._canvas.get_component(para["component_id"])["obj"]
_, out = cpn.output(allow_partial=False)
if "content" not in out.columns:
kwargs[para["key"]] = "Nothing"
else:
kwargs[para["key"]] = "\n - ".join(out["content"])
kwargs[para["key"]] = " - " + "\n - ".join(out["content"])
kwargs["input"] = input
for n, v in kwargs.items():

View File

@ -30,7 +30,7 @@ class WikipediaParam(ComponentParamBase):
def __init__(self):
super().__init__()
self.top_n = 10
self.language = 'en'
self.language = "en"
def check(self):
self.check_positive_integer(self.top_n, "Top N")
@ -49,7 +49,7 @@ class Wikipedia(ComponentBase, ABC):
ans = self.get_input()
ans = " - ".join(ans["content"]) if "content" in ans else ""
if not ans:
return Wikipedia.be_output(self._param.no)
return Wikipedia.be_output("")
wiki_res = []
wikipedia.set_lang(self._param.language)
@ -63,7 +63,7 @@ class Wikipedia(ComponentBase, ABC):
pass
if not wiki_res:
return Wikipedia.be_output(self._param.no)
return Wikipedia.be_output("")
df = pd.DataFrame(wiki_res)
if DEBUG: print(df, ":::::::::::::::::::::::::::::::::")