From 4916c9f9ef5acb963b3ebedb0aa38edae7bd92eb Mon Sep 17 00:00:00 2001 From: Joseph Cheung Date: Sun, 19 Feb 2023 20:03:11 +0800 Subject: [PATCH] o --- searx/templates - 快捷方式.lnk | Bin 983 -> 0 bytes searx/webapp.py | 50 +++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) delete mode 100644 searx/templates - 快捷方式.lnk diff --git a/searx/templates - 快捷方式.lnk b/searx/templates - 快捷方式.lnk deleted file mode 100644 index 59d6d41608f140b3643898a1c70671663e703dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 983 zcmeZaU|?VrVFHp23Vq+$ zv^k>)gM7dP{|gGQtTF`_-QZx*HZYhg$)N9Q6@#V}#EoGv1d9fT$w&z>1iLy0MflYL zgFLj^+~LpsnzkeLz; z0dTV~NeVC&rzRFvFxbG&Jqa{75^U~Ttmf`_UxQ>W1A_>XTi<&NFod}J2KYFlx)o&R zdvB0iPd9_y%7SnvnDsjE(dcmc5> z5Hkbu!S1VvK#{@#3{0?p^3n|rA*`5^)ZBuc#FA8?dE5+oK*wTQlmOHTG-g2r$Os_F z$}dhW$S4K501VEp6Yfr5nC#jh^-S#Hq||BY*AMIv+wfL!w!X!m8QJqP2+4N?-OdR# zKN4t~VQ@h3TZ6r~oEbXZm;bmRyreiy$rdP{0C1eSheO6ZyQdW|YjoC~A^WH5+<>34{Q{2)aRAR=)aI9W>q znc!Fg=>##_Q@{CH0zCk79v={cRm&s?eRP2)`b?l0$PLS~k~M6nUJ~4Tjp2a*O^FM> zKyf*c29QazK#a>f$X>)2OCU2qz!Hc-7Ht&Eby?e6;IZ7pL2rp|MGwgA43Gj3Aa-~V Pa23R60B2SR3q}F}P!+>z diff --git a/searx/webapp.py b/searx/webapp.py index 6746f7a00..de1243efc 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -13,6 +13,7 @@ import json import os import sys import base64 +import requests from timeit import default_timer from html import escape @@ -698,6 +699,55 @@ def search(): if number_of_results < result_container.results_length(): number_of_results = 0 + # OPENAI GPT + if number_of_results != 0: + url_pair = {} + prompt = "" + for res in results: + if 'url' not in res: continue + if 'content' not in res: continue + if res['content'] == '': continue + new_url = 'https://url'+str(len(url_pair)) + url_pair[new_url] = res['url'] + tmp_prompt = url_pair +'\n'+ res['url']['title'] +'\n'+ res['url']['content'] + if len(prompt)+len(tmp_prompt)<=1500: + prompt += tmp_prompt +'\n' + if prompt != "": + 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": 1024, + "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(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 urls in url_pair: + gpt.replace(urls.key,urls[urls.key]) + if gpt and gpt!="": + gptbox = { + 'infobox': 'New Search', + 'id': 'gpt'+str(len(prompt)), + 'content': gpt, + } + result_container.infoboxes.append(gptbox) + + # checkin for a external bang if result_container.redirect_url: return redirect(result_container.redirect_url)