mv chatgpt script to defunct
This commit is contained in:
70
defunct/chatgpt-search.lua
Normal file
70
defunct/chatgpt-search.lua
Normal file
@@ -0,0 +1,70 @@
|
||||
-- name = "ChatGPT"
|
||||
-- description = "A search script that allows you to task with ChatGPT"
|
||||
-- data_source = "openai.com"
|
||||
-- type = "search"
|
||||
-- author = "Evgeny Zobnin"
|
||||
-- version = "1.0"
|
||||
|
||||
local json = require "json"
|
||||
|
||||
-- constants
|
||||
local ok_color = aio:colors().primary_text
|
||||
local error_color = aio:colors().progress_bad
|
||||
local uri = "https://ai.fakeopen.com/v1/chat/completions"
|
||||
local key = "pk-this-is-a-real-free-pool-token-for-everyone"
|
||||
|
||||
-- vars
|
||||
local question = ""
|
||||
local answer = ""
|
||||
|
||||
local payload_template = [[
|
||||
{
|
||||
"model": "gpt-3.5-turbo",
|
||||
"temperature": 0.8,
|
||||
"max_tokens": 100,
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"content": "%%Q%%. Answer in one sentence."
|
||||
}
|
||||
]
|
||||
}
|
||||
]]
|
||||
|
||||
function on_search(input)
|
||||
search:show_lines({"Ask ChatGPT: \""..input.."\""}, {ok_color}, true)
|
||||
question = input
|
||||
answer = ""
|
||||
end
|
||||
|
||||
function on_click()
|
||||
if answer == "" then
|
||||
search:show_lines({"Waiting for answer..."}, {ok_color}, true)
|
||||
make_request(question)
|
||||
return false
|
||||
else
|
||||
system:copy_to_clipboard(answer)
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
function make_request(str)
|
||||
local payload = payload_template:replace("%%Q%%", str)
|
||||
|
||||
http:set_headers{ "Authorization: Bearer "..key }
|
||||
http:post(uri, payload, "application/json")
|
||||
end
|
||||
|
||||
function on_network_result(result, code)
|
||||
if code >= 200 and code < 300 then
|
||||
answer = get_answer(result)
|
||||
search:show_lines({answer}, {ok_color}, true)
|
||||
else
|
||||
search:show_lines({"Server error: "..code}, {error_color}, true)
|
||||
end
|
||||
end
|
||||
|
||||
function get_answer(result)
|
||||
local t = json.decode(result)
|
||||
return t.choices[1].message.content
|
||||
end
|
||||
Reference in New Issue
Block a user