当前位置: 首页 > article >正文

实时金融信息搜索的新突破:基于大型语言模型的智能代理框架

“An Agent Framework for Real-Time Financial Information Searching with Large Language Models”

论文地址:https://arxiv.org/pdf/2502.15684

摘要

在金融决策过程中,需要处理海量的实时信息以及复杂的时序关系。然而,传统的搜索引擎在理解和解析用户的查询意图及上下文方面存在明显的局限性。尽管大型语言模型(LLMs)展现了出色的推理和交互能力,但由于缺乏对实时数据的支持,可能导致输出结果不可靠或不准确。目前尝试将LLMs与搜索功能相结合的方法面临三大挑战:

首先,专业金融数据的获取受到严格限制;

其次,查询结构固定不变,难以适应快速变化的金融市场环境;

最后,生成的结果往往缺乏对时间因素的敏感度。

为解决这些问题,本文提出了FinSearch,这是一套专为金融应用场景设计的代理搜索框架,能够整合多种金融数据来源。FinSearch由四个核心组件构成:

第一,基于LLM的多步骤搜索预规划器;

第二,基于LLM的自适应查询重写器;

第三,引入了时间权重机制以增强时效性;

第四,基于LLM的响应生成器负责最终输出。

为了验证FinSearch的有效性,我们构建了一个名为FinSearchBench-24的基准测试集,该数据集包含了1500道四选一的选择题,题目覆盖了股票市场动态、利率波动、货币政策调整以及行业发展趋势等多个方面。通过实验对比发现,相较于Perplexity Pro,FinSearch在多项测试中的表现均有显著提升,具体而言,其性能改进幅度介于14.06%至21.6%之间。 

通过上述改进措施,FinSearch不仅提升了金融搜索的精确度与时效性,还为未来更智能、更高效的金融信息服务提供了新的思路和技术路径。

简介

在金融领域,获取精确且实时更新的信息对于做出明智的决策至关重要。然而,金融数据不仅动态变化频繁,而且各数据点之间存在着复杂的相互依赖关系,这使得传统搜索引擎难以有效地捕捉和呈现这些关联。当用户尝试表达复杂的分析需求时,往往因为传统搜索工具的局限性而遇到困难,需要经过多次查询迭代才能逐步接近所需信息,这一过程不仅耗时,还可能导致关键市场信号的遗漏。

此外,在新的搜索过程中探索相关概念虽然有助于发现潜在的相关性,但由于缺乏连贯性,这种做法常常导致分析过程变得支离破碎,从而影响对市场动态的整体理解。相比之下,大语言模型(LLMs)由于具备强大的自然语言理解和生成能力,能够更深入地理解用户的意图以及查询背后的上下文环境,从而在一定程度上弥补了传统搜索功能的不足。

然而,尽管LLMs在处理文本理解和生成方面表现出色,但它们基于的是静态训练数据集,这意味着它们无法直接访问最新的实时信息。这种局限性可能导致生成的分析结果出现过时或不准确的情况,尤其是在瞬息万变的金融市场中,这一点尤为关键。

目前,像MindSearch这样的解决方案在应对金融查询时仍然存在显著的局限性:首先,缺乏对专门金融数据源的有效整合;其次,其查询结构相对固定,无法灵活适应不断变化的市场信息需求;最后,没有实施足够复杂的时间加权机制来确保信息的相关性和时效性。因此,为了更好地服务于金融领域的特殊需求,亟需开发一种既能发挥LLMs优势又能克服其固有缺陷的新方法。

FinSearch 是一款专为金融应用设计的新一代搜索代理框架,它利用基于大型语言模型(LLM)的多步骤搜索预规划功能,可将复杂的查询拆解为结构化的子查询,并将其映射到特定的金融 API 上。在 FinSearch 的搜索执行过程中,采用了基于 LLM 的自适应查询重写器,该组件能够依据中间搜索结果实时调整子查询,从而提高对最新市场信息的反应速度和适应能力。此外,FinSearch 还引入了时间加权机制,可以根据用户查询中的时间背景来优化信息的相关性排序。

