AI Native工程化:百度App AI互动技术实践

作者 | GodStart

导读

随着AI浪潮的兴起,越来越多的应用都在利用大模型重构业务形态,在设计和优化Prompt的过程中,我们发现整个Prompt测评和优化周期非常长,因此,我们提出了一种Prompt生成、评估与迭代的一体化解决方案,以解决Prompt测评和优化过程中的挑战,加快业务和大模型结合的速度。

全文6796字,预计阅读时间17分钟。

01 背景

随着大模型技术在互动AI应用中的探索和实践,我们见证了其在用户体验和平台互动氛围方面的显著成效。这种技术不仅改善了用户互动率和参与时长,还为提供更丰富的互动体验开辟了新途径。基于这一认识,我们设定了三个关键的发展目标:首先,扩大大模型在不同互动场景中的应用范围,覆盖更多的内容和用户群体;其次,提高大模型在处理各种互动需求时的能力,以适应更广泛的垂直领域;最后,持续创新和完善基于大型模型的AI应用,不断优化和重构互动模式。这些目标的实现将极大地提升用户的参与度,同时使我们的平台互动体验方面保持领先。

在这些策略的实施过程中一系列关键的挑战和痛点逐渐显现。首先是数据分散的问题,多种类型的资源数据散布在不同的消息队列中,使得数据集成变得复杂并导致了架构上的重复。其次,目前的Prompt评估过程过分依赖人工参与,这不仅降低了工作效率,也延迟了Prompt更新和部署的速度。此外,缺乏一个有效的数据飞轮机制,使我们难以获得全面和清晰的数据反馈,从而制约了对模型输出内容表现的准确评估和快速迭代决策。最后,许多基于大模型的应用需求在处理流程上高度一致,但却需要分别编写多套代码,导致了资源和时间的浪费。

为应对这些挑战,我们提出构建一个大模型应用开发实践平台。此平台旨在简化AI应用的数据集成、Prompt评估和模型迭代流程,通过消除不必要的重复和冗余操作,提高整体效率和产出效果。平台通过集中管理和分析AI产生的数据,为AI应用提供更精准的数据支持,使Prompt生成过程更加优化。这不仅加速了AI应用的迭代速度,也为持续优化模型提供了坚实的基础。通过该平台,我们期望在提供高质量AI互动体验的同时,实现AI技术的高效、可靠落地。

02 基础知识

2.1 提示工程(Prompt Engineering)

尽管一些大模型(如GPT、文心一言)拥有强大的语言理解和生成能力,但通常缺乏针对特定任务的直接优化。这时往需要通过提示工程(Prompt Engineering)优化大模型的输出。 提示工程可以帮助模型更好地理解特定任务的需求,提高模型在该任务上的性能,同时节省时间和资源,提高用户体验。

2.2 提示工程的生命周期

和传统的研发周期一样,提示工程也有用自己的生命周期,提示工程的生命周期一般分为以下几个步骤。

需求分析:确定模型需要完成的具体任务和目标,以及预期的输出标准。

数据收集与预处理:收集与任务相关的数据,进行必要的清洗和预处理。

初始Prompt设计:根据需求设定初始的Prompt。一般会根据特定的任务确定Prompt关键词,期望输出等。

测试与评估:使用设计的Prompt对模型进行测试,评估其输出质量。

Prompt优化:根据测试结果,对Prompt进行迭代优化,以提高输出的准确性和相关性。

集成与部署:将优化后的Prompt集成到实际应用中。

持续监控与调整:在实际应用中持续监控模型表现,根据反馈进行调整。

一般情况下,Prompt的测评和优化是一个不断循环的过程,直到Prompt的表现符合预期,才会进行集成和部署,在部署后也需要对生产环境所产生的数据进行及时的监控,以便进行进一步的调整和优化。

图片

△提示工程生命周期

03 大模型应用开发实践平台

3.1 平台简介

为了解决上述提到的痛点问题,我们搭建了一个大模型应用开发实践平台,此平台专为互动AI应用设计,旨在统一管理和优化基于资源信息生成的互动内容。平台实现了数据流的统一接入和大型语言模型的集中调用,极大地简化了内容生成和处理流程。该平台目前主要拥有六大能力,其整体架构如下图所示。

