By Dean Sacoransky and Deniz Askin
原文标题: 推理与递归检索:Deepseek-r1、Tavily 和 LangGraph
DeepSeek-r1的影响
DeepSeek在不到一个月前公开发布了r1模型。突然间,每个人都可以访问强大的推理模型,用于应用和模型开发。
在这篇文章中,我们提出了一种简单的代理工作流,使DeepSeek-r1能够代理性地执行信息检索!
该系统能够准确地回答复杂的查询,例如:
“RBC总部是否位于Sam Altman兄弟公司总部的北边?”
该查询的完整代理输出,包括R1模型的推理痕迹,将在本文末尾提供。代码将在我们的平台上发布。
我们的动机
大多数人关注DeepSeek-r1在数学、科学和编程领域解决复杂问题的能力。
然而,绝大多数人并不是科学家或博士生。
好消息是!对于推理模型,今天就可以挖掘出一些真正有高价值的商业应用场景。
我们认为,目前推理模型最容易实现的应用场景是检索增强生成(RAG)。像DeepSeek-r1这样的推理模型为RAG系统带来了性能的飞跃。
我们构建了一个简单、优雅的系统,展示了将信息检索(向量数据库、网页搜索等)与推理结合的力量,这种方式类似于Pro的R1版本。
DeepSeek-r1代理工作流
图1:我们的代理工作流
递归检索与推理
我们的工作流通过浏览网页来检索信息。这个过程可以替换为任何信息检索技术,例如向量数据库。
我们实现了基于DeepSeek-r1的“推理层”,如上图所示,具体过程如下:
1.根据用户的查询和已检索的内容,r1评估现有信息是否足以回答问题。
2.如果足够,它生成答案。
3.如果不足,它识别缺失的细节,并重新查询Tavily以获取更多数据。
这个过程会递归地重复,直到所有必要的信息被收集,过程中会丢弃无关的数据,保留相关信息。
为什么在RAG中使用推理模型?
RAG的核心要求复杂的推理,因为它涉及从多个来源综合信息,过滤掉与问题无关的信息,整合相关信息,进行来源归属,并生成答案。
我们相信,未来大多数RAG系统将利用推理模型和代理循环,类似于本文中提出的工作流。
推理模型的实际上下文学习能力比以前的模型要高出许多。这消除了使用“hacky”RAG技术的需要,这些技术通常包括:
- 检索大量的上下文信息
- 将其放入上下文窗口
- 让模型判断哪些信息需要关注,哪些可以忽略
示例
查询:
RBC总部是否位于Sam Altman兄弟公司总部的北边?
=== 步骤 1: 检索 ===
搜索内容:
RBC总部是否位于Sam Altman兄弟公司总部的北边?
=== 步骤 2: 验证 ===
检索到的全部上下文:
加拿大皇家银行(Royal Bank of Canada,简称RBC;法语:Banque Royale du Canada)是加拿大的一家跨国金融服务公司,也是加拿大市值最大的银行。该银行服务超过2000万客户,在全球拥有超过10万名员工。[2] 它成立于1864年,总部位于新斯科舍省哈利法克斯市,目前在多伦多设有公司总部,在蒙特利尔设有办公总局。[2]
加拿大皇家银行是加拿大的一家跨国银行和金融服务公司,总部位于安大略省多伦多市,办公总局位于魁北克省蒙特利尔市。它是加拿大市值最大的银行,也是加拿大最大的公司之一,按收入和市值排名。
加拿大皇家银行的总部在哪里?
加拿大皇家银行(RBC)是加拿大的五大银行之一,其他四家为蒙特利尔银行(BMO)、加拿大帝国商业银行(CIBC)、新斯科舍银行(Scotiabank)和多伦多道明银行(TD)。
加拿大皇家银行的操作总部位于多伦多,而银行大楼内还设有主分行、购物大厅,并且是“路径”地下隧道网络的一部分,该网络将该建筑与费尔蒙皇家约克酒店、布鲁克菲尔德大厦、TD中心和联合车站连接在一起。
该银行的总办公室于1907年搬迁至蒙特利尔的四柱大厦,并一直使用直到1928年,之后又迁至位于该市的皇家银行大厦(也称为旧皇家银行大厦)。
加拿大皇家银行的第一总部位于新斯科舍省哈利法克斯市的商人银行大楼,从1864年到1907年。
R1 推理痕迹:
好的,让我们一步步来解决这个问题。用户在问RBC(加拿大皇家银行)总部是否位于Sam Altman兄弟公司总部的北边。
首先,我需要确认RBC的总部在哪里。根据提供的上下文,提到RBC在多伦多设有公司总部,并且在蒙特利尔设有办公总局。上下文还提到,公司总部位于安大略省的多伦多市,总办事处则位于魁北克省的蒙特利尔市。所以,RBC的主要总部位于多伦多。
接下来,问题提到了Sam Altman兄弟的公司。等等,Sam Altman是OpenAI的CEO,但用户说的是他的兄弟的公司。我需要弄清楚是哪个公司。Sam Altman的兄弟是Jack Altman,他是Lattice这家HR软件公司的联合创始人兼CEO。Lattice的总部位于加利福尼亚州的旧金山。然而,提供的上下文中并没有提到Sam Altman的兄弟或他的公司。给出的信息只提到RBC和其他加拿大银行、世界银行以及美国银行,但没有关于Sam Altman亲戚或他们公司的一点信息。
因此,答案需要通过比较多伦多(RBC总部)和旧金山(Lattice总部)之间的纬度来得出。多伦多的纬度大约是43.651070° N,而旧金山的纬度约为37.774929° N。由于43.651° N位于37.7749° N的北方,因此RBC的总部确实位于Lattice总部的北方。然而,问题在于提供的上下文并没有包括Sam Altman兄弟公司或其总部的任何信息。所以,检索到的内容并没有提供回答问题所需的细节。
此处的有用信息是RBC总部位于多伦多,而缺失的信息是Sam Altman兄弟公司总部的位置。没有这些信息,我们无法确定性地回答这个问题。因此,状态应该是不完整(INCOMPLETE),因为检索到的内容并未提供关于兄弟公司所需的详细信息。
R1 推理痕迹(继续):
=== 步骤 2b: 查找缺失信息 ===
搜索内容:
Sam Altman兄弟公司总部的位置
新检索到的上下文:
The Altman Brothers Corporate Headquarters, Office Locations and Addresses | Craft.co.
Altman Brothers总部位于美国洛杉矶,地址为103 S Robertson Blvd;
The Altman Companies总部位于美国佛罗里达州博卡拉顿,地址为1905 Corporate Blvd NW Suite 310,并且在该地有一个办公地点。
步骤 2: 验证
检索到的全部上下文:
加拿大皇家银行(RBC)总部位于安大略省的多伦多。
The Altman Brothers总部位于美国洛杉矶,地址为103 S Robertson Blvd;
The Altman Companies总部位于美国佛罗里达州博卡拉顿,地址为1905 Corporate Blvd NW Suite 310,并且在该地有一个办公地点。
关于Sam Altman的兄弟Jack和Max的一些信息,以及Sam Altman本人的简介。Jack曾在Hydrazine Capital和Altman Capital工作。
总结分析:
现在我们已经找到了关于Sam Altman兄弟公司总部的详细信息。
•RBC总部位于多伦多(43.651070° N),
•Altman Brothers的总部位于洛杉矶(34.052235° N),
•The Altman Companies的总部位于佛罗里达州博卡拉顿(26.361610° N)。
由于多伦多位于洛杉矶和博卡拉顿的北方,因此RBC的总部显然在Sam Altman兄弟公司总部的北边。
最终答案:
RBC总部确实位于Sam Altman兄弟公司总部的北边,具体取决于你指的是哪个Altman兄弟的公司。
R1 推理痕迹(继续):
=== 步骤 2b: 查找缺失信息 ===
搜索内容:
确认Sam Altman兄弟(Jack或Max)与哪些具体公司相关,因为上下文中提到了多个与Altman相关的公司(Altman Brothers,Altman Companies,Hydrazine Capital,Altman Capital)。
新检索到的上下文:
Sam Altman和他的家人发布了一份声明,否认Ann Altman的指控……(相关新闻内容)。
此声明由Sam Altman、他的母亲和两个兄弟共同签署,否认了妹妹Ann Altman的指控,并表示“这些指控完全不属实”。
然而,这段新的信息与问题并无直接关联,并没有提供关于Sam Altman兄弟与哪家公司的具体关系。信息中提到Sam Altman的母亲和两个兄弟,但没有明确指出Jack和Max与哪些公司相关。
总结分析:
尽管我们从上下文中得知Sam Altman有两个兄弟Jack和Max,并且这些兄弟与一些公司有关系(如Hydrazine Capital和Altman Capital),但没有确切证据表明Sam Altman的兄弟是The Altman Brothers或The Altman Companies的所有者或运营者。
由于上下文未明确说明Sam Altman兄弟与这些公司的关联,无法确认Sam Altman兄弟是否拥有或运营The Altman Brothers或The Altman Companies。
因此,尽管我们知道RBC总部位于多伦多,而The Altman Brothers总部位于洛杉矶,我们仍然无法确定是否可以直接回答“RBC总部是否在Sam Altman兄弟公司总部北边”这个问题。
最终结论:
状态:不完整(INCOMPLETE)
缺失的信息是关于Sam Altman兄弟与这些公司的确切关系。因此,虽然RBC和The Altman Brothers的总部位置清晰,但由于上下文中没有明确提及Sam Altman兄弟与这些公司之间的直接联系,我们无法确定最终答案。
R1 推理痕迹(最终确认):
好的,让我们再来一次验证。用户询问RBC(加拿大皇家银行)总部是否位于Sam Altman兄弟公司总部的北边。
首先,从提供的上下文中,我们知道:
•加拿大皇家银行(RBC)的总部位于安大略省的多伦多。
•Altman Brothers的总部位于洛杉矶,地址是103 S Robertson Blvd。
接下来,判断多伦多是否位于洛杉矶的北方。多伦多位于加拿大,显然位于美国的北边,而洛杉矶位于加利福尼亚州南部。所以,从地理位置来看,多伦多确实位于洛杉矶的北方。
验证完毕:
上下文中已经提供了完整的位置信息,没有遗漏。多伦多确实在洛杉矶的北方。
最终结论:
状态:已完成(COMPLETE)
RBC总部位于多伦多,而Altman Brothers总部位于洛杉矶,地理上多伦多位于洛杉矶的北方。因此,答案是是的,RBC总部在Altman Brothers总部的北边。
答案:
是的,RBC总部确实位于Sam Altman兄弟公司总部的北边。
结论
我们希望将推理模型与代理循环结合到RAG工作流中的这一工作,能够成为未来架构的一个范例,替代传统的RAG方法,提供更强大的技术来执行长时间、嵌套和复杂的查询。
欢迎随时访问我们的完整实现,体验使用推理模型(如R1)与信息检索和代理系统结合时的显著性能提升。
如有进一步的讨论和合作需求,欢迎通过LinkedIn与我们联系。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。