From 0282af2cc4387fe3353f78f18a7eb722e30c9136 Mon Sep 17 00:00:00 2001 From: Joseph Cheung Date: Mon, 20 Feb 2023 16:39:18 +0800 Subject: [PATCH] Update webapp.py --- searx/webapp.py | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/searx/webapp.py b/searx/webapp.py index 287c0518d..3b7889135 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -711,8 +711,11 @@ def search(): if res['content'] == '': continue new_url = 'https://url'+str(len(url_pair)+1) url_pair[new_url] = res['url'] + res['content'] = res['content'].replace("Translate Tweet. ","") + res['content'] = res['content'].replace("Learn more ","") + tmp_prompt = res['title'] +'\n'+ res['content'] + '\n' + new_url +'\n' - if len(prompt)+len(tmp_prompt)<=1500: + if len(prompt)+len(tmp_prompt)<2000: prompt += tmp_prompt +'\n' if prompt != "": gpt = "" @@ -723,8 +726,8 @@ def search(): "OpenAI-Organization": os.environ['GPTORG'] } gpt_data = { - "prompt": prompt+"\n以上是搜索引擎对关键词 " + search_query.query + " 的结果,用简体中文分条总结简报,在文中用markdown脚注指对应内容来源链接:", - "max_tokens": 1024, + "prompt": prompt+"\n以上是搜索引擎对关键词 " + search_query.query + " 的结果,以搜索机器人(名字是Search)的口吻,用简体中文分条总结简报,在文中用markdown脚注指对应内容来源链接:", + "max_tokens": 2000, "temperature": 0.7, "top_p": 1, "frequency_penalty": 0, @@ -740,13 +743,40 @@ def search(): gpt = gpt_json['choices'][0]['text'] for urls in url_pair.keys(): gpt = gpt.replace(urls,url_pair[urls]) + rgpt = gpt if gpt and gpt!="": for i in range(1,16): gpt = gpt.replace("["+str(i)+"] http","[^"+str(i)+"]: http").replace("["+str(i)+"]http","[^"+str(i)+"]: http").replace("["+str(i)+"]","[^"+str(i)+"]") + rgpt = gpt gpt = markdown.markdown( gpt , extensions=['footnotes']) + for urls in url_pair.keys(): gpt = gpt.replace("#fn:"+urls.replace("https://url",""),url_pair[urls]) gpt = gpt.replace("#fn:url"+urls.replace("https://url",""),url_pair[urls]) + gpt = re.sub(r'
(.*?)
', '', gpt, flags=re.DOTALL) + gpt = gpt + ''' + ''' + for i in range(1, 16): + rgpt = rgpt.replace(f"[{i}]", "") + rgpt = rgpt.replace(f"[^{i}]", "") gptbox = { 'infobox': 'GPT3', 'id': 'gpt'+str(len(prompt)),