From 4dfa75c6df2486a36a416024bbda156623d6eba7 Mon Sep 17 00:00:00 2001 From: RecentRichRail <80782821+RecentRichRail@users.noreply.github.com> Date: Tue, 28 Mar 2023 12:25:36 -0400 Subject: [PATCH] Update chatgpt.py --- searx/engines/chatgpt.py | 49 ++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/searx/engines/chatgpt.py b/searx/engines/chatgpt.py index a945c486f..080fa274b 100644 --- a/searx/engines/chatgpt.py +++ b/searx/engines/chatgpt.py @@ -1,16 +1,37 @@ -import os -import openai +from searxng.utils import searxng_useragent +import requests -openai.api_key = os.environ.get("OPENAI_API_KEY") -engine_id = "text-davinci-002" +# Engine configuration +engine_type = 'online_dictionary' +categories = ['general'] +paging = False +language_support = False -def generate_response(prompt): - response = openai.Completion.create( - engine=engine_id, - prompt=prompt, - max_tokens=150, - n=1, - stop=None, - temperature=0.7 - ) - return response.choices[0].text.strip() +# ChatGPT API settings +base_url = 'https://api.openai.com/v1/engines/davinci-codex/completions' +chatgpt_api_key_var = 'chatgpt_api_key_var' +headers = { + 'Content-Type': 'application/json', + 'Authorization': f'Bearer {chatgpt_api_key_var}' +} + +# Search function +def request(query, params): + prompt = f"Search results summary for the query: {query}" + data = { + 'prompt': prompt, + 'max_tokens': 60, + 'n': 1, + 'stop': None, + 'temperature': 0.5 + } + + response = requests.post(base_url, headers=headers, json=data) + response.raise_for_status() + return response.json() + +def response(resp): + results = [] + chatgpt_response = resp['choices'][0]['text'] + results.append({'title': 'ChatGPT Summary', 'content': chatgpt_response.strip()}) + return results