58同城如何通过RAG与Tool Use技术提升AI能力

58同城如何通过RAG与Tool Use技术提升AI能力
2024年12月16日 13:01 DataFunTalk

导读在当前人工智能技术迅猛发展的背景下,智能助手的应用场景愈加广泛,涵盖了从 B 端商家服务到销售培训及大数据分析等多个领域。本文将深入探讨智能助手在 58 同城实际应用中的案例,包括招聘助手和销售陪练的设计与实施,还将分析知识库管理和工具使用对智能助手性能的影响。通过对这些案例的剖析,将揭示如何利用先进的 AI 技术,提升工作效率、优化用户体验,并推动企业数字化转型的进程。

主要内容包括以下几个部分:

1. 业务背景介绍

2. AI Agent 核心技术与挑战

3. RAG 和 Tool Use 实践

4. 总结与展望

分享嘉宾|曾禹飞 58同城 算法工程师 

编辑整理|陈思永

内容校对|李瑶

出品社区|DataFun

01

业务背景介绍

在人工智能技术的飞速发展中,智能体(Agent)技术正逐步成为增强 AI 能力的核心驱动力。尤其是在 RAG(Retrieval-Augmented Generation)与工具调用能力的协同作用下,智能体的自动化处理和决策能力得到了显著提升。58 同城作为生活服务平台,通过集成 AI 技术,致力于为企业用户和消费者之间建立高效的沟通渠道,帮助用户更快、更智能地完成复杂业务流程。

58 同城的业务重点体现在两大主线上:

第一业务曲线:为 B 端商家与 C 端用户提供高效的信息交流渠道。通过平台,用户可以轻松完成招聘、房产交易、二手车买卖等任务,并通过在线沟通工具快速联系商家。这个场景中,智能体技术能够辅助用户在海量信息中精准匹配需求,提升用户的搜索和决策效率。

第二业务曲线:推动流程的产业化、数字化。通过 AI 技术,58 同城平台帮助用户在线办理房产、招聘、汽车等业务,减少繁琐的人工操作,提升效率与体验。这个过程中的智能体不仅能通过知识检索、自动化操作等能力协助用户完成复杂业务,还能通过实时的数据同步与决策增强体验。

58 同城的 AI 平台致力于将 AI 技术与实际业务场景无缝结合,通过三大模块(算力平台、基础平台、应用平台)来支持企业的智能化转型:

AI 算力:提供强大的硬件基础,支持 AI 基础平台的模型训练、推理,以及大规模的数据处理。

AI 基础平台:汇聚了多种算法技术,从图像识别、语音处理,到最新的大语言模型(LLM)技术和多模态模型。不同的技术针对不同业务场景,能够根据实际需求提供预训练与微调方案,支持例如智能对话、图像生成、3D 建模等应用。这些算法通过强大的计算引擎,进行离线训练、在线推理和混合处理,确保模型在高效运行的同时满足不同的业务需求。

AI 应用平台:重点支持企业级应用的定制化开发,涵盖智能客服、虚拟助手、图像和视频生成等场景。智能体在这些业务场景中,利用知识库与工具调度能力,能够自主完成复杂任务链,增强企业在客服、运营等场景中的智能化水平。

我们的 AI 平台的最大优势在于能够根据不同行业和企业的需求,提供定制化的 AI 应用解决方案,极大提升了 AI 应用落地的效率。目前我们的 AI 技术已广泛应用于销售、客服、产品、运营、办公等场景,AI 应用已渗透到企业全流程。

我们致力于构建垂类大语音模型,打造了灵犀大模型,并已通过国家网信部备案。该模型基于 58 同城生活领域的数据,结合开源大模型的通用能力,通过微调、对齐等技术,优化了房产、汽车及本地服务等多个垂直领域的表现。在产品上,AI 平台不仅提供了灵犀大模型的 API 支持,还支持了文心、智谱、百川等商用大模型 API,进一步扩展了应用边界。