Prompt评估:支持根据资源类型进行精确测评,如针对高关注度资源的专项评估。通过在线数据抽样技术,确保测评结果的准确性和可靠性。

Prompt托管:提供一站式的Prompt管理服务,包括Prompt的上线和托管,确保Prompt的有效管理和应用。

资源选配:支持互动AI应用自由选择并一键接入各类资源,为不同类型的互动AI应用提供灵活的资源配置选项。

模型切换:平台提供了应用级别的底层大模型一键切换功能,应用可根据需求,在小流量和全流量环境中灵活切换底层模型。

流量控制:根据各个互动AI应用对大型模型资源的需求,实现了精细化的应用级别流量控制。

数据飞轮:支持保存请求的上下文信息,并与数据团队协作,打造应用级别的数据飞轮,帮助AI应用的速度发展。

图片

3.2 Prompt测评与发布

3.2.1 Prompt测评

大模型应用开发实践平台的推出极大地提高了Prompt测评的速度和效率,将原本依赖人工操作的繁杂过程转换为了高效的自动化流程,用户只需要提出Prompt,选择一定的测评条件后等待结果即可。通过下面的Prompt测评流程图我们不难看出该平台在Prompt测评方面的主要优点包括:

1、高效的数据选取与处理:用户可以在平台中直接选取特定类型的资源数据,如热点资源,进行测评。平台自动提取与这些资源相匹配的数据,并依据用户的配置需求快速组装prompt。这不仅提升了数据处理的速度,也保证了测评的随机性和准确性。

2、多模型同时测评的能力:平台支持同时选取多组模型进行测评,这允许用户比较不同模型的性能,确保测评结果的可靠性和客观性。这种方法有效地控制了无关变量,使测评结果更为准确和可信。

3、评测流程的整体优化:平台将测评生成的内容持久化存储到结果表中,保障了数据的完整性和可追溯性。这种优化不仅提高了测评过程的效率,也增强了评测结果的稳定性和可靠性。

图片

△Prompt测评流程

3.2.2 Prompt上线

大模型应用开发实践平台提供一站式的Prompt管理服务,包括Prompt的上线和托管,确保Prompt的有效管理和应用。如流程图所示,一旦Prompt评测完成并满足预定标准,以下步骤将被自动化执行,确保Prompt的迅速和无缝上线:

1、自动化流程启动:评测满意度达到设定阈值,人工确认后,自动触发上线流程。

2、上线前检查:系统进行最终检查,包括但不限于模型输出内容的准确性、适用性和合规性。

3、分流测试:选择性地在小流量用户群体中测试Prompt,评估其实际效果,确保其性能符合预期。

4、全流量部署:一旦分流测试表明Prompt表现良好,系统将其部署到全流量环境。

5、性能监控:Prompt上线后,平台将持续监控其性能,确保其稳定性和效率。

至此,我们的平台完成了Prompt测评和上线的全流程高效覆盖。

图片

△prompt测评上线流程图

3.2.3 打通QEP(Quality Evaluation Platform)

尽管自动化工具已经在提升效率和降低人力成本方面取得了显著成效,但Prompt的质量评估仍然依赖于人工审核。这一过程不仅耗费时间,而且容易受到主观判断的影响,限制了Prompt迭代的速度和规模。此外,随着互动AI应用的日益增长和复杂化,对于评估机制的要求也随之提高,传统的人工评估方法已难以满足现代化、大规模AI应用的迅猛发展需求。

为了解决这些挑战并进一步提升Prompt评估的自动化程度,我们决定接入QEP平台。QEP平台能够利用先进的大模型能力对Prompts的效果进行自动评估和打分,大幅释放人力资源,让开发团队能够专注于更高价值的创造性工作。通过整合QEP的自动化评估工具,我们的大模型应用开发实践平台将能够更精确、更快速地迭代Prompt,同时确保每次发布的Prompt都符合高质量标准。这不仅加速了Prompt的优化周期,还为用户提供了更加丰富和精准的互动体验。

图片

△平台Prompt测试上线全景图