为了评估 FinSearch 的性能,研究团队创建了名为 FinSearchBench-24 的基准测试集,其中包含了 1500 道涉及各类金融主题的选择题,涵盖了广泛的金融知识领域。

01方法

概述

FinSearch 是一款专门为金融领域量身定制的搜索代理框架,它不仅能够生成文本分析,还能提供可视化输出,例如 K 线图等。该框架采用了一种称为“搜索图”的有向无环图(DAG)结构来表示多步骤的搜索流程,并且用于存储中间计算结果。在这一结构中,每个节点代表一个针对原始复杂查询特定方面的子查询,并且这些子查询会被映射到特定的金融数据源 API 上。而节点之间的有向边则用来表示逻辑上的依赖关系以及时间上的先后顺序,从而构建出一条条结构化的分析路径。

在实际操作过程中,FinSearch 的搜索执行器会按照既定顺序处理这些子查询,并依据累积的结果动态地优化后续的查询步骤,以提高搜索效率和准确性。此外,为了确保信息的时间相关性,FinSearch 还引入了时间加权机制,为每个节点分配与时间相关的权重,使得最终呈现的信息能够按照其时间相关性的优先级进行排序。最后,通过最终响应生成器将所有收集到的信息整合起来,形成一份全面且深入的分析报告。

搜索预规划器

搜索预规划器负责将复杂的金融查询拆解为结构化且可执行的子查询,首先通过语义解析提取查询中的关键元素,如时间、公司实体以及金融事件等。特别注重对时间表达式的处理,例如将相对时间(如“昨天”或“上周”)转换为具体的日期,以此保证时间的一致性和准确性。借助类似人类思维的推理过程,复杂查询被进一步分解为多个逻辑清晰的子查询。例如,在分析一家公司的表现时,可能生成的子查询会涉及历史股价数据、最新的财务报告、市场情绪评估以及行业发展趋势等多个方面。

这些子查询随后会被映射到三种专门设计的应用程序接口(API):新闻API、通用搜索API和专业金融API。为了优化信息的收集与分析流程,构建了一个基于有向无环图(DAG G(Vi, Eij))的搜索图结构,其中根节点代表原始查询,后续节点则按照逻辑顺序表示各个子查询。每个节点Vi具备一组特征xi,包含五个主要组成部分:具体的子查询内容、所使用的API来源、时间权重的占位符、时间上下文编码以及用于存储响应结果的保留字段。而有向边Eij则明确地定义了节点之间的执行依赖关系,确保整个搜索过程有序高效地进行。

具有动态查询重写器的搜索执行器

搜索执行器负责处理由预规划生成的搜索图,并在运行过程中动态优化搜索路径。它按照顺序遍历搜索图中的各个节点,为每个节点生成相应的API调用代码。API的执行会返回搜索结果以及相关的时间信息。在此基础上,动态查询重写器模拟人类的分析思维,对接下来的子查询进行优化。该重写过程结合当前子查询及其已获得的结果,利用马尔可夫链的方法不断微调搜索策略,从而提升搜索效率与准确性。

时间加权机制

时间加权机制旨在强调近期信息的重要性,同时确保历史数据依然可供参考。在搜索图的每个节点上,依据其信息时间戳与查询时间戳的接近程度来计算时间权重。这一权重通过时间衰减函数得出,该函数考量了信息时间戳和查询时间戳之间的时间差。为了适应金融市场信息的快速变动,设定了一个72小时的有效时间窗口,在此范围之外的信息可能因过时而失去相关性。在这一窗口内,权重会随着信息时间戳与查询时间戳之间距离的增加而线性递减,从而保证最新信息能够在分析过程中被优先处理。时间权重会在图遍历的过程中实时计算并更新,并保存于节点的特征向量之中。

响应生成器

