1
This commit is contained in:
@@ -30,6 +30,32 @@ M.ask = function(key,content,model)
|
|||||||
return false, "请求失败,错误描述:" .. table.concat(response_body)
|
return false, "请求失败,错误描述:" .. table.concat(response_body)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
M.ask_local = function(url,content,model)
|
||||||
|
-- 构造 JSON 格式的请求数据
|
||||||
|
local payload = {
|
||||||
|
model = model,
|
||||||
|
messages = content,
|
||||||
|
stream = false
|
||||||
|
}
|
||||||
|
local response_body = {}
|
||||||
|
|
||||||
|
local res, code, response_headers, status = http.request{
|
||||||
|
url = url,
|
||||||
|
method = "POST",
|
||||||
|
headers = {
|
||||||
|
["Content-Type"] = "application/json",
|
||||||
|
},
|
||||||
|
source = ltn12.source.string(cjson.encode(payload)),
|
||||||
|
sink = ltn12.sink.table(response_body)
|
||||||
|
}
|
||||||
|
if code == 200 then
|
||||||
|
print(table.concat(response_body))
|
||||||
|
local data = cjson.decode(table.concat(response_body))
|
||||||
|
return true,{content = data.message.content}
|
||||||
|
else
|
||||||
|
return false, "请求失败,错误描述:" .. table.concat(response_body)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,13 @@ M.ext_dirpath = {
|
|||||||
"xls",
|
"xls",
|
||||||
"xlsx",
|
"xlsx",
|
||||||
"ppt",
|
"ppt",
|
||||||
"pptx"
|
"pptx",
|
||||||
|
"txt",
|
||||||
|
"json",
|
||||||
|
"xml",
|
||||||
|
"html",
|
||||||
|
"css",
|
||||||
|
"js",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
36
target/deepseek/ai.lua
Normal file
36
target/deepseek/ai.lua
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
local http = require("socket.http")
|
||||||
|
local ltn12 = require("ltn12")
|
||||||
|
local cjson = require("cjson")
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
local url = "https://api.deepseek.com/chat/completions"
|
||||||
|
|
||||||
|
M.ask = function(key,content,model)
|
||||||
|
-- 构造 JSON 格式的请求数据
|
||||||
|
local payload = {
|
||||||
|
model = model,
|
||||||
|
messages = content
|
||||||
|
}
|
||||||
|
local response_body = {}
|
||||||
|
|
||||||
|
local res, code, response_headers, status = http.request{
|
||||||
|
url = url,
|
||||||
|
method = "POST",
|
||||||
|
headers = {
|
||||||
|
["Authorization"] = "Bearer " .. key,
|
||||||
|
["Content-Type"] = "application/json",
|
||||||
|
},
|
||||||
|
source = ltn12.source.string(cjson.encode(payload)),
|
||||||
|
sink = ltn12.sink.table(response_body)
|
||||||
|
}
|
||||||
|
if code == 200 then
|
||||||
|
local data = cjson.decode(table.concat(response_body))
|
||||||
|
return true,{content = data.choices[1].message.content}
|
||||||
|
else
|
||||||
|
return false, "请求失败,错误描述:" .. table.concat(response_body)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
||||||
|
|
||||||
|
|
||||||
@@ -2,13 +2,31 @@ require("fwutils.webapi")
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.add = function(file_size,filepath,desc,conn)
|
M.add = function(file_size,filepath,desc,conn)
|
||||||
local ppst = conn:setsql("INSERT INTO fw_file (role_id,custom_id,file_size,filepath,`desc`) VALUES (?,?,?,?,?)")
|
local sql = ""
|
||||||
local user_data = cjson.decode(request.get("user_data"))
|
|
||||||
ppst:set_i32(1,user_data.role_id)
|
local user_data = request.get("user_data")
|
||||||
ppst:set_i32(2,user_data.id)
|
if user_data ~= nil and user_data ~= "" then
|
||||||
ppst:set_i64(3,file_size)
|
sql = "INSERT INTO fw_file (role_id,custom_id,file_size,filepath,`desc`) VALUES (?,?,?,?,?)"
|
||||||
ppst:set_str(4,filepath)
|
user_data = cjson.decode(user_data)
|
||||||
ppst:set_str(5,desc)
|
else
|
||||||
|
user_data = nil
|
||||||
|
sql = "INSERT INTO fw_file (file_size,filepath,`desc`) VALUES (?,?,?)"
|
||||||
|
end
|
||||||
|
|
||||||
|
local ppst = conn:setsql(sql)
|
||||||
|
if user_data ~= nil then
|
||||||
|
ppst:set_i32(1,user_data.role_id)
|
||||||
|
ppst:set_i32(2,user_data.id)
|
||||||
|
ppst:set_i64(3,file_size)
|
||||||
|
ppst:set_str(4,filepath)
|
||||||
|
ppst:set_str(5,desc)
|
||||||
|
else
|
||||||
|
ppst:set_i64(1,file_size)
|
||||||
|
ppst:set_str(2,filepath)
|
||||||
|
ppst:set_str(3,desc)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
if ppst:update() == 1 then
|
if ppst:update() == 1 then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
local http = require("socket.http")
|
local http = require("socket.http")
|
||||||
local ltn12 = require("ltn12")
|
local ltn12 = require("ltn12")
|
||||||
local cjson = require("cjson")
|
|
||||||
require("app.app")
|
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
M.timeout = 60*5
|
||||||
|
|
||||||
M.get = function(url,headers)
|
M.get = function(url,headers)
|
||||||
|
http.TIMEOUT = M.timeout
|
||||||
local response_body = {}
|
local response_body = {}
|
||||||
local res, status_code, response_headers, status_text = http.request{
|
local res, status_code, response_headers, status_text = http.request{
|
||||||
url = url,
|
url = url,
|
||||||
@@ -24,6 +25,7 @@ M.get = function(url,headers)
|
|||||||
end
|
end
|
||||||
|
|
||||||
M.post = function(url,headers,body)
|
M.post = function(url,headers,body)
|
||||||
|
http.TIMEOUT = M.timeout
|
||||||
local response_body = {}
|
local response_body = {}
|
||||||
headers["Content-Length"] = tostring(#body)
|
headers["Content-Length"] = tostring(#body)
|
||||||
local res, status_code, response_headers, status_text = http.request{
|
local res, status_code, response_headers, status_text = http.request{
|
||||||
@@ -42,6 +44,7 @@ M.post = function(url,headers,body)
|
|||||||
return true,table.concat(response_body)
|
return true,table.concat(response_body)
|
||||||
end
|
end
|
||||||
M.delete = function(url,headers)
|
M.delete = function(url,headers)
|
||||||
|
http.TIMEOUT = M.timeout
|
||||||
local response_body = {}
|
local response_body = {}
|
||||||
local res, status_code, response_headers, status_text = http.request{
|
local res, status_code, response_headers, status_text = http.request{
|
||||||
url = url,
|
url = url,
|
||||||
|
|||||||
Reference in New Issue
Block a user