通过QEP的集成,平台的能力得到了全方位的提升,从而实现了在Prompt生命周期中的每一个环节的全面覆盖和优化。提高了Prompt的自动化生成和优化效率,也加速了AI互动应用的整体发展,为用户提供了高质量的互动体验。

3.3 构建数据飞轮

平台已经实现了Prompt的测评和上线全流程,但对于Prompt在线上的实际表现和用户接受度的直接反馈仍然缺乏。为了弥补这一信息差,我们提出构建数据飞轮,旨在快速获取并分析用户对大模型生产的互动物料的反应。这一步骤对于持续提升Prompt的质量和互动效果至关重要。

3.3.1 飞轮数据基础

数据分析是构建飞轮环节中最重要的一环,平台作为所有互动AI应用的大模型接入层,天然的拥有数据层面的优势,以平台为基础构建飞轮数据分析主要有下面几个步骤。

1、互动数据的捕获:平台作为所有互动AI应用与大模型交互的枢纽,捕获所有大模型产出的物料信息。这包括互动量、展现量等关键指标,为后续分析提供原始数据。

2、数据仓储与集成:通过将这些信息与数据仓储系统结合,我们能够精确地追踪每个互动AI应用的表现。这些数据被整合成一个全面的视图,便于进行深入分析和洞察提取。

3、细化的Prompt级别飞轮:支持更细化的prompt级别的数据飞轮,使业务方能够在prompt级别查看效果和用户反馈。这种细化的视角使得优化过程更具针对性。

4、报警机制与反馈循环:当某个prompt产生的物料信息获取的线上收益低于预期或平均值时,自动报警机制触发,通知业务方可能存在的问题。这一机制确保及时发现并纠正低效的Prompt。

5、数据解析与保存:对每日互动量top的数据进行格式解析和保存,作为大模型精调的基础数据。这些数据将直接用于优化模型的精确性和响应度。

图片

△平台数据分析流程图

在上面的基础之上我们产出了三分重要数据:

1、日常报表与分析:产出日常的业务报表,提供持续的数据监控和业务分析,为决策提供支撑。

2、问题报警与处理:低于预期的报警与报表及时指出哪些Prompt需要关注和优化,确保业务效率。

3、精调数据准备:利用top数据作为精调大模型的关键输入,不断完善模型以适应不断变化的用户行为和市场趋势。

通过这种方式,平台的数据飞轮不仅成为了优化Prompt的强大工具,也成为了提升整个AI互动系统效能的关键环节。这一全面的数据驱动方法保证了Prompt的生成不仅基于理论和预测,而且能够实时反应和适应真实的用户反馈和市场动态。

3.3.2 飞轮的全景

平台的数据产出为我们的飞轮拼上了最后一块积木,至此我们包含三个互相依赖且协同工作的关键部分:生产环境的真实数据生成、平台的数据分析,以及Prompt的迭代优化的飞轮已经成型。以下是其几个关键的环节。

实时数据采集:在生产环境中部署的Prompt不断地产生数据,这些数据反映了用户的互动和反馈。这些实时数据通过平台进行捕获和分析,为后续的Prompt优化提供了宝贵的输入。

持续优化循环:基于这些分析结果,我们不断调整Prompt的内容和策略,以更好地满足用户需求并提高互动效率。这种迭代过程确保了Prompt能够适应用户行为的变化和市场趋势。评估与上线

评估与上线:经过平台的评估后,经过优化的Prompt被快速推送到生产环境。在这里,它们继续产生数据,进一步丰富飞轮的数据源。

闭环数据流:生产环境中产生的数据再次被平台捕获并分析,形成了一个自我强化的闭环数据流。这个过程不仅提高了Prompt的即时性和相关性,而且确保了Prompt的生成和迭代过程紧密地与用户反馈和市场动态同步。

通过数据飞轮,我们实现了数据驱动的Prompt优化,确保每个Prompt的生成都是基于最新的市场和用户数据。这种全面的数据驱动方法不仅增强了Prompt的实用性和吸引力,还提高了整个AI互动系统的性能和效率,为用户提供了更加个性化和富有吸引力的互动体验。

04 平台应用场景