响应生成器利用时间加权搜索图来整合信息,同时融合文本分析与视觉展示。通过为内容赋予基于时间相关性的权重,去除重复数据,从而保留具有独特时间和分析背景的信息。文本部分严格遵守引用规则,以确保所有信息的出处均可追溯。生成的内容按照时间序列进行排列,突出最新的动态和最相关的进展。在处理金融数据时,采用交互式的可视化工具(例如K线图)来呈现交易详情。最终产出一份结构化的分析报告,其中文本与视觉组件相辅相成,保证了时间维度的清晰表达。

在此过程中,时间加权机制确保了信息的新鲜度和相关性,而冗余信息的消除则依赖于高效的局部值编号技术或其他类似方法,这些技术能够识别并移除重复计算或存储的数据。此外,为了增强报告的可读性和实用性,特别注重将复杂的金融数据转化为直观易懂的图表形式,如前所述的K线图等交互式可视化手段。这样不仅可以帮助用户快速把握关键趋势,还能够提供深入探索数据细节的机会。整个报告的设计旨在实现文本与视觉元素之间的无缝衔接,从而为读者提供一个既全面又聚焦的时间背景视角。

02实验

基准构建

本文创建了名为FinSearchBench-24的基准测试,该基准包含1,500道选择题,涵盖了从2024年6月至10月期间的金融主题。通过四个阶段的构建流程,确保题目具备高质量、及时反映最新情况以及实际应用价值。我们从权威渠道收集最新的金融数据,以体现市场的变动和监管政策的调整。对于每一个重要的金融事件或政策变动,我们都设计了相应的题目来检验数据检索的精确性、信息提取能力以及对信息的理解与分析水平。借助大型语言模型(LLMs)生成这些问题,所依据的是经过精心整理的金融资料。最后,由金融行业的专家对这些题目进行人工审核,以保证其技术上的准确性、时间上的连贯性以及与现实情境的相关性。

实现细节

在本次实验中,我们采用Python 3.10.4开发了FinSearch系统,用于评估五种不同的大语言模型(LLM):GPT-4o、Llama3.1-405B、Claude3.5-Sonnet、Deepseek和Gemini-1.5-Flash的性能表现。这些模型均通过其各自的API进行调用,并且为了保证比较的公平性,所有模型都使用了统一的提示模板。

为了构建一个全面的信息获取环境,我们将三类不同的API集成到系统中:Yahoo Finance API用于获取市场动态数据、历史价格以及公司的基本面信息;NewsAPI则负责提供最新的金融新闻报道;而GoogleSearch API被用来执行网页搜索任务,以补充更广泛的网络资源。其中,Yahoo Finance API特别设置为每分钟自动采集一次实时数据,确保数据的新鲜度与及时性。

此外,在系统的内部实现上,图结构中的节点被设计为Python对象,这有助于更好地管理和操作复杂的数据关系。这样的设计不仅提高了代码的可维护性和扩展性,还使得对金融数据的处理更加灵活高效。通过这种方式,我们可以有效地评估各个LLM模型在处理和理解多源金融信息方面的能力。

结果

FinSearch 在不同的大型语言模型(LLM)架构上展现了超越当前搜索代理方法的表现,其准确率有显著的提高。具体来说,在使用 GPT-4o 时,FinSearch 达到了 76.20% 的准确率,这一成绩比 Perplexity Pro 高出了 15.93%,相较于 MindSearch 则高出 23.80% 。当采用 Llama3.1-405B 作为底层模型时,FinSearch 的准确率略降至 75.53%,而切换到 Claude3.5-Sonnet 时,准确率进一步提升至 78.27%。对于 Deepseek 和 Gemini-1.5-Flash,FinSearch 分别实现了 72.33% 和 74.87% 的准确率,值得注意的是,这里没有提供 Perplexity Pro 的直接对比数据。