为了进一步推广 AI 应用,我们还打造了 AI Agent 平台,支持开发者创建基于 AI 的智能机器人,其背后是我们对 RAG 和工具调用能力的深入研究和应用。RAG 技术提升了模型对复杂信息的处理能力,不仅弥补了大模型固有知识的局限性,还通过知识库的快速更新和检索能力,帮助智能体实时获取最新信息,更好地服务于用户的多样化需求。

目前我们的大模型技术已渗透至企业全流程,支持内部超过 70 个业务和场景。

02

AIAgent 核心技术与挑战

1. AI Agent 概述

AIAgent 以大模型作为其大脑,大模型的能力决定了 Agent 的智能程度。我们通过定义 Agent 的角色,使其偏向使用某些类型的工具,也可以定义其总体的目标。

如果说 Agent Core 是 Agent 的大脑,那么 Planning Module 就是大脑皮层,负责 Agent 所有的思考活动,通过 CoT、GoT、ReAct 等技术,让 Agent 实现反思和自我纠正,以及将问题拆解为更细粒度的子问题。

Tools 模块是提前定义好的工具流,用来执行各种复杂任务。

MemoryModule,即记忆模块,也起到了非常关键的作用,让 Agent 通过上下文来预测接下来的动作,以及期望的结果。记忆模块分为短期记忆和长期记忆,短期记忆可以理解为我们与 Agent 进行交流中几分钟内的历史对话,而长期记忆则是几周或几个月的长期历史对话。

2. Agent 核心技术

从 GPT-4 以来,大模型为我们带来了很多惊喜,但同时也存在着一些问题。比如最为常见的就是幻觉问题,即大模型的输出与事实不符。第二个问题是知识覆盖不足,虽然大模型的训练数据集非常庞大,但仍难以覆盖所有领域知识。第三是数据安全方面的问题,通用大模型没有企业内部数据,出于安全考虑,通常数据放在本地。第四是时效性问题,训练完成后,数据的更新无法及时反应到大模型的知识库中。

为了解决这些问题,就要依靠 RAG 技术,可以给大模型挂载文档,如私有知识库,接着对文档进行解析、切片,并向量化,保存至向量数据库,这样就完成了数据准备的工作。对用户输入,通用按需进行切片,并进行向量化,然后到知识库中进行检索,对检索出的 top K 结果进行重排,找到与输入问题最相似的 N 个内容,再将这些内容与用户的原始输入拼接到 prompt 中,提供给大模型,再通过大模型进行汇总,输出最终的回答。

工具使用方面,大模型根据用户输入,以及 API 元信息,判断回答问题是否需要调用 API。

(1)RAG

接下来介绍 RAG 相关的一些技术。

文本数据处理方面,主要用到增强和分块两大技术。增强部分,可以对用户问题进行拆解、改写、关键词提取等操作。例如用户提问“wuxian 怎么交”,这里的 wuxian 为英文,与中文“五险”的向量表示完全不同,因此需要进行改写和补充。分块部分,可以按特定的分隔符来分割,也可以按语义分割,对多模态数据,会将图片、表格的标题或相关注释分割在一起。

检索方面,分为单轮检索和多轮检索。单轮检索通常使用 BM25、Bert 等嵌入模型,对用户 query 及知识库进行向量化检索。对于知识库中不存在的信息,会使用假设性文档嵌入的方法(HyDE),使用大模型生成一个假设的回答文档,将其与知识库中的文档进行比较,从而得到与用户提问相关的信息。也可以使用混合检索的方式,提升检索的效率和效果。多轮检索,如长篇问答、多跳推理、思维链推理等,仅靠用户的原始输入不足以覆盖模型所需要的外部支持,稍后将会介绍两个相关工作。

检索之后需要进行重排,文本向量化过程中不可避免地会丢失掉一些信息,降低匹配的准确性,尤其是面对复杂文档时,问题和文档间的微妙差异可能会难以捕捉,因此我们需要重排这一步,对筛选出的文档进行精排,提供更准确的排序结果。

接下来介绍两个关于处理多轮检索的方法,FLARE 和 DRAGIN。

