Update webapp.py

This commit is contained in:
Joseph Cheung 2023-02-20 21:13:29 +08:00
parent e753999663
commit 2ba967f1c0

View file

@ -686,45 +686,48 @@ def search():
try:
search_query, raw_text_query, _, _ = get_search_query_from_webapp(request.preferences, request.form)
# search = Search(search_query) # without plugins
original_search_query = search_query.query
if "介绍一下" in search_query.query or "为什么" in search_query.query or "什么是" in search_query.query or "有什么" in search_query.query or "怎样" in search_query.query or "给我" in search_query.query or "如何" in search_query.query or "谁是" in search_query.query or "查询" in search_query.query or "告诉我" in search_query.query or "查一下" in search_query.query or "找一个" in search_query.query or "什么样" in search_query.query or "哪个" in search_query.query or "哪些" in search_query.query or "哪一个" in search_query.query or "哪一些" in search_query.query or len(search_query.query)>25:
if len(search_query.query)>5 and "谁是" in search_query.query:
search_query.query = search_query.query.replace("谁是","")
if len(search_query.query)>10 and not "谁是" in search_query.query:
prompt = search_query.query + "\n对以上问题生成一个Google搜索词\n"
if "今年" in prompt or "今天" in prompt:
now = datetime.datetime.now()
prompt = prompt.replace("今年",now.strftime('%Y年'))
prompt = prompt.replace("今天",now.strftime('%Y年%m月%d'))
gpt = ""
gpt_url = "https://api.openai.com/v1/engines/text-davinci-003/completions"
gpt_headers = {
"Authorization": "Bearer "+os.environ['GPTKEY'],
"Content-Type": "application/json",
"OpenAI-Organization": os.environ['GPTORG']
}
gpt_data = {
"prompt": prompt,
"max_tokens": 256,
"temperature": 0.7,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"best_of": 1,
"echo": False,
"logprobs": 0,
"stream": False
}
gpt_response = requests.post(gpt_url, headers=gpt_headers, data=json.dumps(gpt_data))
gpt_json = gpt_response.json()
if 'choices' in gpt_json:
gpt = gpt_json['choices'][0]['text']
for word in gpt.split('\n'):
if word != "":
gpt = word.replace("\"","").replace("\'","").replace("","").replace("","").replace("","").replace("","")
break
if gpt!="":
search_query.query = gpt
try:
original_search_query = search_query.query
if "介绍一下" in search_query.query or "为什么" in search_query.query or "什么是" in search_query.query or "有什么" in search_query.query or "怎样" in search_query.query or "给我" in search_query.query or "如何" in search_query.query or "谁是" in search_query.query or "查询" in search_query.query or "告诉我" in search_query.query or "查一下" in search_query.query or "找一个" in search_query.query or "什么样" in search_query.query or "哪个" in search_query.query or "哪些" in search_query.query or "哪一个" in search_query.query or "哪一些" in search_query.query or len(search_query.query)>25:
if len(search_query.query)>5 and "谁是" in search_query.query:
search_query.query = search_query.query.replace("谁是","")
if len(search_query.query)>10 and not "谁是" in search_query.query:
prompt = search_query.query + "\n对以上问题生成一个Google搜索词\n"
if "今年" in prompt or "今天" in prompt:
now = datetime.datetime.now()
prompt = prompt.replace("今年",now.strftime('%Y年'))
prompt = prompt.replace("今天",now.strftime('%Y年%m月%d'))
gpt = ""
gpt_url = "https://api.openai.com/v1/engines/text-davinci-003/completions"
gpt_headers = {
"Authorization": "Bearer "+os.environ['GPTKEY'],
"Content-Type": "application/json",
"OpenAI-Organization": os.environ['GPTORG']
}
gpt_data = {
"prompt": prompt,
"max_tokens": 256,
"temperature": 0.7,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"best_of": 1,
"echo": False,
"logprobs": 0,
"stream": False
}
gpt_response = requests.post(gpt_url, headers=gpt_headers, data=json.dumps(gpt_data))
gpt_json = gpt_response.json()
if 'choices' in gpt_json:
gpt = gpt_json['choices'][0]['text']
for word in gpt.split('\n'):
if word != "":
gpt = word.replace("\"","").replace("\'","").replace("","").replace("","").replace("","").replace("","")
break
if gpt!="":
search_query.query = gpt
except Exception as ee:
logger.exception(ee, exc_info=True)
search = SearchWithPlugins(search_query, request.user_plugins, request) # pylint: disable=redefined-outer-name
result_container = search.search()