通过调研发现各大内容平台中,我们也发现存在大量用户在评论区与 “虚拟角色” 互动的行为,比如蜜雪冰城账号在评论区出现,引起用户大量互动。所以我们提出假想,是否可以在评论区中植入相关的AI角色,利用大模型的推理能力和资源本身的内容信息,让大模型扮演某一类角色在资源的评论区进行互动。增强“消遣娱乐动机”并撬动用户破冰,充分激发互动行为,为用户提供情绪价值满足。

4.1 AI角色的Prompt测评和优化

在平台推出前,AI角色的Prompt测评和优化过程效率低下,充满挑战。这个传统过程需要团队在数据分析后手动进行大量操作和多次迭代,常常耗时数周至数月,延缓了AI角色的应用部署。通过平台构建我们彻底改变了这一局面。其集成的自动化工具和高效的数据处理能力,极大提升了测评和优化速度,从原本的数周缩短至仅几天。这种效率的飞跃意味着AI角色可以迅速投入社交媒体互动,大大加快了整体部署过程。此外,平台的一键式操作功能进一步简化了AI角色优化后的推广应用过程,避免了再次开发和上线的繁琐流程。总的来说,平台不仅显著加快了AI角色的Prompt优化速度,也提高了整体的部署效率和灵活性,为社交媒体互动带来了更快速、流畅的AI应用体验。

4.2 构建AI角色Prompt遇到的问题和解决方案

虽然有着平台的提效,但在Prompt构建过程中下面这些困难还是拖慢了AI角色Prompt的生成速度。

  • 复杂语境理解错误: 在Prompt构建过程中,我们遇到了新兴网络用语和含有特定文化背景的幽默梗的理解挑战。尽管大型语言模型具备强大的语言处理能力,它们在理解这些复杂语境时仍然表现出困难。为了解决这一问题,我们实施了细致的数据注释策略,对数据集中的这些难点内容进行了详细的上下文注释,并赋予它们准确的情感标签,从而确保模型能够在正确的语境下理解和运用这些特定表达。同时,我们设计了包含清晰解释性描述的prompt,这些prompt旨在帮助模型更准确地把握用户的意图,并据此生成响应。通过这些改进,模型现在能够更好地理解并回应那些具有特定文化色彩的网络用语和幽默梗。

  • One Sample Shot: 我们初步尝试了Few-Shot Learning方法,期望通过提供少量精选的样本来指导模型的理解和生成。然而,我们发现当示例过多时,模型容易过拟合这些具体的样本,而不能泛化到新的、未见过的情况。此外,处理大量的Few-Shot 示例也增加了计算负担,降低了响应的效率。在Zero-Shot Learning尝试中我们发现模型有时无法准确把握复杂的网络用语和文化梗的语义,尤其是当这些梗涉及到细微的情感或讽刺成分时。此外,缺乏具体示例导致模型在生成响应时缺乏上下文相关性。鉴于上述方法的局限性,我们最终采取了One-Sample Shot的策略。我们为每个Prompt提供一个精心挑选的样本,这个样本足够具代表性,能够涵盖特定语境下的语义和情感。这个简单的示例帮助模型建立起对特定网络用语或梗的基本理解框架。例如,对于一个流行的网络梗,我们不仅提供了梗本身的样本,还包括了关于其起源、使用场景和预期反应的描述。这样的单一但信息丰富的示例使得模型能够在不过度依赖大量样本的情况下,更好地理解和适应新的用语和梗。通过One-Sample Shot,我们成功地平衡了模型的泛化能力和个性化响应的需求,使AI角色能够更加精确地与用户进行互动,同时也确保了计算资源的高效利用。

4.3 AI角色效果

在评论区上线了AI角色后,用户的参与意愿和评论区活跃度明显增高,有效的带动了评论氛围。AI角色的评论也收到了广大网友的喜爱,纷纷对其点赞和回复。下面是几张AI角色的效果展示图。

图片

图片

图片

图片

图片

05 总结与展望