尽管 FinSearch 的处理时间相对较长,范围在 14.55 秒到 29.31 秒之间,但考虑到其在准确率上的显著改进,这样的延迟是可以接受的。此外,基于基线 LLM 实现的解决方案准确率仅徘徊在 34.07% 至 38.60% 之间,这突显了实时搜索能力在金融数据分析中的关键作用。这些结果表明,通过结合强大的 LLM 和专门设计的搜索策略,FinSearch 能够更有效地解析复杂的金融信息,为用户提供更为精准的结果。

消融分析

我们开展了消融研究,旨在评估 FinSearch 核心组件的作用,特别是时间加权机制与动态查询重写器对整体性能的影响。研究表明,时间加权机制对系统性能有着显著的正面影响。例如,在使用 GPT-4o 时,该机制使得准确率从 58.67% 提升至 72.87%,增幅达 14.20% 。

动态查询重写器单独作用时也显示出一定的效果,它使准确率提升了 3.66%,即从 58.67% 上升到 62.33%,这表明其在搜索过程中能够有效地识别并捕捉相关信息。

当这两个组件联合使用时,系统的性能达到了最优状态。以 Claude3.5-Sonnet 为例,其准确率高达 78.27%,相比基线提高了 17.47%。此外,完整配置不仅在准确性上表现出色,在计算效率方面同样优于部分实现方案。具体而言,Claude3.5-Sonnet 的平均处理时间为 18.15 秒,而基线配置则需要 26.64 秒,这进一步证明了完整配置能够促进更高效的搜索过程。这些结果共同说明了时间加权机制和动态查询重写器对于提升 FinSearch 性能的重要性。

03总结

FinSearch 是一款专为金融信息检索与分析设计的搜索代理框架,它成功应对了该领域的独特挑战。其主要创新点在于采用了基于大型语言模型(LLM)的多步骤搜索预规划方法,能够通过图结构表示将复杂的金融查询分解为更易处理的子任务。此外,FinSearch 还集成了动态查询重写器,可以根据中间结果自适应地优化搜索策略,以及时间加权机制,用于优先处理对时间敏感的金融数据。

在最新开发的 FinSearchBench-24 数据集上进行测试时,FinSearch 在多种 LLM 架构下展现了卓越的表现。这表明该框架不仅能够高效地解析复杂的金融问题,还能根据不同的模型特性灵活调整其性能。

展望未来,研究团队计划进一步扩展 FinSearch 的功能,包括支持更多的金融数据源和分析类型,同时改进时间加权机制以更好地适应不同的时间跨度和市场状况。FinSearch 的成功展示了如何有效地结合 LLM 的强大能力与特定领域的实际需求,从而显著提高搜索结果的准确性和相关性,为金融领域的智能搜索树立了新的标杆。


http://www.kler.cn/a/570064.html

相关文章:

  • 前端项目打包生成 JS 文件的核心步骤
  • OpenCV计算摄影学(12)色调映射(Tone Mapping)的一个类cv::TonemapMantiuk
  • CELLO : Causal Evaluation of Large Vision-Language Models
  • 蓝桥与力扣刷题(蓝桥 k倍区间)
  • 互联网时代如何保证数字足迹的安全,以防个人信息泄露?
  • 图像采集卡的技术概述
  • PPT 小黑课堂第38套
  • 使用vue3+element plus 的table自制的穿梭框(支持多列数据)
  • Kotlin函数式编程与Lambda表达式
  • 【Go原生】项目入口配置及路由配置写法
  • QEMU源码全解析 —— 内存虚拟化(24)
  • 华为飞腾D2000芯片(基于ARM架构)的欧拉操作系统(openEuler)上部署MySQL
  • springboot gradle 多项目创建
  • Python----线性代数(线性代数基础:标量,向量,矩阵,张量)
  • 【每日学点HarmonyOS Next知识】web内存异常问题、Web高度问题、图片按压效果、加载沙盒中html、感知路由返回传参
  • IP-----BGP协议
  • Ai-web 1.0靶场通关攻略
  • [特殊字符] Django 常用命令
  • MySql面试总结(二)
  • WireGuard搭建网络,供整个公司使用