作者:小傅哥


博客:https://bugstack.cn

沉淀、分享、成长,让自己和他人都能有所收获!

9天假期写了8天代码和10篇文章,这个5.1过的很爽!

如假期前小傅哥的计划一样,这个假期开启了新的技术项目《ChatGPT 微服务应用体系构建》教程;从搭建环境开发chatgpt-sdk-java对接公众号封装api,直至假期最后一天,完成了微信公众号的对接,可以与 ChatGPT 对话聊天啦!

可以预见的是,会有越来越多的生成式OpenAI服务诞生,并且也有越来越多的场景开始接入。已经有很多小伙伴所在的公司开始要求会做 ChatGPT 开发,并且能接入到自家公司的客服回复、产品介绍、文案编写等场景中。

所以学习这样开发技术,等同于学习了一项工作经验技能。尤其是在和小傅哥这样高质量的架构师学习,学到手不只是业务代码,还有高质量的架构设计和编码经验。—— 否则你可能根本没有地方看到这样优秀的应用级项目代码!

一、我的假期

这有点像一个假期旅游计划,但我的旅游是在代码中!

这趟车,本身的核心是关于微服务应用体系的构建,通过讲解配置DockerNginxSSL等环境以及开发出鉴权认证微信公众号企业微信支付宝交易等模块的方式,完善体系的物料服务。而 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


  1. 在基础设置的基本必备服务搭建后,会进入接口鉴权的简单开发,这个模块开发后,大家就可以简单的使用了小傅哥提供的 OpenAI 了接口了。—— 当然你如果自己有 OpenAI 接口,也可以直接使用。https://huggingface.co/ 也提供了一些可以免费使用的简单 Open-API
  2. 有了这部分内容的使用,后续会进入 API-SDK 的开发,以及网页的简单开发。通过这样的开发构成一套基本的模块服务。ChatGPT-WEB-UI -> API-SDK -> 鉴权 -> OpenAI 的使用。
  3. ChatGPT-WEB-UI 流程跑通后,就可以逐步扩展其他服务模块。让业务与场景结合,如关注公众号、公众号回复、企业微信机器人、交易支付购买授权Token。这个过程可以让 ChatGPT-WEB-UI 与各个模块结合使用。

ChatGPT 对接微信公众号技术方案实现!的更多相关文章

  1. 基于IdentityServer的系统对接微信公众号

    业务需求 公司有两个业务系统,A和B,AB用户之间属于多对一的关系,数据库里面也就是两张表,A表有个外键指向B.现在需要实现以下几个功能. A用户扫描B的二维码,填写相关的注册信息,注册完成之后自动属 ...

  2. PHP应用如何对接微信公众号JSAPI支付

    微信支付的产品有很多,1. JSAPI支付  2. APP支付  3. Native支付  4.付款码支付  5. H5支付. 其中基于微信公众号开发的应用选择“JSAPI支付“产品,其他APP支付需 ...

  3. 苹果CMSv10对接微信公众号教程

    首先声明下,对接公众号的话需要自行注册公众号“订阅号”  对接失败的原因大多是域名变红导致!简单的测试方法就是把域名链接发给qq好友或是qq群里看看有没有变红 域名变红以后大概率不会对接成功的,请知悉 ...

  4. Java对接微信公众号模板消息推送

    内容有点多,请耐心! 最近公司的有这个业务需求,又很凑巧让我来完成: 首先想要对接,先要一个公众号,再就是开发文档了:https://developers.weixin.qq.com/doc/offi ...

  5. 个人微信公众号搭建Python实现 -开发配置和微信服务器转入-配置说明(14.1.2)

    @ 目录 1.查看基本配置 2.修改服务器配置 3.当上面都配置好,点击提交 4.配置如下 1.查看基本配置 登录到微信公众号控制面板后点击基本配置 这里要讲的就是订阅号 前往注册微信公众号 2.修改 ...

  6. 微信公众号支付(JSAPI)对接备忘

    0 说明 本文里说的微信公众号支付对接指的是对接第三方支付平台的微信公众号支付接口. 非微信支付官方文档里的公众号支付开发者文档那样的对接.不过,毕竟腾讯会把一部分渠道放给银行或有支付牌照的支付机构, ...

  7. 微信公众号【阿里技术(ali_tech)】历史文章整理

    简介 来自微信公众号: ali_tech 阿里巴巴官方技术号,关于阿里的技术创新均呈现于此. 本内容来自微信公众号的分享,最后更新时间2019-10-26,请关注对应公众号接收最新分享,定期同步地址: ...

  8. the5fire博客对接微信公众平台接口 | the5fire的技术博客

    the5fire博客对接微信公众平台接口 | the5fire的技术博客 the5fire博客对接微信公众平台接口

  9. 树莓派与微信公众号对接(python)

    一 内网穿透,让外网可以访问树莓派 二 树莓派对接微信 需要安装webpy和python-lxml git clonegit://github.com/webpy/webpy.git ln -s `p ...

  10. 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)

    微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...

随机推荐

  1. Go--时间日期相关

    1 获取当天零点的时间戳 //当天0点的时间戳 //获取当前时间 t := time.Now() nowTime := time.Date(t.Year(), t.Month(), t.Day(), ...

  2. 【每日一题】15.Xorto (前缀和枚举)

    补题链接:Here 题意:选取任意不重叠的两个区间,使异或结果为 \(0\) 样例:\(1,2,3,4,5,5\) 在样例中我们可以选取 \(1,2,3\) 和 \(5,5\) 就是满足题意 思路:相 ...

  3. CodeCraft-21 and Codeforces Round #711 (Div. 2) A~C 个人题解

    补题链接:Here 1498A. GCD Sum 题意:给定一个 gcdSum 操作:\(gcdSum(762) = gcd(762,7 + 6 + 2) = gcd(762,15) = 3\) 请问 ...

  4. 畅捷通的 Serverless 探索实践之路

    作者:计缘 畅捷通介绍 畅捷通是中国领先的小微企业财税及业务云服务提供商,成立于2010年.畅捷通在2021年中国小微企业云财税市场份额排名第一,在产品前瞻性及行业全覆盖方面领跑市场,位居中国小微企业 ...

  5. vue 引入echars 亲测版

    网上找了很多例子,其中有修改main.js的配置的,反正我没搞成功,最后实验成功的步骤如下 1.首先创建一个Vue CLI 的工程 . 注:具体步骤查看以前的博客 https://www.cnblog ...

  6. vue.js从输入中的contenteditable元素获取innerhtml

    <div class="actual-score" :contenteditable="$route.params.mode === 'edit'" v- ...

  7. 每天学五分钟 Liunx 0011 | 服务篇:进程

    1. 进程 程序放在硬盘中,在运行它的时候加载到内存,在内存里程序以进程的方式运行,进程有唯一的 ID ,叫 PID.   写个简单的 Hellow world 程序,让它产生 PID: [root@ ...

  8. MySQL的SQL优化常用30种方法[转]

    MySQL的SQL优化常用30种方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或< ...

  9. Linux-文件权限-rwx-chmod

  10. [转帖]Oracle 性能优化 之 游标及 SQL

    https://www.cnblogs.com/augus007/articles/9273236.html 一.游标 我们要先说一下游标这个概念. 从 Oracle 数据库管理员的角度上说,游标是对 ...