【小白晋级大师】如何设计一个支持10万人用的ChatGPT对接系统

简介: 之前给大家写了ChatGPT对接企业微信的教程,文章结尾说了教程只能适用于小规模使用,现在来写大规模使用的教程

不停地书写,方能不失在人海茫茫。

1.前言

之前给大家写了ChatGPT对接企业微信的教程,

文章结尾说了教程只能适用于小规模使用,网上能找到的其他ChatGPT对接钉钉、飞书、自定义网页等等教程,原理都是一样的,写个中转程序,在ChatGPT和你用的交互工具之间中转一遍。是个简单的单体系统,逻辑看下图

单体架构图.png

这种单体系统设计简单,很快就能开发完成并应用。缺点就是性能瓶颈限制在单台服务器上,无法支持高并发场景,举例说明,现在有10万人要用这个系统,系统会直接崩溃。

2.分布式ChatGPT对接系统

基于此,我们需要设计一个分布式系统,整体架构看下图

架构图.png

2.1 交互层

交互层就不多说了,就是用户直接使用ChatGPT的工具,可以是企业微信、钉钉、网页等等。这些工具都有对应的官方文档,简单说就是输入和输出接口

2.2 客户端层

  • 负责接收交互层传入的文本信息,转发给服务端;
  • 同时接收服务端的响应信息,回传给交互工具;
  • 缓存对话上下文,支持连续对话

这里的构想是客户端有多个请求入口,比如每个公司都有自己的企业微信,给每个公司分配指定IP的客户端。

这样做的好处是流量入口不会单一,不需要再做一层负载均衡流量分发。链路图可参考下面:

客户端层.png

2.3注册中心

注册中心的作用:

  • 服务注册:服务端启动后,将自己的信息注册到注册中心,包括IP、端口、服务接口等。
  • 服务发现:客户端通过注册中心获取路由表,查询服务端的IP和端口,从而调用服务
  • 负载均衡:平衡流量,将客户端请求服务端的流量按特定分发策略,分配到不同的服务器上
  • 服务健康检查:维护注册中心和服务端的心跳检查,在某个实例故障时能从注册中心上移除,避免服务调用失败

简单地说,有了注册中心后,可通过给服务端水平扩容提升系统的并发能力,能支持更多人使用系统。

2.4 服务端

服务端作用:

  • 接收客户端传入的信息,包括:对话上下文、GPT key
  • 和ChatGPT API交互,接收API回传的信息文本,并回传给客户端
  • 服务降级,支持手动降级,在ChatGPT不可用时,能降级到ChatGLM、文心一言等等对话大模型,保证对话功能仍然可用。

2.5 数据存储层

主要作用:

  • 存储对话上下文数据

  • 支持数据设置过期时间,到期自动删除

  • 要求读取数据和写入数据响应时间短

3.技术选型

系统整体架构设计完后,具体用哪种语言去实现就根据自己擅长的了,这里说说我用的

  • RPC框架:Dubbo
  • 编程语言和框架:Java8、SpringBoot
  • 存储中间件:Redis
  • 注册中心:Nacos
  • 链路追踪和服务监控:Skywalking(可选)
  • 代码托管和自动化部署:阿里云-云效

4.具体实现

目前计划按上面的架构设计实现一版系统,有使用需求的可以联系我

后续还会更新架构中用到的技术点的文章,欢迎大家持续关注

相关文章
|
7月前
|
开发框架 .NET Java
高校在线心理咨询系统的设计与实现(论文+源码)_kaic
高校在线心理咨询系统的设计与实现(论文+源码)_kaic
高校在线心理咨询系统的设计与实现(论文+源码)_kaic
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
告别繁琐阅读,阿里通义智文阅读助手带您轻松畅游知识海洋!
阿里通义智文阅读助手是款AI阅读辅助工具,能高效解析PPT、图片、PDF等,提供智能摘要、关键词提取等功能。用户可上传图片文件,助手自动识别文字,支持图表识别和全 文搜索。此外,它还具备智能问答功能,帮助用户理解和提问文档内容。工具支持多种文件格式,但有每日使用限制。由木头左分享,期待更多精彩!
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
还不懂如何与AI高效交流?保姆级且全面的chatGPT提示词工程教程来啦!(一)基础篇
这篇文章是一篇保姆级的教程,旨在全面介绍如何与AI进行高效交流,包括ChatGPT的前世今生、应用场景以及提问的基础技巧。
还不懂如何与AI高效交流?保姆级且全面的chatGPT提示词工程教程来啦!(一)基础篇
|
6月前
|
机器学习/深度学习 存储 人工智能
【AI】告别繁琐阅读,阿里通义智文阅读助手带您轻松畅游知识海洋!
阿里通义智文阅读助手是AI驱动的阅读辅助工具,能识别并解析PPT、图片、PDF等文档,提供摘要、关键词提取、语义理解与问答功能。用户可上传图片文件,工具自动识别文字,支持图表识别和全文搜索。此外,它还具有智能问答功能,能回答用户关于文档内容的问题。工具兼容多种文件格式,但有每日使用和存储限制。作者木头左邀请用户体验并期待下次分享。
【AI】告别繁琐阅读,阿里通义智文阅读助手带您轻松畅游知识海洋!
|
5月前
|
Web App开发 机器人
小白一学就会小红书全自动写文发文机器人-爆文仿写笔记(二) -附提示词
小白一学就会小红书全自动写文发文机器人-爆文仿写笔记(二) -附提示词
127 1
|
4月前
|
人工智能 自然语言处理 数据挖掘
🎯直击要害!生成式模型新手村毕业攻略:打造高效提示词秘籍📚
【8月更文挑战第1天】踏入生成式模型的世界,新手常感迷茫。高效提示词是通往AI创意大门的钥匙。首先要理解提示词的本质:它是你意图的载体。明确目标后,构建提示词框架:设定主题、描绘场景、添加情节线索,并指定风格。实战演练中不断优化提示词,激发模型潜力。掌握这些技巧,你就能在AI创作之路上越走越远,征服这片新大陆!
54 0
|
6月前
|
人工智能 自然语言处理 算法
如何利用【抖音-豆包】进行文章撰写与技能学习
如何利用【抖音-豆包】进行文章撰写与技能学习
169 1
|
人工智能 自然语言处理 IDE
人手一个编程助手!北大代码大模型CodeShell-7B开源,魔搭社区最佳实践来了!
CodeShell是北京大学知识计算实验室联合四川天府银行AI团队研发的多语言代码大模型基座。
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT最强专业学习资料集锦
本文旨在整理一份可供参考和学习的专业ChatGPT相关资料,包括ChatGPT相关论文、Github项目、以及当前市场上出现的ChatGPT相关产品等。
ChatGPT最强专业学习资料集锦
|
机器学习/深度学习 人工智能 自然语言处理
我失业了?| ChatGPT生信分析初体验
我失业了?| ChatGPT生信分析初体验
130 0