当前位置: 首页 > news >正文

个人备案网站免费注册个人电子邮箱

个人备案网站,免费注册个人电子邮箱,wordpress知更鸟 破解,番号网 wordpressChatGPT 是一个基于 LLM 的对话系统。本文将介绍如何构建一个类似 ChatGPT 的系统#xff0c;包括从模型、推理引擎到整体架构的构建过程。 系统概览 让我们关注最核心的对话部分。 如上图所示#xff0c;web 负责与用户进行交互#xff0c;server 接受用户的对话请求包括从模型、推理引擎到整体架构的构建过程。 系统概览 让我们关注最核心的对话部分。 如上图所示web 负责与用户进行交互server 接受用户的对话请求并将消息传递给 inference runtime推理运行时/推理引擎。inference runtime 加载 LLM 进行推理生成回复并返回给用户。这是一个最基本的系统框架。 会话与历史消息管理 然而上述系统存在一个致命缺陷缺乏用户的会话与历史消息的管理。常见的 inference runtime 推理引擎本身是无状态的不直接支持多轮对话的历史消息存储。这意味着在单个会话中会“遗忘”之前的上下文信息。 为此我们需要对系统做一些必要的改进。 如上图所示我们增加了数据库组件来存储用户的会话和历史消息。 在通信流程上web 与 server 之间可使用 HTTP 协议我们可以设计几个基本的 REST API POST /chat开启新的会话。POST /chat/:chatID/completion在已有的会话中继续对话。GET /chats获取会话列表。DELETE /chat/:chatID删除某个会话。 在数据存储上server 将数据持久化到数据库中。对话消息的数据结构则应该包括 userID、chatID、userMessage、assitantMessage 等基本元素。 server 向 inference runtime 发送数据时使用统一的 prompt 格式例如 [{role: system,content: You are a helpful assistant.},{role: user,content: Hello!},{role: assistant,content: Hello there, how may I assist you today?},{role: user,content: How are you?} ]其中 role 代表不同的角色system 设定对话的系统背景user 代表用户输入assistant 代表模型输出。 至于历史消息如何处理往往有多种方式 直接填充 prompt把历史对话按照 prompt 的格式进行 user、assistant、user、assistant 不断填充。这种方式只适用于历史消息较少的情况。动态调整上下文比如舍去较早的历史消息由于 LLM 存在 token上下文窗口的限制有时候不得不这么做。对历史消息进行总结使用推理引擎生成对话总结压缩信息后再填充 prompt。 至此我们完成了会话管理与历史消息处理实现了一个最基本的系统框架。 系统扩展 当用户数量较多时上述系统需要进一步扩展。 增加 cache 缓存 我首先想到的是增加 cache 缓存避免重复的推理过程。假设缓存的 key-value 分别是用户的提问和 AI 的回复缓存命中则需要看用户提问的语义是否相似。例如如果用户问了两个意思相同但表述不同的问题系统可以返回相同的响应。 这种缓存设计不同于传统系统如下图所示 除了 cache 模块还需要引入 embedding runtime 和 text embedding model用于将文本转换为 vector 向量。当两个向量相近意味着文本语义相似。vector storage search 模块则用于向量存储和检索。 在增加缓存时还需考虑缓存的范围——是单个用户范围还是全部用户范围。如果是单用户范围缓存价值可能较小因为同一个用户反反复复问同一个问题的概率很低若是全用户范围则可能涉及到信息泄露我们不确定另一个用户的回复是否包含敏感信息。 综上所述我个人建议先做数据分析和验证之后再考虑是否使用缓存。 弹性伸缩 弹性伸缩也是应对高并发的重要手段。我们的 server 是无状态服务可以很好地扩缩容。 在架构上增加 gateway 进行负载均衡。inference runtime 也是无状态的因此也支持弹性扩展但其硬件资源消耗更高服务的响应能力通常低于 server。为应对流量高峰并保证推理服务稳定性可增加 MQ 消息队列同时将请求处理从同步变成异步从而提升系统的抗压能力。 生产就绪 上述系统架构完成了逻辑设计后续需完善以下方面以实现生产就绪 技术选型选择数据库如 PostgreSQL 或 MongoDB、推理引擎如 llama.cpp、HuggingFace Transformers、vLLM 等将逻辑组件映射为实体组件。可观测性增加 log、trace、metrics以及监控和告警。CI/CD 和部署环境配置自动化部署和持续集成流程选择合适的部署环境如云平台、Kubernetes 等等。 总结 本文介绍了自建 ChatGPT 系统的核心架构和扩展方式。从基础的对话流程入手设计了包含会话管理和历史消息存储的系统框架并讨论了系统的扩展策略。 (关注我无广告专注技术不煽动情绪也欢迎与我交流或推荐工作) 参考资料 https://github.com/ggerganov/llama.cpphttps://platform.openai.com/docs/api-reference/chat/create
http://www.zqtcl.cn/news/111718/

相关文章:

  • 关于h5的网站目录 首页 wordpress
  • 包头网站建设推广手机网站开发介绍
  • 网站推广设计用那种语言做网站比较好
  • 手机品牌网站如何做好网站内更新
  • 订餐网站模板下载毕业设计动漫网页设计
  • 网站阵地建设管理办法移动端网页界面设计
  • 网站和做游戏重庆市建设工程信息网安全监督特种人员
  • 沈阳网站建设活动方案部分网站打不开的原因
  • 网站维护界面设计做的网站一直刷新
  • 国外网站 国内访问速度土木工程毕业设计网站
  • 宿迁网站建设制作中国广告设计网
  • 上门做美容的有什么网站微信网页版本
  • 专门做餐饮运营的网站网站开发相关知识
  • 石家庄门户网站建设免费简历模板的网站
  • 微网站建设市场如何做好平台推广
  • 网站不备案做优化小程序开发前景怎么样
  • 美丽说网站优化百度关键词优化
  • 同性男做的视频网站赶集网招聘最新招聘附近找工作
  • 做挖机配件销售的网站oa办公系统软件哪家好
  • 聊城设计网站商务网站的特点
  • 厦门做个网站多少钱工程建设范围
  • 百度推广官方网站在哪里制作网页
  • 济南集团网站建设方案沈阳手机网站制作
  • 网站备案号注销的结果做网站的外包能学到什么
  • 在线购物网站开发项目网站建设电话推广话术
  • 网站主体信息太原站扩建
  • 西平县住房和城乡建设局网站空间商网站
  • p2p网站建设cms一键生成图片
  • 甘肃省第八建设集团公司网站能够做物理题的网站
  • 团购网站建设方案建筑工程网校官网