第一篇是由卡内基梅隆与 Meta 联合发布的前瞻性主动检索增强 FLARE。传统 RAG 是在大模型生成过程开始时使用用户输入执行一次查询,检索出相关文档,大模型再使用这些文档来生成内容。而 FLARE 则是在大模型生成过程中进行检索,其核心使用了两种方法,一种是 FLAREinstruct,即指令模式,当大模型生成了某个特殊标志时,开始进行检索;另一种是 FLARE Direct,即基于生成 token 的置信度,对低置信度的进行检索。

另外要介绍的是清华大学发布于 ACL2024 的一个方法,DRAGIN,也是对大模型生成的 token 进行判断。结合大模型在生成中 token 的熵、token 的最大注意力,以及停止符这三者进行计算,如果综合值超过一定阈值,就会进行检索。

RAG 可以从本地知识库中获取信息来保证知识覆盖和安全性的问题,而实时性的问题则需要调用工具来解决。

(2)Tool Use

调用工具的方式包括单步调用和多步调用,在此基础上还可以实现并行调用。实现方式包括 Function Call、ReAct,以及类似于 LongChain 的插件形式。

单步调用是最基础的工具调用方式。在这种模式下,智能体通过单次 API 请求获取所需数据,并立即返回结果。当要回答的问题需要调用多个工具时,为了减少查询等待的时长,会采取并行调用。

在更加复杂的任务场景中,单次调用往往不足以完成整个操作。此时,多步调用(Multi-Step Call)能够通过一系列有逻辑顺序的调用,逐步完成任务。例如查询去年英伟达公司的财报,并绘制成图。要执行第二个 API 需要依赖于第一个 API 查询的结果,因此调用是有先后顺序的。

实现方式之一 Function Call 的流程如上图所示,用户输入信息与 API 的元信息输入到大模型,大模型判断是否需要调用 API,以及要调用单个还是多个 API,后端拿到这些信息后进行调用执行,再将结果返回给大模型,结合用户的原始输入,综合给出最终的答案。

FunctionCall 这种方式的最大特点是快,但不能很好地处理多步调用,以及 API 之间调用顺序的问题。为了解决这一问题,可以采用 ReAct 的方式。

ReAct 是模仿人类处理问题时的思维和行为,将推理和动作相结合的一种方式。使用 CoT 方法,可以让大模型的输出有理有据,但 CoT 的能力受限于大模型自身知识,容易产生幻觉。而使用 ReAct 方式,会结合思想和行动,可以提升结果的准确性。

ReAct 的流程如上图所示,单步调用的流程与 Function Call 类似,只是多了 Tool Plan 这一步,即大模型的思考。在多步调用中,增加了对调用结果的排序,以及会多次询问用户缺少的 API 信息,根据调用结果再进行判断,直到 Agent 认为可以准确地回答用户问题为止。

上图中是一个真实案例,我们希望 Agent 可以同时给到调用这两个链接的 API 信息,再对调用结果进行汇总。要求模型不能出现幻觉,同时要准确理解用户意图并调用相应的工具。

上图中展示了给到模型的工具结构,包括工具名、工具描述,以及工具所需要的参数、参数类型、参数描述和必填的参数信息。我们在一些主流模型上进行了测试,在没有 prompt 或对 prompt 进行优化的情况下,即使 GPT-4-Turbo 也存在输出不理想的情况,其成功调用了参数,但没有提供必填的参数。Doubao-Pro-32k 则完全没有理解用户意图,只有 moonshot-v1-8k 输出了正确的工具调用结果。由此可见,这些模型在工具调用上存在输出不稳定的情况,若想提高稳定性,就需要不断微调或加数据,然而这是非常耗费时间和资源的,因此我们采用一个较小的模型来完成。

我们用一个 7B 的 base 模型训练了一个小的工具调用模型,名为 ChatLing-Tool,它能够准确理解用户意图并输出工具参数。由于业务指令数据稀缺,人工标注成本高昂,所以我们采用了合成数据。

评测数据集

首次使用过滤后的中文评测集,包含 735 条对话,每轮对话有 1 到 3 个工具,参数数量不超过 3 个。使用千问 27B 模型作为基准进行对比,发现各模型评测结果差异不大。

第二版测试数据集

新的测试数据集包含 1 到 4 个工具,参数数量增至 1 到 12 个,同时加入了 50 条需要并行调用工具的对话。