通过构建大模型应用开发实践平台,我们已经成功实现了Prompt的测评、上线以及持续监控和调整的全流程,显著加速了互动AI应用的迭代速度。但同时我们也面临着新的挑战,互动业务场景的复杂化,多样化使得大模型输出的内容并不总是完全符合具体场景的需求。为了解决这个问题,我们计划引入更为先进的精调技术,如 Supervised Fine-Tuning (SFT) 和 Reinforcement Learning from Human Feedback (RLHF)。这些技术将使我们能够对大模型进行更深层次的定制和优化,从而确保模型输出能够更好地适应复杂的互动场景。

——END——

推荐阅读

揭开事件循环的神秘面纱

百度搜索展现服务重构:进步与优化

百度APP iOS端包体积50M优化实践(七)编译器优化

百度搜索内容HTAP表格存储系统

大模型时代,“人人可AI”的百度开发者平台长什么样?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/262108.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BearPi Std 板从入门到放弃 - 后天篇(3)(ESP8266透传点灯)

简介 电脑搭建一个TCP Server, ESP8266 串口设置好透传模式, 再由TCP Server发送指令控制灯的亮灭; 开灯指令: led_on回车 ; 关灯指令: led_off回车 主芯片: STM32L431RCT6 LED : PC13 \ 推挽输出即可 \ 高电平点亮 串口: Usart1 / LPUART E…

Flink电商实时数仓(三)

DIM层代码流程图 维度层的重点和难点在于实时电商数仓需要的维度信息一般是动态的变化的,并且由于实时数仓一般需要一直运行,无法使用常规的配置文件重启加载方式来修改需要读取的ODS层数据,因此需要通过Flink-cdc实时监控MySql中的维度数据…

开发医疗陪诊系统源码:搭建安全高效的医患互动平台

本文将深入探讨开发医疗陪诊系统的源码,以及如何搭建一个安全高效的医患互动平台。 一、引言 医疗陪诊系统旨在通过技术手段,缩短患者与医生之间的距离,提供更快速、便捷的医疗服务。 二、技术选型 2.1前端技术 在搭建医疗陪诊系统的前…

Redis-Day3实战篇-商户查询缓存(缓存的添加和更新, 缓存穿透/雪崩/击穿, 缓存工具封装)

Redis-Day3实战篇-商户查询缓存 什么是缓存添加Redis缓存业务流程项目实现练习 - 给店铺类型查询业务添加缓存 缓存更新策略最佳实践方案案例 - 给查询商铺的缓存添加超时剔除和主动更新 缓存穿透/雪崩/击穿缓存穿透概述项目实现 - 商铺查询缓存 缓存雪崩缓存击穿概述互斥锁逻辑…

HBase基础知识(二):HBase集群部署、HBaseShell操作

1. HBase安装部署 1.1 Zookeeper正常部署 首先保证Zookeeper集群的正常部署,并启动之: 创建集群启动脚本: #!/bin/bash case $1 in "start"){ for i in hadoop100 hadoop101 hadoop102 do echo----------zookeeper $i 启动----…

vue2 之 实现pdf电子签章

一、前情提要 1. 需求 仿照e签宝,实现pdf电子签章 > 拿到pdf链接,移动章的位置,获取章的坐标 技术 : 使用fabric pdfjs-dist vuedraggable 2. 借鉴 一位大佬的代码仓亏 : 地址 一位大佬写的文章 :地址 3. 优化 在大佬的代码…

【算法与数据结构】135、LeetCode分发糖果

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题的思路是要相比较一边,然后在比较另外一边,左右两边一起比较的代码非常难写…

​ SK Ecoplant借助亚马逊云科技,海外服务器为环保事业注入新活力

在当今全球面临着资源紧缺和环境挑战的大背景下,数字技术所依赖的海外服务器正成为加速循环经济转型的关键利器。然而,很多企业在整合数字技术到运营中仍然面临着一系列挑战,依然存在低效流程导致的不必要浪费。针对这一问题,SK E…

使用HTTP协议有哪些风险?HTTP与HTTPS的区别是什么

作为两种常见的网络协议,HTTP和HTTPS都是用于在浏览器和服务器之间传输数据的。然而在保障数据安全性方面,HTTPS远远优于HTTP。在网络安全愈发重要的当下,HTTP协议的不安全性使得其逐渐被淘汰弃用。那么使用HTTP协议有哪些风险呢?…

开发知识点-HTML/JavaScript

