ChatGPT 对接微信公众号技术方案实现!
作者:小傅哥
博客:https://bugstack.cn
沉淀、分享、成长,让自己和他人都能有所收获!
9天假期写了8天代码和10篇文章,这个5.1过的很爽!
如假期前小傅哥的计划一样,这个假期开启了新的技术项目《ChatGPT 微服务应用体系构建》教程;从搭建环境、开发chatgpt-sdk-java、对接公众号、封装api,直至假期最后一天,完成了微信公众号的对接,可以与 ChatGPT 对话聊天啦!。
可以预见的是,会有越来越多的生成式OpenAI服务诞生,并且也有越来越多的场景开始接入。已经有很多小伙伴所在的公司开始要求会做 ChatGPT 开发,并且能接入到自家公司的客服回复、产品介绍、文案编写等场景中。
所以学习这样开发技术,等同于学习了一项工作经验技能。尤其是在和小傅哥这样高质量的架构师学习,学到手不只是业务代码,还有高质量的架构设计和编码经验。—— 否则你可能根本没有地方看到这样优秀的应用级项目代码!
一、我的假期
这有点像一个假期旅游计划,但我的旅游是在代码中!
这趟车,本身的核心是关于微服务应用体系的构建,通过讲解配置Docker、Nginx、SSL等环境以及开发出鉴权、认证、微信公众号、企业微信、支付宝交易等模块的方式,完善体系的物料服务。而 ChatGPT 只是其中的一种产品形态而已,这种产品形态通过 API 的方式与具体的物料服务模块解耦。这样做的方式是因为基础的物料【物料指SDK和服务】并不会频繁变化,而离业务最近的 API 会随业务变动发生较多的改动。所以这样的应用架构方式,在互联网大厂中也是非常常见和常用的。
这些东西的价值在于架构思维,而我也希望授人以渔,教会大家一些根本的东西,而不是永远的在CV+CRUD。有了这样的学习,学习的就不只是这样一个项目,而是可以把这个项目中所涉及的组件开发,都能进行任意物料模块与需要对接的服务进行关联打通使用。方便写到简历、用到项目、实战锻炼、积累经验。
二、对接方案
那么目前对接到微信公众号的方案是什么样呢?【如图】
- 这是整个项目开发到目前第10节,对接到公众号的一个整体流程。以用户请求鉴权为入口,分配访问Token授权。再接收公众号的验签和应答后调用 ChatGPT-SDK-Java 完成消息的应答处理。这其中还包括项目的打包构建云服务的使用等一系列操作,非常具有实战性。
- 目前的开发其实还只是整个项目的一小部分,后续还要继续完善包括;Web页面、流式应答、AI作图、企业微信、支付交易等流程。整体架构如下面介绍。—— 死鬼,跟着小傅哥,你会得到很多很多!
三、整体架构
接下来我们再以工程拓扑的视角看下这套需要开发的系统;—— 你做过的项目可能就是做项目,但小傅哥带着你做项目,一定先让你看到全貌的架构,也学会架构设计图的绘制。
如拓扑结构,系统从上到下以不同的产品形态,统一调用封装的服务API进行功能的流转。API系统中所处理的核心动作,会以各个物料模块进行实现。所以这里会拆分出标准的 ChatGPT-API 业务系统,之后再由各个模块系统支撑。到具体的模块中再进行详细的系统设计。
四、源码学习
而是6个项目 + 6个技术小册! 你就说,爽不爽,吃的饱不饱!项目:https://bugstack.cn/md/zsxq/introduce.html
- 在基础设置的基本必备服务搭建后,会进入接口鉴权的简单开发,这个模块开发后,大家就可以简单的使用了小傅哥提供的 OpenAI 了接口了。—— 当然你如果自己有 OpenAI 接口,也可以直接使用。像 https://huggingface.co/ 也提供了一些可以免费使用的简单 Open-API
- 有了这部分内容的使用,后续会进入 API-SDK 的开发,以及网页的简单开发。通过这样的开发构成一套基本的模块服务。ChatGPT-WEB-UI -> API-SDK -> 鉴权 -> OpenAI 的使用。
- ChatGPT-WEB-UI 流程跑通后,就可以逐步扩展其他服务模块。让业务与场景结合,如关注公众号、公众号回复、企业微信机器人、交易支付购买授权Token。这个过程可以让 ChatGPT-WEB-UI 与各个模块结合使用。
ChatGPT 对接微信公众号技术方案实现!的更多相关文章
- 基于IdentityServer的系统对接微信公众号
业务需求 公司有两个业务系统,A和B,AB用户之间属于多对一的关系,数据库里面也就是两张表,A表有个外键指向B.现在需要实现以下几个功能. A用户扫描B的二维码,填写相关的注册信息,注册完成之后自动属 ...
- PHP应用如何对接微信公众号JSAPI支付
微信支付的产品有很多,1. JSAPI支付 2. APP支付 3. Native支付 4.付款码支付 5. H5支付. 其中基于微信公众号开发的应用选择“JSAPI支付“产品,其他APP支付需 ...
- 苹果CMSv10对接微信公众号教程
首先声明下,对接公众号的话需要自行注册公众号“订阅号” 对接失败的原因大多是域名变红导致!简单的测试方法就是把域名链接发给qq好友或是qq群里看看有没有变红 域名变红以后大概率不会对接成功的,请知悉 ...
- Java对接微信公众号模板消息推送
内容有点多,请耐心! 最近公司的有这个业务需求,又很凑巧让我来完成: 首先想要对接,先要一个公众号,再就是开发文档了:https://developers.weixin.qq.com/doc/offi ...
- 个人微信公众号搭建Python实现 -开发配置和微信服务器转入-配置说明(14.1.2)
@ 目录 1.查看基本配置 2.修改服务器配置 3.当上面都配置好,点击提交 4.配置如下 1.查看基本配置 登录到微信公众号控制面板后点击基本配置 这里要讲的就是订阅号 前往注册微信公众号 2.修改 ...
- 微信公众号支付(JSAPI)对接备忘
0 说明 本文里说的微信公众号支付对接指的是对接第三方支付平台的微信公众号支付接口. 非微信支付官方文档里的公众号支付开发者文档那样的对接.不过,毕竟腾讯会把一部分渠道放给银行或有支付牌照的支付机构, ...
- 微信公众号【阿里技术(ali_tech)】历史文章整理
简介 来自微信公众号: ali_tech 阿里巴巴官方技术号,关于阿里的技术创新均呈现于此. 本内容来自微信公众号的分享,最后更新时间2019-10-26,请关注对应公众号接收最新分享,定期同步地址: ...
- the5fire博客对接微信公众平台接口 | the5fire的技术博客
the5fire博客对接微信公众平台接口 | the5fire的技术博客 the5fire博客对接微信公众平台接口
- 树莓派与微信公众号对接(python)
一 内网穿透,让外网可以访问树莓派 二 树莓派对接微信 需要安装webpy和python-lxml git clonegit://github.com/webpy/webpy.git ln -s `p ...
- 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)
微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...
随机推荐
- Nginx--upstream健康检查
nginx 判断节点失效状态: Nginx 默认判断失败节点状态以connect refuse和time out状态为准,不以HTTP错误状态进行判断失败,因为HTTP只要能返回状态说明该节点还可以正 ...
- “n个球放到m个盒子”问题整理(Twelvefold way)
这个算法的正式名字是:"Twelvefold way",共用12种情况. 本文转载自:自为风月马前卒的博文:浅谈"n个球"和"m个盒子"之间 ...
- C#之RabbitMQ
本文内容整理自https://blog.csdn.net/by_ron/category_6167618.html RabbitMQ–环境搭建 能点进来相信你明白RabbitMQ是干什么的了,这个系列 ...
- 每天学五分钟 Liunx 0001 | 存储篇:swap
swap swap ,内存交换空间,它是磁盘上的一块空间,主要作用是为了防止物理内存不足. CPU 从内存中读取数据.当内存的空间不足时, CPU 难以读取到数据,导致程序无法正常工作.所以诞生了 s ...
- spring-transaction源码分析(1)概述和事务传播级别
spring-tx概述 spring-tx包使用注解驱动和AOP通知将事务开启.提交/回滚.以及复杂的传播机制封装了起来,开发者不再需要编写事务管理的代码,而是可以只关注自己的业务逻辑. 本文将简单介 ...
- 【C】《C专家编程》阅读体会
[来源]https://mp.weixin.qq.com/s/0kmN5knql4yrOuUcnebwIQ
- QT5.9移植到海思HI3520设备上运行
前言: 在海思HI3520DV300上调试QT5.9.0有一小段时间了,这里将遇到的比较典型的问题做一个记录,以备后续查询,也可给同行一个参考.本人只使用过QT5.9.0这一个版本,如有描述错误欢迎指 ...
- [转帖]Linux下清理内存和Cache方法见下文:
https://www.cnblogs.com/the-tops/p/8798630.html 暂时目前的环境处理方法比较简单: 在root用户下添加计划任务: */10 * * * * sync;e ...
- [转帖]事务上的等待事件 —— enq: TX - contention
TX锁是保护事务的,事务结束时便会释放.因此,为获得TX锁为等待的会话,要等到拥有锁的会话的事务结束为止. SQL> select name,parameter1,parameter2,para ...
- [转帖]技术分享 | 国产麒麟 arm 上编译安装 xtrabackup8
原创 发布于 2022-07-19 13:29:29 3220 举报 作者:王向 爱可生 DBA 团队成员,负责公司 DMP 产品的运维和客户 MySQL 问题的处理.擅长数据库故障处理.对数据库技术 ...