Files
daydaytalk-fwutils/target/aliyun/ai.lua
2026-01-08 21:58:41 +08:00

37 lines
1.0 KiB
Lua

local http = require("socket.http")
local ltn12 = require("ltn12")
local cjson = require("cjson")
local M = {}
local url = "https://dashscope.aliyuncs.com/compatible-mode/v1/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,reasoning_content = data.choices[1].reasoning_content}
else
return false, "请求失败,错误描述:" .. table.concat(response_body)
end
end
return M