3小時開發(fā)chatgpt微信小程序
chatGPT是一款由OpenAI開發(fā)的聊天機器人模型,是一種高效語言模型,它能夠模擬人類的語言行為,與用戶進行自然的交互。它的名稱來源于它所使用的技術——GPT-3架構,即生成式語言模型的第3代。
準備工作
去微信中搜索 "chatGPT"相關的小程序,看下還有哪些名字可以注冊
選好名字,去申請微信小程序,記錄準備logo,需要滿足144px*144px
提交審核之后,就可以同時準備進行小程序開發(fā)
openai 賬號申請
由于openai https://openai.com/ 不在中國區(qū)域開展業(yè)務,國內(nèi)不能正常的體驗到openai提供的服務;
我們可以通過曲線救國的方式來實現(xiàn)賬號的申請和注冊,具體教程可以自行搜索;
申請到賬號之后,為了在代碼中實現(xiàn)對openai 提供的 api
,我們還需要申請一個apiKey;這是通過代碼訪問chatGPT的關鍵所在。
賬號申請成功后,訪問 https://beta.openai.com/account/api-keys
頁面生成apiKey,后面會用到;尤其注意保存好這個key,后面需要用到,且不能再次查看,如果丟失,只能重新生成。
開發(fā)環(huán)境
根據(jù)自己的實際情況,下載對應版本的微信開發(fā)者工具
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
新建小程序,導入小程序源碼 https://github.com/smallnew666/ChatGPT-wxapp
服務器接口
編寫服務器接口,推薦使用阿里云函數(shù)計算搭建flask,寫入index.py文件
from flask import Flask,request
import requests
import json
import random
app = Flask(__name__)
@app.route('/')
def hello_world():? # put application's code here
? ? return '在此輸入apikey 樣式:sk-s5S5BoV...'
@app.route('/message',methods = ['POST'])
def mess():
? ? sk = request.json.get('openaikey')
? ? msg = request.json.get('msg')
? ? maxtoken = request.json.get('maxtoken')
? ? print(sk,msg)
? ? req = requests.post('https://api.openai.com/v1/completions',
? ? ? ? ? ? ? ? ? ? ? ? json={"prompt": msg, "max_tokens": maxtoken, "model": "text-davinci-003","temperature": 0}, headers={
? ? ? ? ? ? 'content-type': 'application/json', 'Authorization': 'Bearer ' + sk})
? ? print(req.status_code)
? ?
? ? if req.status_code == 200:
? ? ? ? reqdic = json.loads(req.text)
? ? ? ? print(reqdic)
? ? ? ? # aa = reqdic['choices'][0]['text']
? ? ? ? res = {
? ? ? ? ? ? "resmsg":reqdic,
? ? ? ? ? ? "code":200
? ? ? ? }
? ? ? ? return res
? ? else:
? ? ? ? reqdic = json.loads(req.text)
? ? ? ? err = reqdic['error']['message']
? ? ? ? res = {
? ? ? ? ? ? "resmsg":err,
? ? ? ? ? ? "code":412
? ? ? ? }
? ? ? ? return res
if __name__ == '__main__':
? ? app.run(threaded = False,processes=5)
在小程序的index.js文件中填入接口調(diào)用地址
至此,小程序搭建完成