HTML/JavaScript xlinksvgviewBoxuse基础预热与语法基础知识js 如何运行页面适用js 及输出 面向对象抽奖功能 json 支持 字符串转数组数组转字符串数组元素删除长度0位添加一个元素// 表示在下标为1处添加一项tttarray.splice(1,0,ttt)//[123,ttt,456]// 数组是否包含某个元素a…

KoPA: Making Large Language Models Perform Better in Knowledge Graph Completion

本来这个论文用来组会讲的,但是冲突了,没怎么讲,记录一下供以后学习。 创新点 按照我的理解简单概述一下这篇论文的创新点 提出使用大模型补全知识图谱,并且融合知识图谱的结构信息提出一个新的模型KoPA模型,采用少…

Django 简单图书管理系统

一、图书需求 1. 书籍book_index.html中有超链接:查看所有的书籍列表book_list.html页面 2. 书籍book_list.html中显示所有的书名,有超链接:查看本书籍详情book_detail.html(通过书籍ID)页面 3. 书籍book_detail.html中书的作者和出版社&…

说说 style gan 中的感知路径长度(Perceptual Path Length)

我在之前的博库中介绍了 style gan 的基本原理,原文中有提出感知路径长度(Perceptual Path Length)的概念。这是一种评价生成器质量的方式。 PPL基本思想:给出两个随机噪声 z 1 , z 2 ​ ,为求得两点的感知路径长度PPL…

竞赛保研 基于Django与深度学习的股票预测系统

文章目录 0 前言1 课题背景2 实现效果3 Django框架4 数据整理5 模型准备和训练6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于Django与深度学习的股票预测系统 ** 该项目较为新颖,适合作为竞赛课题方向&#xff…

WMS仓储管理系统的基本架构和功能模块

在数字化时代,WMS仓储管理系统解决方案已经成为了企业物流管理的重要组成部分。WMS仓储管理系统通过先进的信息化技术,实现了对仓库的全面管理,提高了仓库的运营效率,降低了成本。本文将详细解析WMS仓储管理系统的基本架构和功能模…

C#合并多个Word文档(微软官方免费openxml接口)

g /// <summary>/// 合并多个word文档&#xff08;合并到第一文件&#xff09;/// </summary>/// <param name"as_word_paths">word文档完整路径</param>/// <param name"breakNewPage">true(默认值)&#xff0c;合并下一个…

深信服技术认证“SCSA-S”划重点:命令执行漏洞

为帮助大家更加系统化地学习网络安全知识&#xff0c;以及更高效地通过深信服安全服务认证工程师考核&#xff0c;深信服特别推出“SCSA-S认证备考秘笈”共十期内容&#xff0c;“考试重点”内容框架&#xff0c;帮助大家快速get重点知识~ 划重点来啦 *点击图片放大展示 深信服…

深入理解 Spring Boot:核心知识与约定大于配置原则

深入理解 Spring Boot&#xff1a;核心知识与约定大于配置原则 简单说一下为什么要有 Spring Boot&#xff1f; 因为 Spring 的缺点。 虽然 Spring 的组件代码是轻量级的&#xff0c;但它的配置却是重量级的(需要大量 XML 配置) 为了减少配置文件&#xff0c;简化开发 Spri…

【Pytorch】学习记录分享6——PyTorch经典网络 ResNet与手写体识别

【Pytorch】学习记录分享5——PyTorch经典网络 ResNet 1. ResNet &#xff08;残差网络&#xff09;基础知识2. 感受野3. 手写体数字识别3. 0 数据集&#xff08;训练与测试集&#xff09;3. 1 数据加载3. 2 函数实现&#xff1a;3. 3 训练及其测试&#xff1a; 1. ResNet &…

JFreeChart 生成图表,并为图表标注特殊点、添加文本标识框

一、项目场景&#xff1a; Java使用JFreeChart库生成图片&#xff0c;主要场景为将具体的数据 可视化 生成曲线图等的图表。 本篇文章主要针对为数据集生成的图表添加特殊点及其标识框。具体包括两种场景&#xff1a;x轴为 时间戳 类型和普通 数值 类型。&#xff08;y轴都为…