作者:小傅哥


博客: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. freeswitch配置SBC实例

    概述 freeswitch 是一款好用的开源软交换平台. 随着voip客户的发展和运营商网络的升级换代,SBC在对接测试中的应用场景越来越多. freeswitch通过简单的安装配置即可满足大部分SB ...

  2. Java中的日期计算

    Java中的日期计算:详细指南 日期计算是Java编程中的一个常见任务,无论是在日常应用开发还是在企业级系统中.本文详细介绍了如何在Java中进行日期计算,包括添加天数.计算两个日期之间的差异以及格式 ...

  3. shell脚本(4)-格式化输入

    一.read命令 1.概念: 默认接受键盘的输入,回车符代表输入结束 2.read命令选项 -p:打印信息 -t:限定时间 -s:不回显 -n:输入字符个数 3.举例说明 (1)模拟登录 [root@ ...

  4. 机器学习-无监督机器学习-LDA线性判别分析-25

    目录 1. Linear Discriminant Analysis 线性判别分析 1. Linear Discriminant Analysis 线性判别分析 经常被用于分类问题的降维技术,相比于P ...

  5. pojo层、dao层、service层、controller层的作用

    分层解耦介绍 1.pojo层(model) 实体层 数据库在项目中的类 model是模型的意思,与entity.domain.pojo类似,是存放实体的类. 类中定义了多个类属性,并与数据库表的字段保 ...

  6. 浪潮CE3000F飞腾PC安装UOS/银河麒麟双系统的过程

    浪潮CE3000F飞腾PC安装UOS/银河麒麟双系统的过程 背景 为了进行兼容性验证, 部门采购过一批浪费CE3000F的PC机器. 前期系统安装的是UOS, 但是有同事借走机器后重装了银河麒麟V10 ...

  7. [转帖]资料整理——Oracle版本历史(很全面)(Releases and versions of Oracle Database)

    资料来源: https://en.wikipedia.org/wiki/Oracle_Database Oracle Database Version Initial Release Version ...

  8. Intel 移动CPU天梯榜

    Intel酷睿i9-13980HX 2023 2121 Intel酷睿i9-13900HX 2023 2051 Intel酷睿i9-13950HX 2023 2005 4 + Intel酷睿i9-12 ...

  9. Oracledb_exporter 获取表大小信息的简单方法

    Oracledb_exporter 获取表大小信息的简单方法 背景 用我儿子的现状作为背景: 我爱学习, 学习让我妈快乐. 下载exporter exporter 可以在github上面下载最新版本是 ...

  10. [转帖] 拒绝蛮力,高效查看Linux日志文件!

    https://www.cnblogs.com/codelogs/p/16410363.html 原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 日常分析问题时 ...