人机交互正在迅速经历软件开发在过去二十年中从未见过的巨大范式转变。 从传统的基于规则的系统到复杂的生成人工智能 (GAI) 模型,破译用户意图并提供准确、上下文丰富的响应的方法已变得至关重要。 在本系列文章中,我将深入探讨利用 GAI 重新构想应用程序与用户交互方式的架构。
生成式人工智能 (GAI) 具有独特的能力,可以制作未明确预编程的内容或响应。 这有利于基于聊天的直观且动态的交互。 它摆脱了传统聊天机器人或应用程序界面的僵化,提供了更加有机和人性化的对话体验。
在接下来的文章中,我将剖析使这成为可能的架构,从理解用户的意图到在执行用户预期的操作后提供适当的人工智能精心设计的响应。
让我们从基础知识开始,在第一篇文章中,我将讨论 GAI 驱动的应用程序如何具有改变人机交互的潜力。 我将以两个应用程序为例进行描述——求职板和食品配送应用程序,以及它们如何从基于 GAI 的人机交互中受益。
在接下来的文章中,我们将深入探讨由开源和 openAI 的大型语言模型提供支持的基于 GAI 的应用程序的架构。
开始吧。
NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包
生成式人工智能是人工智能的一个子集,专注于创造新内容。 无论是艺术品、音乐还是类人文本,GAI 模型都旨在生成训练数据中未明确存在的输出。 GAI 的潜力是巨大的。 它可以被视为一块画布,其边界与我们的想象力一样广阔。
为什么生成式AI会改变游戏规则?
与根据输入做出决策或预测(例如将电子邮件是否分类为垃圾邮件)的传统模型不同,生成模型会生成新内容。 这种区别具有深远的意义。 从即时制作逼真的视频游戏环境到协助艺术家和音乐家,更具体地说,改变用户与应用程序的交互,这些应用程序是多种多样的。
GAI 的美妙之处在于它在受控参数范围内的不可预测性。 它不仅选择一个响应,而且还选择一个响应。 它创造了一种类似于人类在对话中实时构建句子的方式。
人机交互正在经历重大转变。 随着我们从传统的基于规则的系统过渡到未来的生成式人工智能(GAI)框架,重点越来越依赖于它们阐明用户意图的能力。 这些下一代 GAI 系统不仅渴望深入解释用户提示,而且渴望在系统内熟练地执行与意图一致的操作。 这一即将到来的转变有望重新定义用户体验,以前所未有的方式弥合人机交互之间的差距。
GAI 驱动的应用程序将通过以下方式改变用户交互:
在传统系统中,应用程序严重依赖固定的菜单、表单和严格的用户交互路径。 查询将匹配一组预定义的规则以生成响应。 与此形成鲜明对比的是,我们现代的 GAI 驱动方法模仿了流畅的对话和丰富的用户体验,就像与消息灵通的人类助手进行交互一样。 该模型不仅对用户的输入做出反应,而且还对用户的输入做出反应。 它根据先前交互、当前上下文和大量训练数据的混合来理解、预测和制定独特的响应,并执行用户的预期操作。
让我们来看第一个现实世界的例子。
想象一下一个招聘网站,一个通常由列表、过滤器和表单主导的域。 在传统设置中,寻求就业的用户将使用固定标准搜索工作、浏览列表并填写申请表——这是一个静态且通常乏味的过程。
进入我们的 GAI 驱动架构。
新用户 Jane 访问了我们的求职板。 该应用程序并没有向她展示铺天盖地的表格或列表,而是友好地向她打招呼:“你好! 今天我能为您提供什么帮助吗?” 简回答道:“嗨,我正在都柏林寻找一份软件工程工作。” 系统立即识别出她的意图,查看可用列表并回复:“我在都柏林的谷歌找到了上周发布的软件工程师职位。 您需要更多详细信息或申请方面的帮助吗?”
随着谈话的进展,Jane 表达了她想更多地了解公司文化的愿望。 GAI 模型不仅仅提供通用的公司描述,还根据最近的评论、公司新闻等制定全面的答案。 随着 Jane 更新她的个人资料、询问其他职位以及导航申请流程,这种微妙的互动仍在继续——所有这些都是通过直观的、类人的对话进行的。
让我们继续下一个例子
一位新客户 Alex 登录了我们的食品配送平台。 该应用程序并没有用一系列餐厅徽标和菜单项轰炸他,而是愉快地发起:“你好亚历克斯! 快到午饭时间了。 今天想吃点快餐吗?” 亚历克斯对个性化的风格感到有点惊讶,回答道:“是的,我在想麦当劳。 他们有什么特别优惠吗?” 系统毫不犹豫地解释了他的请求,扫描了麦当劳当前的促销活动,然后回复道:“麦当劳今天以 20% 的折扣提供巨无霸套餐。 喜欢这个还是需要其他建议?”
亚历克斯很感兴趣,问道:“听起来很诱人! 但我一小时后有个会议。 需要多长时间才能到达我身边?” 由 GAI 驱动的服务员并没有给出一般性的答复,而是保证道:“考虑到您的位置和当前的交通情况,您将在大约 30 分钟内得到答复。 这应该会给您在会议之前留出充足的时间。 要不要我帮你下单?”
正如亚历克斯所证实的那样,系统询问:“您想要任何附加组件吗? 也许来一杯奶昔或一些苹果派来让这顿饭更加圆满?” 对话无缝展开,将科技的效率与用餐者互动的人性化融为一体,使 Alex 的点餐体验不仅实用,而且令人愉悦。
我们由 GAI 支持的应用程序的创新架构通过将用户界面与实时聊天对话保持一致来重新设计用户界面。 随着对话的发展,左侧查看窗格会动态反映相关信息。 例如,当用户考虑巨无霸交易时,详细信息和潜在的附加组件会出现在该空间中。 同样,当用户对我们的求职板上的某个职位表示兴趣时,该窗格会立即显示有关该职位的相关详细信息。
基于 GAI 的应用程序架构利用现代单页应用程序 (SPA) 范例,植根于微服务基础设施。 这种设计选择促进了模块化可扩展性、故障隔离并优化了资源利用率,这对于高性能云原生应用程序至关重要。 用户界面由两个窗格组成:聊天窗格和用户视图窗格。 这种双面板配置确保同步和高效的通信,促进与正在进行的对话并行的实时信息显示。
聊天组件集成了开源LLM(LLAMA-2)、LLAMA-Index和ChatGPT。
在聊天组件中,有三个不可或缺的子组件:
为了提供基于 GAI 的应用程序架构基础的整体视图,我将在后续部分中详细介绍参考蓝图。 该蓝图阐明了各种功能组件和服务模块之间的结构和交互模式。 此外,它还提供了对数据流、组件依赖性以及支撑应用程序稳健性和效率的技术复杂性的见解。
基于GAI的应用架构概述
现在让我们深入了解参考架构。 首先,为了了解该架构的组件,我们来谈谈“基于生成式AI的应用程序堆栈”。
我们的参考应用程序架构基于 Matt 和 Rajko 的文章中详细介绍的概念。 我参考了 Matt Bornstein 和 Rajko Radonovic 撰写的文章“LLM 应用程序的新兴架构”。
应用程序堆栈由三个主要部分组成:
在本系列中,我们不会讨论前两部分,因为它们超出了范围,但在招聘板用例的参考架构的实现中,我们将介绍 nextjs 和基于 AWS lambda 的实现。
我们基于生成人工智能的应用程序的核心是聊天引擎框架。 该框架将生成式人工智能的强大功能与现代网络平台的可用性无缝集成。 聊天引擎由四个主要组件组成:聊天API服务器、意图分类器以及提示选择服务和提示执行服务。
让我们更深入地研究构成该引擎的底层组件。
总之,聊天引擎架构封装了一个简化的流程:从理解用户意图到生成精心设计的响应,确保用户体验既直观又富有洞察力的对话。
在本系列的下一篇文章中,我们将讨论意图分类器的实现。
原文链接:生成式AI应用参考架构 - BimAnt