概述

由於gpt比較火爆,可以幫我們寫文章、寫代碼等,本文將制作屬於我們自己的ai助手,無需翻墻,

準備工作

  • 在萬能的某寶購買open ai的apikey,直接搜索apikey即可找到
  • 下載Andlua+軟件,在後臺回復【andlua】即可獲得下載鏈接

最終效果

代碼實現

  • main.lua主要代碼

require "import"
import "android.app.*"
import "android.os.*"
import "android.widget.*"
import "android.view.*"
import "android.graphics.Typeface"
import "layout"
import "item"

activity.setTheme(R.AndLua3)
activity.setTitle("AI助手")
activity.setContentView(loadlayout(layout))
activity.ActionBar.hide()

data={}
adp=LuaMultiAdapter(this,data,item)

adp.add{__type=1,content="Hello,我是您的AI助手,請隨時吩咐我",time=os.date("%H:%M",os.time())};

list.setAdapter(adp)

發送.onClick=function()
txt=content.Text
adp.add{__type=2,content=txt,time=os.date("%H:%M",os.time())};
import "json"
local api_key = "替換為在某寶購買的apikey"
local params = {
model = "gpt-3.5-turbo",
messages = {
{role = "user", content = txt}
},
temperature = 0.7
}
local body = json.encode(params)
local headers = {
["Content-Type"] = "application/json",
["Authorization"] = "Bearer " .. api_key
}

local url = "https://caloi.top/openai/v1/chat/completions"
-- 上面url為代理鏈接,可能會隨時失效,如有科學上網,可將上面的鏈接替換為官方的api地址https://api.openai.com/v1/chat/completions
Http.post(url,body,nil,nil,headers,function(code,body)
if code==200 then
JSON=require "cjson"
JSON=JSON.decode(b)
print(JSON.choices[1])
adp.add{__type=1,content=JSON.choices[1].message.content,time=os.date("%H:%M",os.time())};
else
adp.add{__type=1,content="網絡錯誤!",time=os.date("%H:%M",os.time())};
end
end)
content.Text=""
end