百度智能云千帆 AppBuilder 构建 AI 原生应用开发新范式
本文整理自 2023 年 12 月 20 日举办的「2023 百度云智大会·智算大会」主论坛,百度智能云技术委员会主席孙珂的主题演讲《AI 原生时代的应用构建》。
2023 年对于 AI 工作者来说是非常不平凡的一年,这一年算是 AI 原生时代的起点。
对百度智能云来说,这一年非常卷。从年初大家可能还不知道大模型是什么的时候,我们开始卷怎么选模型、怎么评模型,再往后大家大概知道大模型可以干什么了,我们开始卷怎么训练模型。而再往后发展的时候,大家也不再过度关注如何训练模型,更多开始关注 AI 时代下非常关键的事情——怎么基于模型做应用。这也是今天我要给大家带来的分享,就是 AI 原生时代的应用如何开发。
先来看下面这张图。下图是在过去三个月时间内,关于 AI 原生应用各种各样的需求关键词。比如说希望推荐简历、做英语口语的交流、协助创作智能海报、写 PPT、生成工作日报等。我们可以看到,大家对 AI 原生时代能够带来什么已经迸发出非常多的想象力。这也意味着,AI 原生应用需求的爆发,我们正在加速奔跑进入繁荣的 AI 时代。
当有了这么多应用需求后,我们接下来要面临的问题是:如何用大模型开发这些 AI 原生应用。
过去一段时间里,在跟很多开发者交流后,我们发现用大模型开发 AI 原生应用还有很多问题需要解决。
大家可以看一下这张图,在最下面的大模型和我们预期的繁荣——数以百万计的 AI 原生应用之间,还存在很多问题。比如搭建 AI 原生应用的时候,能否快速找到一个适用的应用原型;比如在让大模型执行一些复杂的任务时,我要怎么写对应的 Prompt?再比如面对老生常谈的大模型的幻觉问题,我们应该用什么样的工程架构才能控制幻觉。
除此之外,大家知道最近 Agent 非常火,Agent 有一个亟待解决的问题,就是如何管理 Agent 的记忆。 Agent 在 10 步、20 步、100 步之前到底做过什么、说过什么话,并如何有效利用到任务的处理过程中去。
下图是 10 月 17 号在百度世界大会上发布的产品「智能数据分析」。以一个实际场景来举例,用户希望了解鲜草莓蛋糕的损耗率。我们的期望是让大模型能够很轻松的理解这样一个问题,并且直接去生成一段查询 SQL,然后把相关的结果计算或者解释出来。
但是我们要知道,如果直接给用户提供 AI 原生应用,用户只会提最右边的问题。这个过程中,需要工程师在系统内部做更多更复杂的事情。我们可以看一下左边,这是工程师在系统里面写一个 SQL 查询的 Prompt 所需要做的工作,不光只是包含用户的这样一条问题,他还需要把整个数据库的 Schema 拿出来,把表名以及各种各样数据项的解释说清楚,同时还需要添加一些特殊的要求,比如食材包含草莓才能使用,比如损耗率的相关定义。所有东西融合到一起,做整体的 Prompt 提交给大模型,大模型才会产出像图上这样的 SQL 语句。
这个时候大家会发现,如果直接通过在线大模型 API 解决类似的问题,说实话这个难度有点高了。因为并不是每一个用户都能够把如此复杂的 Prompt 写出来,就算用户会写,也不可能用户每次都要构建这么复杂的 Prompt。这时,就需要我们提供一些中间组件解决掉 NL2SQL 的问题。该组件包含了大模型,但是又整合了更多的工程化设计,让开发者能够更轻松在自己的系统中把 NL2SQL 或者 GBI 的能力组合到自己的应用中去。
百度智能云提供了支持 AI 原生应用开发平台 AppBuilder,整体架构如下图所示。
最底层是百度智能云的千帆大模型平台,在千帆大模型平台之上就是整套 AppBuilder,它从下向上分成了两个层面。
最下面这一层是组件层,它包含了以下三类:
多模态的能力组件:开发 AI 原生应用的时候经常会使用的 ASR、TTS 或者文生图等等一些传统的组件,也许不是由大模型驱动的,但是它是我们开发 AI 原生应用的过程中必不可少的部分。
基于大语言模型的能力组件:通过大语言模型的能力封装出来的组件,如刚才说到的 NL2SQL。这些能力正常来说是需要用写 Prompt 的方式把它提交给大模型,但现在我们把调教好的工程化的 Prompt 封装成一个又一个能力组件,这样就不需要过度通过 Prompt 和大模型做交互,更多的是在需要的时候把这些能力组件引入到自己程序里面去,就可以完成 AI 原生应用的开发。
基础组件:如基础云的存储组件或者向量数据库组件,还有包含多模态的软硬一体组件,都属于基础组件部分。这些组件整体打包提供给开发者,为开发者提供一站式的开发环境。
当然,有了这样一些组件以后,就像我们拿到散装乐高的一大袋积木一样,一些资深的开发者可以凭借自己的想象把整个场景搭建起来。但是对于更多开发者来说,还是需要去使用既定的框架,然后通过这些框架快速搭建起应用,并在框架的基础上进行各种能力的调整,便于大家更快速地搭建出 AI 原生应用。
我们在 AppBulider 平台上也提供了常见的应用框架,比如说检索增强生成(RAG),还有现在非常流行的 Agent,以及刚刚提到的智能数据分析等应用框架。
这些组件和应用框架是 AppBuilder 平台提供的核心的能力,开发者可以通过内置的两种开发形态来获取这些能力。
第一种开发形态是低代码态。顾名思义,开发者通过点选配置的简单操作就可以快速获取一个 AI 原生应用,并且生成应用后可以快速对它进行调试,然后集成到自己所需要的程序框架中。
另外一种形态是代码态。我们为所有开发者提供了可编程的完整开发套件,为开发者提供了示例代码、接口/SDK、以及完整的调试环境与 Debug 工具。其中,示例代码是全部开源的,这些代码拿到以后大家可以自行地开发调试或者替换成自己想要的任何组件,帮助开发者完成自己的 AI 原生应用的开发。
接下来,我用两个小例子给大家详细解释一下什么叫做代码态、什么叫低代码态,先来看这样一个场景。
下图是 HR 同学非常熟悉的简历筛选场景。HR 经常会从业务同学手里面拿到一份岗位描述,俗称 JD。HR 同学一般做两件事,第一仔细阅读岗位描述,然后把 JD 中的关键词一条一条搜出来,变成一个检索 Query,然后和有招聘需求的业务方确认这样的 Query 是不是能够很好地描述我们想要的候选人。确认 Query 后,HR 会拿着关键词或者 Query 到检索系统中去匹配有没有合适的候选人,并且把他认为相对合适的候选人推荐给业务方进行下一步面试。
这个过程实际上是比较繁琐的。如果要理解一篇 JD,需要 HR 对业务背景有很深刻的了解,这对 HR 提出了非常高的要求。因此,我们尝试借助大模型,通过检索的框架加上相关的组件就能够把流程快速搭建起来,让 HR 的工作变得更加快捷。
下面的视频,我们用代码态搭建了一个可满足如上需求的小系统。这个系统实际上模仿了 HR 的动作做了两件事情。第一件事情是让大模型来帮助理解岗位的描述,并且自动生成关键词。另外一个是使用大模型里面传统的 RAG 框架帮 HR 自动做简历的匹配,接下来我给大家简单演示一下这个场景。
https://cloud.baidu.com/summit/aicomputing_2023/index.html
(点击链接观看完整视频)
刚才演示的是比较简单的代码态的形态,但这里只是我们发布的所有大模型和各种能力组件的其中很小的一部分。
大家可以看下图,里面列举了目前发布的所有的开发套件,包含多模态的能力组件,有 AI 作画、传统的 OCR 在内一些识图的能力、ASR 语音识别等。除此之外,还有基于大语言模型构建的各种各样能力组件,比如说刚才提到的 Query 生成、标签抽取等能力组件。这些能力组件都是以 SDK、API 的方式提供出来,大家都可以下载并使用。
除此之外,我们还提供了百度智能云的能力套件,比如 BES 和多模态软硬一体套件。
在组件之上还开放了包括了一系列应用示例代码,这些代码大家都可以在我们的平台上面直接通过开源的网站下载到,并且可以快速进行修改并关联到能力组件中。
这里面尤其要向大家着重介绍下刚才提到的 BES(Baidu Elasticserach),大家知道 Elasticsearch 是非常好用且常用的检索型数据库。在今天我们也全面升级了 BES,变成高性能、向量检索的版本。它可以更加有效的支持检索增强的方案,扩大大模型支持的边界,同时提供更多的能力有效保护私域数据的安全。
当然,这里面实际上有非常多特性,比如提供大量开箱即用的向量算法,具备领先的性能和性价比,同时支持分布式可扩展和存算分离架构,欢迎大家来到我们的平台上试用。
演示完代码形态后,接下来我为大家介绍下一个场景。再回到刚刚的招聘场景。面试官在面试之前要做一些准备,首先拿到简历,读一下简历划一些重点,同时想一想自己的 JD 和这份简历有多少匹配点;再根据简历的情况思考一些面试问题,进行面试前的准备,准备好之后再进行真实的面试。
这个过程我们也希望用大语言模型来简化一下,让面试官用更少的时间来更轻松地准备面试。这里面的需求包括让大模型根据岗位的描述整理简历,找出面试过程中的重点。
除此之外,我们还希望大模型提供推荐一些面试问题,当然,因为刚才已经演示过代码的形态,我们再用低代码的形态来实验一下,看能否实现这样的场景。
https://cloud.baidu.com/summit/aicomputing_2023/index.html
(点击链接观看完整视频)
刚才给大家展示的是智能体,即 Agent Builder 的应用能力。这里集成了中文版代码解释器,还融合了百度搜索、文生图在内的一系列工具,大家有兴趣都可以来体验。
除此之外,我们还提供了更多的能力,比如检索增强的框架,这里面实际上支持在通过 GUI 的操作可以高效的实现检索的调优;比如融合了百度的搜索结果,大家可以直接在公网上获取各种各样信息;再比如还提供了智能数据分析能力,可以支持上传一份 Excel,然后可以即算即问,得到自己专属的数据分析能力。
百度智能云还提供了更多额外能力,如风格营销文案生成、问答对生成、文本标签生成等等能力,都集成到我们的应用中心。大家可以通过简单的配置进行快速体验。
到这里,我们的 AppBuilder 现在能够给提供给开发者的产品能力已经介绍差不多了。
在 10 月 17 号的百度世界大会上,百度智能云在国内率先推出第一个大模型全链路生态支持的体系。百度智能云千帆 AppBuilder 也围绕该计划进行切实落地,为生态伙伴、创新企业、广大开发者群体提供包含赋能培训、AI 原生应用的孵化、销售商机、市场营销等全方面的支持,加速 AI 原生应用落地千行百业。
过去这一年是波澜壮阔的一年。作为 AI 工作者来说,过去 20 年远远没有这一年时间精彩,AI 技术的发展和落地在这一年得到极大的加速。未来我觉得 AI 技术和 AI 应用会更加璀璨,应该会给我们极大简化各种生产工作上的问题,带来非常灿烂的 AI 原生应用的繁荣时代。
百度智能云千帆 AppBuilder 实际上也希望在这里面扮演加速器的角色,助力所有开发者高效开发 AI 原生应用,成为大家开发 AI 原生应用的 Copilot。
END - - - - - - - - - -
推荐阅读
版权声明: 本文为 InfoQ 作者【百度Geek说】的原创文章。
原文链接:【http://xie.infoq.cn/article/15e58c552e559d2122b60ef73】。文章转载请联系作者。
评论