导读 |上周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”获得本篇作者推荐相关学习材料
关键词:
(责任编辑:黄俊飞)推荐内容
- 辽宁用北京的方式击败北京!曾凡博成唯一
- 安信证券:债券市场利率中枢或将较去年边
- 快消息![快讯]万联城服公布2022年半年度
- 焦点短讯!家乐福最新回应!
- 全球观点:“暖风”吹向市场,小商贩等待
- 众信旅游董秘回复:按照现行退市规则,主
- 全球看热讯:如果网贷逾期24年现在还不起
- 今天是第三个“中国人民警察节”,致敬!
- 环球实时:维力生活科技(01703)拟向蔡文
- 质押贷网贷逾期7天延迟还款影响征信吗
- 云来居“壮面”,食物新骗局你上当了吗?
- 网贷4个月还不上会有什么后果
- 留给威马的时间不多了 今日看点
- Paxlovid医保谈判未成功 这些药都还能报
- 新动态:博学原文及翻译 博学之原文及翻
- 焦点热文:山西向农村地区免费供应基本退
- 时讯:IPO观察|埃科光电业绩“光鲜”的背
- 面包酵母和馒头酵母区别?-当前关注
- 使用Python批量筛选上千个Excel文件中的
- [快讯]广汽集团:广汽集团2022年12月产销快报
- 热点评!独立储能电站在湖南的商业投资价
- 桂林恭城中医院调整核酸检测价格及采样方
- 世界实时:苹果还敢嘴硬?偷偷收集用户数
- 世界热门:女明星就是女明星,小时候就比
- 阳光城(000671)1月4日主力资金净买入36
- 瑞士巴塞尔大区欢迎中企投资发展
- 封丘县实现电子营业执照和电子印章同步发
- 【新要闻】京信通信:运营商基站和小基站
- 2023年元旦假期道路交通安保工作圆满收官
- 全球热讯:产业链供应链加速运转 各地全
- 天天消息!中百集团(000759):持股5%以上
- 阳后健康问题怎么办?1月3日上搜狐视频观
- 环球精选!2023伏羲山景区免费吗?
- 资源环境领域五份报告表明 我国生态环境
- 1-11月全国国有企业营业总收入同比增长8.
- 全球快播:鼎龙文化(002502)12月30日主
- 德创环保12月30日盘中涨幅达5%
- 银行托管业务将迎新规 确保与其他业务有
- 企业迎来赶制订单生产旺季 开足马力提高
- 泸州老窖(000568.SZ)向17名激励对象授予9
- Go定时器的三种实现方式_焦点关注
- 独家资金:主力进散户逃前10股
- 观焦点:柬埔寨一所赌场发生火灾 已致10
- 环球动态:我阳了...
- 奥海科技:拟回购不低于5000万元且不超过
- 九华旅游12月28日快速反弹
- 天天观速讯丨广西700MW海上风电项目获核准
- 昆药集团(600422)11月22日主力资金净卖
- 世界今头条!永安林业: 薪酬与考核委员
- 天天快播:长沙市雨花区高桥街道社区卫生
- 拍拍贷逾期41年拖欠多久会上征信系统
- 环球热资讯!黄晓明与家人一起包水饺,画
- 你我贷借款逾期4000不还征信有什么影响
- 永顺泰:公司未涉及供销社业务
- 环球新资讯:上海迪士尼门票第四次涨价
- 焦点热门:威胜信息(688100.SH)聘任李先怀
- 满易贷逾期十天延迟还款会上征信吗|动态
- 【环球报资讯】吕良伟在豪宅庆67岁生日,
- 全球连线|俄罗斯留学生爱林:我将把我的
- 【全球新视野】微信网名男人成熟稳重简短
- 热点评!独立储能电站在湖南的商业投资价
- 桂林恭城中医院调整核酸检测价格及采样方
- 世界实时:苹果还敢嘴硬?偷偷收集用户数
- 世界热门:女明星就是女明星,小时候就比
- 阳光城(000671)1月4日主力资金净买入36
- 瑞士巴塞尔大区欢迎中企投资发展
- 封丘县实现电子营业执照和电子印章同步发
- 【新要闻】京信通信:运营商基站和小基站
- 2023年元旦假期道路交通安保工作圆满收官
- 全球热讯:产业链供应链加速运转 各地全
- 天天消息!中百集团(000759):持股5%以上
- 阳后健康问题怎么办?1月3日上搜狐视频观
- 环球精选!2023伏羲山景区免费吗?
- 资源环境领域五份报告表明 我国生态环境
- 1-11月全国国有企业营业总收入同比增长8.
- 全球快播:鼎龙文化(002502)12月30日主
- 德创环保12月30日盘中涨幅达5%
- 银行托管业务将迎新规 确保与其他业务有
- 企业迎来赶制订单生产旺季 开足马力提高
- 泸州老窖(000568.SZ)向17名激励对象授予9
- Go定时器的三种实现方式_焦点关注
- 独家资金:主力进散户逃前10股
- 观焦点:柬埔寨一所赌场发生火灾 已致10
- 环球动态:我阳了...
- 奥海科技:拟回购不低于5000万元且不超过
- 九华旅游12月28日快速反弹
- 天天观速讯丨广西700MW海上风电项目获核准
- 昆药集团(600422)11月22日主力资金净卖
- 世界今头条!永安林业: 薪酬与考核委员
- 天天快播:长沙市雨花区高桥街道社区卫生
- 拍拍贷逾期41年拖欠多久会上征信系统
- 环球热资讯!黄晓明与家人一起包水饺,画
- 你我贷借款逾期4000不还征信有什么影响
- 永顺泰:公司未涉及供销社业务
- 环球新资讯:上海迪士尼门票第四次涨价
- 焦点热门:威胜信息(688100.SH)聘任李先怀
- 满易贷逾期十天延迟还款会上征信吗|动态
- 【环球报资讯】吕良伟在豪宅庆67岁生日,
- 全球连线|俄罗斯留学生爱林:我将把我的
- 【全球新视野】微信网名男人成熟稳重简短
- 如果欠国美易卡网贷的钱怎么还呢_环球看
- 男士的第一套定制西装:优雅与体面-环球
- 天津警方:一小客车与水泥罐车发生碰撞致
- 悦高软件拟以0元收购控股子公司自然人股
- 华菱钢铁董秘回复:硅钢一期项目是湖南省
- 上海钢联(300226)12月20日主力资金净卖
- 焦点!南财快评:LPR报价继续不变 政策
- 中信出版董秘回复:公司聚焦在出版主业并
- 医药企业释放最大产能 北京市医药企业日
- 当前视点!3小时!开发ChatGPT微信小程序
- 德尔未来董秘回复:目前公司石墨烯空气净
- 最新资讯:协程这么好,它能完全代替线程
- 世界微头条丨Polkadot 能否达到与 L2
- 热议:CCIX 互连标准演示
- 汝南县气象局发布大风黄色预警「III级/较
- 平潭综合实验区应对新冠肺炎疫情工作指挥
- 当前要闻:陆林:新冠对精神健康影响或超1
- 环球播报:怎么穿显腿长,明星告诉你答案
- 硬盘价格持续跳水 预测称到2025年硬盘将
- 个人养老投资基金到底是个啥?能投私募基