前言
ChatGPT是一款非常流行的社交媒体应用程序,它可以让用户在全球范围内与其他用户进行交流和互动,分享他们的想法、观点和经验。ChatGPT的成功得益于它的许多独特的功能和优势。它 涵盖了各种各样的话题和主题,从科技和商业到娱乐和文化,从时事新闻到个人经历,用户可以在这里找到自己喜欢的内容,并且与其他用户分享和交流。除此之外它还具有很强的社交性和互动性。用户可以与其他用户进行私人聊天,还可以在公共聊天室中与其他用户进行交流和互动。
课程介绍
这个课程是零声学院刚出的新课程,在零声的QQ群里已经在使用这个gpt机器人了,实用性还是很不错的,下面就是qq群里的gpt回答问题的截图。
1、设计思路
(资料图片)
1.基于开源项目开发和部署chatGPT项目 2.微服务开发将项目拆分为若干个服务 服务实现tokens计数功能 服务实现境外chatGPTAPI访问 服务实现聊天记录持久化 服务实现敏感问题识别与过滤 服务实现关键词提取 服务实现对chatgpt访问的封装 服务实现公众号与企微接口调用凭据的刷新 实现web协议解析 开源项目实现QQ服务器代理 实现OQ协议解析 实现公众号协议解析 实现企业微信协议解析 为数据库用于数据持久化 力kv缓存用开项目数据缓存场景 swarm集群为容器化部署平合 用手锁目代码管理
2、web、qq、公众号、企微
1.实现与chatGPT的对话需求 2.支持开启和关闭chatGPT角色扮演模式 3.实现聊天上下文发送并支持群组上下文 4.支持web端匿名访问上下文发送 5.实现敏感问题的识别与过滤 6.实现问题的关键词提取 7.实现chatGPT请求与响应token计t数 8.聊天记录持久化到数据库 9.支持web端请求流式响应 10.支持分布式部署方便横向扩展
3、环境要求
1.腾讯云购置境外云主机 编译环境安装 安装以及docker swarm集群初始化 社区版安装配置
私有注册中心搭建
与redis 准备
编译运行开源的chatgpt-web 8 Windows编译运行开源的chatgpt-web
4、后台服务
(1)tokenizer计数服务 是什么 解决了什么问题 的技术边界 4.虚拟机与容器的区别 的基本语法 镜像的分类 镜像构建流程 build 构建缓存逻辑 镜像分层原理 健康检查的配蛋 11 tokenizer镜像枸建 run指会的基本使用逻辑 13.容器的隔号与Linux namespace 14. 容器的资源限制与Cgroup控制組
(2)chatgpt-proxy外代理服务
框架Basic Auth鉴权 框架路由与controller 代理chatgptAPI 框架中间件编程气 Bearer Token鉴权 5.配置文件解決方案viper 与lumberjack日志滚动记录 API参数释义及使用 测试框架功能测试 测试框架性能测试与并发测试 性能分析指标以及常用指令 11.服务的限流以及限流原理 多阶段定义以及构建 ADD 与COPY的区别及用法 CMD 5 ENTRYPOINTS区别及用法 私有注册中心的使用 service 服务更新与回滚策略 service 配置文件的更新与删除 service 服务健康检查的配置
(3)chatgpt-data数据服务 1.数据库的选择与数据库设计 环境安装与使用流程 协议以及服务定义 Server端实现以及依赖注入 Server端单元测试 Keepalive保活策略以及客户端强制策略 /MTLS/OAUTH服务通信安全策略 metadata上下文数据传输 单丁CP连接多路复用实现健康检查机制
(4)sensitive-words敏感词识别服务 1.二叉搜索树与词库重排 2.敏感词识别服务的实现 3.敏感词识别服务打包与部署
(5)keywords关键词提取服务 1.关键词提取服务的实现 2.关键词提取服务打包部署
(7)chatgpt-service服务 微服务项目脚手架搭建 2.服务的设计逻辑与思路 APi响应数据协议解析 4.服务端基本请求流程实现 连接池气上下文管理 6.携带上下文发送请求 客户端连接池以及gRPC 服务的接入
(8)crontab定时任务服务 工作流程 2.微信公众号SDK接入定时获取调用凭据 3.企业微信SDK接入定时获取企微调用凭据 服务对外提供调用凭据的访问 5.定时任务服秀的打包和部署
5、chtagpt客户端
(1)web
日志框架的接入 配置文件解决方案的接入 数据协议解析 实现gRPC客户端连接池接入gRPC Server 框架静态资源文件部署 build 参数化构建
(2)QQ
协议是什么 Http与HTTP webhook通信 正向WebSocket与反向WebSocket通信 事件、动作请求与动作响应 基本数据类型 的实现go-cqhttp接管QQ 7.开源组件快速挤入chatgpt实现QQ消息回复 8.实现WebSocket Server 用户cqhttp反向Websocket
(3)微信公众号
1.公众号接口测试号申请 2.公众号关注事件推送以及XML消息解析与回复 3.普通消息接收以及XML解析与文本消息回复 实现grpc客户端连接池接人后端服务 5.通过客服消息异步发送chatgpt回复
(4)企业微信
1.企业微信应用创建及应用配置 2.普通消息接收以及XML解析与文本消息回复 实现grpc客户端连接池援入
6、服务运维
反向代理4个chatGPT客户端 stack 以项目为维度部署服务实现服务发现 与gitlab-runner 实现持续集成
7、部署架构图
8、总结收获
1、公众号、企微项目开发经验
2、微服务项目服务经验
3、nginx、docker、gitlab项目运维实战
4、中间件redis与mysql实战应用
5、gin、gRPC、viper、logrus、crontab工程组件实战项目
需要了解的朋友直接私信我哈