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

news2024/12/24 15:04:47

作者 | 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”的百度开发者平台长什么样?

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YashanDB个人版体验总结

前言 YashanDB数据库具有多项功能特性。首先,它是一个分布式数据库,支持水平扩展,能够将数据分散到多个节点上,从而提高系统的可靠性和性能。其次,YashanDB数据库具备高可用性,支持主从复制和自动故障转移…

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

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

VS ASP.Net Core项目还原Packages包到本地(解决服务器没有网无法重新生成的问题)

问题背景 ASP.Net Core MVC项目,无法重新生成。 现场服务器没有网,放上去的代码无法通过nuget还原包到服务器,导致无法编译无法运行。 解决办法 将Packages还原到本机(有网),然后再将代码放到服务器运行。 在有网的…

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

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

Excel 获取当前行的行数

ROW() 获取当前行 ROW()1 获取当前行然后支持二次开发

java基础入门-23-【网络编程】

java基础入门-23-【网络编程】 32、网络编程1.什么是网络编程2.网络编程三要素1.1 IP1.2 总结1.3 IPV4的地址分类形式1.4 常见的CMD命令1.5 InetAddress类的使用1.6 端口和协议 2.UDP通信程序2.1 UDP发送数据2.2UDP接收数据2.3UDP通信程序练习2.4UDP三种通讯方式2.5UDP组播实现…

more的详细用法

概要&#xff1a; Linux中more的功能是分页显示文件内容 空格键显示下一屏(页)&#xff0c;回车键Enter显示下一行&#xff0c;q键退出 本篇所用系统是Ubuntu22.04 一、more filename more后面跟的是文件名&#xff0c;分页显示文件内容 二、more < filename more从…

在MacOS上Qt配置OpenCV并进行测试

一.Qt环境准备 上一篇博客我讲了如何下载配置OpenCV库&#xff0c;但是在Qt5.15.2使用OpenCV库时&#xff0c;出现了一个问题就是我下载的Qt5.15.2是x86架构的&#xff0c;不能对OpenCV库进行链接&#xff0c;而OpenCV库是arm架构的 直接使用Qt5.15.2编译链接OpenCV库链接头文件…

Leetcode—75.颜色分类【中等】

2023每日刷题&#xff08;六十五&#xff09; Leetcode—75.颜色分类 实现代码 class Solution { public:void sortColors(vector<int>& nums) {int red 0, white 0, blue 0;for(auto num: nums) {if(num 0) {red;} else if(num 1) {white;} else {blue;}}for…

1. 创建型模式 - 工厂方法模式

亦称&#xff1a; 虚拟构造函数、Virtual Constructor、Factory Method 意图 工厂方法模式是一种创建型设计模式&#xff0c; 其在父类中提供一个创建对象的方法&#xff0c; 允许子类决定实例化对象的类型。 问题 假设你正在开发一款物流管理应用。 最初版本只能处理卡车运输…

PnetLab[网络虚拟化实验平台]下载地址

Pnet是一款分组网络仿真工具实验室和EVE-NG类似&#xff0c;由于官方提供的下载地址对我大国内域网络并不友好&#xff0c;特地将资源搬运至此。 PNETLAB-5.1.2.ova 下载 访问码&#xff1a; h2or 5.3.11升级包 下载 访问码&#xff1a; quu9 PNET_4.2.10.ova 下载 访问码&…

【C语言】指针详解(二)

目录 1.指针变量类型的意义 1.1指针的解引用 1.2指针 - 整数 1.3void*指针 2.const修饰指针 2.1const修饰变量 2.2const修饰指针变量 1.指针变量类型的意义 1.1指针的解引用 指针变量的大小和类型无关&#xff0c;只要是指针变量&#xff0c;在同一个平台下&#xff0…

技术人的年终总结报告,请笑纳

背景 年底了&#xff0c;部门间&#xff0c;小组间不可避免的需要写年终总结报告。我相信很多朋友这件事肯定比较反感。认为这些东西都是表面形式&#xff0c;没有任何意义&#xff1b;亦或对于专心搞开发的人&#xff0c;对于这种报告并不擅长&#xff0c;不知道如何下手&…

openGuass:极简版安装

目录 一、openGauss简介 二、初始化安装环境 1.创建安装用户 2.修改文件句柄设置 ​3.修改SEM内核参数 4.关闭防火墙 6.禁用SELINUX 7.安装依赖软件 8.重启服务器 三、安装数据库 1.下载安装包 2.创建安装目录 3.解压安装包 4.执行安装 5.验证安装 四、gsql工具…

stm32DMA

DMA 文章目录 DMADMA简介DMA功能框图DMA请求DMA请求通道 **仲裁器** DMA 数据配置从哪里来到哪里去外设到存储器存储器到外设存储器到存储器 DMA初始化结构体讲解配置DMA TO P(外设)代码例子 DMA简介 DMA(Direct Memory Access)—直接存储器存取&#xff0c;是单片机的一个外设…

TCP/IP 传输层协议

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输控制协议TCP&#xff08;Transmission Control Protocol&#xff09;和用户数据包协议UDP&#xff08;User Datagram Protocol&#xff09;。 TCP协议 TCP是一种面向连接的传输层协议&#…

2023 CCF国际AIOps挑战赛决赛暨“大模型时代的AIOps”研讨会成功举办

12月16日&#xff0c;2023 CCF国际AIOps挑战赛决赛暨“大模型时代的AIOps”研讨会于北京西郊宾馆成功举办。活动吸引了来自行业内众多一流专家、学者参与&#xff0c;共同探讨和展示了他们在智能运维领域的最新研究成果和技术应用&#xff0c;为智能运维技术的学术研究、生产实…

【计算机网络】TCP心跳机制、TCP粘包问题

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多计算机网络知识专栏&#xff1a;计算机网络&#x1f525; 给大家跳段…

低代码和纯代码:双向奔赴,共创未来ing……

低代码开发是近年来迅速崛起的软件开发方法&#xff0c;让编写应用程序变得更快、更简单。有人说它是美味的膳食&#xff0c;让开发过程高效而满足&#xff0c;但也有人质疑它是垃圾食品&#xff0c;缺乏定制性与深度。你认为低代码到底是美味的膳食还是垃圾食品呢&#xff0c;…

工业缺陷检测深度学习方法综述——学习笔记(评价:这篇华科大的文章错误百出,学术一点都不严谨,别误人子弟了好吧。。。)

文章目录 摘要1 引言2 问题定义与研究现状2.1 问题定义2.2 问题难点与挑战2.2.1 数据难点2.2.2 任务挑战 2.3 研究概述 3 检测算法3.1 缺陷模式已知3.1.1 传统方法简述3.1.2 深度学习方法 3.2 缺陷模式未知3.2.1 传统方法简述3.2.2 深度学习方法(1) 基于图像相似度的方法(i) 基…