3小时!开发ChatGPT微信小程序|天天观点
导读 |上周OpenAI发布了对话语言模型 ChatGPT,相关讨论引爆全网。你是否也迫不及待体验一番?本文特邀作者腾讯云开发者社区作者戴传友从开发环境准备、开发过程、服务器接口、腾讯API网关接入到部署,详细教你如何动手开发一个chatGPT微信小程序。
在《ChatGPT-地表最强AI模型!要消灭人类?》、《算法工程师深度解构ChatGPT技术》两篇文章中,我们分别囊举了ChatGPT的丰富玩法并解析其工作原理。如果你对相关内容感兴趣,欢迎回溯围观~公众号的粉丝朋友们在评论区畅想了更多ChatGP应用实践,也有粉丝表示想要亲自体验下其奇妙之处。此次,我们邀请腾讯云开发者社区开发者由浅入深带你动手开发一个ChatGPT微信小程序,其中会详细介绍开发环境准备、项目实现、服务接口搭建、腾讯API网关接入、部署等环节。至此,基本准备工作已全部完成,接下来将为各位开发者讲述核心代码的开发流程。开发环境1)新建小程序首先,根据自己的实际情况下载对应版本的微信开发者工具。下载地址如下:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html其次,我个人建议新建小程序时选择最简单的基础模版,并勾选使用微信云开发环境。去除繁杂的配置以便你能更快速的对微信小程序的代码结构有初步了解。我成文时,因为申请的小程序还没有审核通过,所以选择下述测试号用来进行开发。2)环境介绍导出初始化项目之后,你会看到比较清晰的文件结构。小程序开发跟普通的html、css、js 三剑客用来开发网页没有本质的区别。在微信体系内,wxml、wxss、js 都是 html、css、js的子集。页面的结构在wxml 中写,用到的样式在 wxss中定义;变量和函数以及网络请求 等在 js 中执行。简单说来,小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。这里的 app 是指放在根目录的 app.js、app.json、app.wxss 这三个文件,他们主要负责全局性的逻辑、配置及样式。pages 则是你即将编写的多个页面。多个 pages 之间可以通过官方提供的导航功能进行跳转。每个 page 页面由 page.js、page.json、page.wxml、page.wxss 四个文件组成。其中 WXML 页面类似 HTML 文件,主要负责页面的结构。相比于HTML而言,WXML 更加简单。开发过程中,布局基本上是在使用submitForm: function (e) { //一般前置检查代码 ... const that = this wx.request({ url: "http://youdomain.com/api/xxxx", method: "post", header: {"content-type": "application/x-www-form-urlencoded"}, data: data, success(rsp) { console.log("ask result-----",rsp.data) that.setData({ result: rsp.data.data.rsp, disabled: false, loading: false, }) }, complete(d) { console.log(d) } }) console.info("form.submited") ....其他相关代码},值得注意的是,上面用到的url需要在小程序中进行域名白名单注册,否则无法被访问到。同时进行注册的域名,需要进行备案。配置地址:登录微信小程序管理后台,在开发管理-服务器域名中进行配置。如下图。上述内容搭建完成后,下一步是配置服务器。本着快速开发的原则,可以借用“现成的轮子”,保障效率第一。各位可以参考现有的api-server脚手架(https://github.com/wytxer/template-node-egg)。之后配置接口名字以及对应的handle。我定义了一个名字叫做 /ask 的接口名字,同时定义了处理ask接口的 handle函数如下。
async ask() { const { request, helper, axios, logger } = this.ctx const { message } = request.body logger.info("requset body===", request.body) logger.info("message===",message) ...其余相关代码 这里的token就是前面提到的在openai上申请到的token const config = { headers: { Authorization: `Bearer ${token}` } } const req = { model: "text-curie-001", prompt: message, max_tokens: 2000, temperature: 0.5 } console.log("req===",req) let text = "" const result = await axios.post("https://api.openai.com/v1/completions", req, { timeout: 300000, headers: { Authorization: "Bearer ${token}" } }) .then(rsp => { console.log("pdf file result", rsp) if (rsp.choices) { text = rsp.choices[0].text } }) .catch(err => { console.log("pdf file error", err) }) const data = { rsp: text } helper.success(data, "success")}这里的token就是前面提到的在openai上申请到的token ,注意不要泄漏。腾讯api网关接入及部署1)网关接入考虑到并发能力,频率限制,自动扩容等能力的接入,我选择了腾讯云api网关。如何把api通过腾讯云暴露到外网呢?首先,访问https://console.cloud.tencent.com/apigateway/service?rid=1。其次,新建一个service,并且选择https协议【微信要求https协议】。最后,新建接口ask并且映射到我们自己的服务器。2)部署过程在微信开发者工具里面进行代码上传,然后在微信小程序后台里面就能看到上传的版本。建议各位开发者提交审核之前用真机扫描体验一下,有bug及时修复。粉丝福利,后台回复“ChatGPT”获得本篇作者推荐相关学习材料
关键词:
责任编辑:宋璟
-
黄河山东段出现本年度首次封河_环球速看料
-
广汉市民政局扎实推进未成年人保护工作 热闻
-
独家资金:早盘主力买入前10股
-
3小时!开发ChatGPT微信小程序|天天观点
-
这家泳池清洁机器人厂商冲刺IPO 产能利用率超过130%
-
有钱花网贷逾期3天延迟还款影响征信吗
-
环球微动态丨建安区公路事业发展中心:多措并举 保障交通道路安全
-
年入近亿!库里自曝想当球队老板:如机会合适肯定会-当前简讯
-
长庆油田采油二厂综合挖潜节约资金390万元|世界聚焦
-
2009年,中国小伙与柬埔寨公主相恋,公主父亲:三千万离开我女儿
-
本周盘点(12.12-12.16):金瑞矿业周跌7.83%,主力资金合计净流出788.67万元 天天百事通
-
金融行业首个基金经理“阿凡达”诞生! 当前视讯
-
环球今日报丨第二任董事长辞职!扎根广西的国富人寿如何靠差异化“突围”
-
私人之间的房屋买卖合同样本修改后的
-
世界热点评!物流配送24小时不间断,350万盒抗疫药品投放医院和药店
-
无奈地问一问,我有孩子了想离婚怎样办?很纠结_全球快消息
-
世界资讯:恰似春风暖心田——市委宣讲团走进王屋
-
荣昌生物(688331)12月13日主力资金净卖出829.59万元
-
公司前线|长江健康新增“幽门螺杆菌概念” 世界观天下
-
双鹭药业:12月12日获融资买入2861.28万元,占当日流入资金比例25.66%
-
平安消费金融董事潘为任职资格获批;深圳:符合条件的银行及保险机构将获小额贷款保证保险奖励丨21消费金融参考
-
“火爆”并非标准 大学专业设置不简单
-
全球热消息:东方生物发声明函 抵制抗原试剂销售乱象
-
世界实时:乘联会:新能源车市场有望实现全年650万辆的销量预测
-
云从科技(688327)12月7日主力资金净买入395.81万元
-
天天实时:股票行情快报:景津装备(603279)12月6日主力资金净买入189.16万元
-
广东省林草中药材产业发展指南发布 森林覆盖率位居全国前列
-
唇部彩妆的“质地变革” 是否是长久之计?
-
安庆:18个社区首批试点“三公里”就业圈
-
多次“点名”!阜阳这项产业“加速跑”
-
最新!2021年杭州市户籍人口期望寿命公布
-
周末开始合肥天气转晴 气温开始迅速上升
-
冬季敏感肌肤怎么保养 冬季敏感肌肤保养方法
-
最高气温30℃以上!未来三天西安市云量较多
-
陕西太白一金矿巷道涌入泥石流事故致4人死亡