【安卓篇】把ChatGPT放入手機(jī),視頻中全部源代碼
安卓中不是快捷指令,可以直接拷貝這些Python代碼。以下是視頻中用到的全部源代碼。主要利用SL4A操作安卓原生UI后臺(tái)調(diào)用OpenAi的API實(shí)現(xiàn)與UI端交互。請(qǐng)參照對(duì)應(yīng)視頻操作。 ———————————————————— #qpy:quiet #-*-coding:utf8;-*- """ """ import qpy import androidhelper import requests as rq import json? def funcpost(msg): ??url = 'https://api.openai.com/v1/completions'?# 需要請(qǐng)求的URL地址 ??data = {'model': 'text-davinci-003','prompt':msg,'max_tokens':2000} # POST請(qǐng)求需要提交的數(shù)據(jù) ??data = json.dumps(data)?# 有的時(shí)候data需要時(shí)json類型的 ??headers = {'Content-Type': 'application/json','Authorization':'Bearer'}?# 一種請(qǐng)求頭,需要攜帶 ??res = rq.post(url=url, data=data, headers=headers)?# 發(fā)起請(qǐng)求 ??target = res.json()?# 將獲取到的數(shù)據(jù)變成json類型 ??return target['choices'][0]['text']? ????? droid = androidhelper.Android() qu=droid.dialogGetInput("AI:","有什么可以效勞?","").result if qu!=None and qu!="": ??#droid.makeToast(txt) ??droid.makeToast("請(qǐng)稍候…") ??re=funcpost(qu) ??droid.dialogCreateAlert("AI:",re) ??droid.dialogSetPositiveButtonText("拷貝") ??droid.dialogSetNegativeButtonText("退出") ??droid.dialogShow() #在應(yīng)用上顯示對(duì)話框 ??respo = droid.dialogGetResponse().result #等待用戶的響應(yīng) ??if respo['which'] in ('positive'): ????droid.setClipboard(re) ????droid.makeToast("copy done.") ???? ????