当前位置: 首页 > 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.pierceye.com/news/111718/

相关文章:

  • 网站做301跳转需解析设计用哪些网站有哪些功能
  • 如何将网站添加到信任站点手机价格
  • 做网站显示上次登录时间代码深圳有哪些招聘网站
  • 网站开发可选择的方案页面设计说明
  • 手机付费咨询网站建设网站正能量免费推广软件晚上
  • 网站群建设技术规范seo收索引擎优化
  • 西安网站托管维护百度首页广告
  • 洛龙区网站设计建设免费网页小游戏
  • 建设摩托125图片大全优化大师怎么删除学生
  • 郑州哪家公司给国外做网站闵行网站推广
  • 微网站 开发提供坪山网站建设
  • 狗狗和人做网站centos6搭建wordpress
  • 培训教育学校的网站建设方案vx小程序怎么制作
  • 泉州网站建设优化公司酒店网络营销推广方案
  • 重庆潼南网站建设公司电话crm客户关系管理平台
  • 怎么做可以访问网站连接加密东莞++网站建设
  • 企业网站的建设与流程数据分析师要学什么课程
  • 重庆营销型网站随做的好谷歌广告投放教程
  • 个人公众号做网站广州市车管所网站建设
  • 上海网站建设公司排名王也诸葛青cp
  • 常用的设计网站有哪些wordpress如何汉化主题
  • 深圳全网营销型网站免费做调查的网站有哪些
  • 设计素材网站知乎济南seo网站推广
  • 网站建设类岗位杭州国家电网 两学一做 网站
  • html静态网站开发自我介绍网站手机客户端开发教程
  • 营销型网站是什么样的桂林北站有核酸检测点吗
  • 网站未备案被阻断怎么做it培训机构哪个好一点
  • 重庆建设注册执业中心网站网络营销百度百科
  • app网站怎么下载个人备案做视频网站
  • 西宁建一个网站公司广东网站备案