结果显示,豆包和千问 27B 模型表现下降,而我们训练的小模型在此数据集上不弱于 GPT-4。

新数据构建

重新构建数据,确保所有工具对模型是新颖的。

单个工具多次调用:构建了 305 条数据,每轮对话包含多个工具,需要多次并行调用,工具参数在 1-7 个之间。结果显示,小模型 ChatLing-Tool 表现良好,优于 72B 模型,而 7B 和豆包模型表现较差。

普通多工具调用

每轮对话包含多个工具,模型根据用户输入选择调用。结果显示,各模型表现均较好,差距不明显。

多个工具并行调用

每轮对话需并行调用多个工具,例如查询财报并绘制图表。结果显示,GPT-4 表现最佳,国内模型效果也不错,但豆包和千问 27B 表现较弱,而 ChatLing-Tool 表现良好。

3. Agent 方案设计

文档解析能力

方案能够智能解析多种文档格式,包括 Word、PDF 和 Excel。同时,支持通过查询和修改进行问题拆解,并实现高效的多路索引和召回效果。

RAG 模型与工作流支持

提供多种内置的 RAG(Retrieval-Augmented Generation)强化模型,用户可在 AI 平台上制定工作流,以灵活应对复杂业务需求。

处理流程示例:用户提出问题(如“黑神话结局”),智能体会改写并补全问题。如果智能体自信可以回复,就直接返回;如果不确定,则调用知识库或 API 查询,获取信息后结合用户原始问题进行回答。

自定义与可视化功能

AI 平台支持用户自定义插件,并提供插件选项,用户可根据需求定义工具参数和描述。同时,支持可视化的 agent 思考过程和多轮会话,以及向量检索功能。

03

RAG 和 ToolUse 实践

我们的 AI 平台支持用户自定义 Agent 插件,用户根据自身需求定义工具参数、工具描述即可。同时还提供了自定义工作流的能力,思考过程可视化。并且支持多轮会话以及向量检索。

以下是几个应用案例。

1. B 端商家智能聊天助手

职位招聘:求职者点击聊天后,智能助手根据职位信息生成问题,并提供求职者回答的选项。助手识别用户意图,通过知识库汇总信息回答求职者的问题。

房源信息查询:用户找到房源后点击微聊,助手同样通过知识库回复用户关于房源的询问。

2. 销售场景

新人培训:针对电销新人,智能助手应用于话术与技巧培训,旨在降低培训人力成本和新人的开单压力,从而提高留存率。

智能陪练:销售人员通过语音与机器人对话,模拟真实销售场景,进行技能练习。若对产品知识不熟悉,销售人员可通过助手查询相关信息。

实时订单跟踪:助手支持销售人员实时跟踪业务进展。

3. SQL 智能助手

结合大数据平台与 AI 模型,实现了 SQL 总结、纠错、生成和智能问答等功能,可以帮助开发人员解决工作中的问题。

4. 美事智能助手

面向全公司,集成了消息总结功能,支持快速约定会议室和链接查询,利用 RAG+Tool Use 技术提升整体效率。

04

总结与展望

通过 RAG 与工具调用的结合,智能体在面对复杂业务流程时,表现出前所未有的自动化和智能化水平。RAG 增强了智能体在知识检索和实时性方面的能力,而工具调用使其能够灵活完成多步骤的复杂任务。

未来,我们将对 GraphRAG 进行深入探索,并实现一次性生成完整的工具调用。随着大语言模型技术的进一步发展,智能体将在更多领域中应用,助力企业实现更高效的智能化转型。

以上就是本次分享的内容,谢谢大家。

分享嘉宾

INTRODUCTION

曾禹飞

58同城

算法工程师

曾禹飞,58 同城 AI Lab 大模型算法工程师。2023 年校招加入 58 同城,曾在智能问答、意图识别等关键任务中,将大模型性能提升至接近 GPT-4 水平。有丰富的基于开源模型进行预训练、微调和深度优化的经验。目前负责 58 agent 中的 RAG、Tool Use 研发,以及信息安全大模型等战略性项目

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部