AI News HubLIVE
站内改写2 分钟阅读

智能体的文本匹配过滤器 | Pinecone

语义搜索返回结果与查询含义相近,但可能忽略未说明的上下文,导致智能体基于错误信息行动。Pinecone 新推出的文本匹配过滤器(公开预览版)允许在无需预先标注整个数据集的情况下,通过词法筛选来限定搜索范围,从而减少在智能体管道中因错误检索引发的一系列无用工具调用。

语义搜索能返回含义相近的结果,但并不总能给出用户真正想问的答案。人类可以辨别其中的差异并跳过不相关的内容,但智能体无法做到:它会将任何返回结果视为事实依据并据此行动,而没有人事先检查结果是否正确。

最典型的差距在于未说明的上下文:查询对提问者而言可能十分清晰,但仍然缺少系统正确回答所需的信息。本文使用来自 Hugging Face 的 10,000 篇 CNN 新闻文章(时间跨度 2022-2024)的公开数据集,每篇文章的文本和主题标签作为元数据存储,展示了 Pinecone 新的文本匹配过滤器如何在不要求预先为所有情况标注数据集的前提下解决这个问题。

歧义问题

以查询“美国总统候选人有哪些?”为例。美国用户几乎肯定是指美国大选,但查询中并未明确说明。纯向量搜索返回的结果全部是关于法国选举的:

| 排名 | 文章ID | 得分 | 片段 | |------|--------|------|------| | 1 | 3433 | 0.8168 | 第一轮投票于4月23日举行,共有11名总统候选人。勒庞和马克龙预计... | | 2 | 8054 | 0.8138 | 法国主流政党的总统候选人未能进入第二轮。民调领先的埃马纽埃尔·马克龙... | | 3 | 3421 | 0.8130 | 法国将于周日举行第一轮总统选举。候选人迅速反应... |

显而易见的解决方法是让用户将查询重写为“美国顶级总统候选人”,但这有两个代价:首先,它将精确查询的负担推回给用户;其次,在智能体管道中,一次错误的检索成本远高于重新查询:如果智能体基于法国选举数据分析趋势,不仅生成错误答案的令牌被浪费,后续的工具调用也会白费,错误会沿每一步累积。

通过元数据过滤按国家限制结果是可行的,但这意味着需要预先为每个可能的维度(国家、选举年份、地方/全国选举)标注每条记录。事后发现任何新的过滤维度都需要重新处理整个数据集,对于生产系统可能涉及数十亿条记录。

解决方案:文本匹配过滤

Pinecone 的全文搜索(现处于公开预览阶段)支持文本匹配过滤器:一种词法查询,在语义搜索之前将候选集限定为包含特定文本的记录,而无需为应用程序可能需要的每种情况预先标注元数据。

对同一查询应用“United States”文本匹配过滤器后,结果变为:

| 排名 | 文章ID | 得分 | 片段 | |------|--------|------|------| | 1 | 5326 | 0.8012 | (CNN) 前副总统乔·拜登在超级星期二横扫南部各州,但佛蒙特州参议员伯尼·桑德斯... | | 2 | 7641 | 0.7992 | (CNN) 人权运动基金会周四宣布,将在加利福尼亚州主办一场 CNN 民主党总统候选人市政厅会议... | | 3 | 9859 | 0.7987 | (CNN) 唐纳德·特朗普总统和民主党总统候选人乔·拜登在多项政策上持截然不同的立场... |

查询、模型和索引与之前完全相同,唯一区别是候选集被限定为包含“United States”的记录。

通用场景

新闻搜索中的歧义易于理解,但同样的模式出现在任何查询假定未说明上下文的场景中:工业手册限定机器编号或错误代码、保险索赔限定保单编号或类型、法律搜索限定案件或管辖区。大多数语义搜索应用都会遇到此类问题,因为大多数查询都会遗漏某些信息。

这些过滤器可以组合:与布尔运算符结合、与元数据过滤器堆叠,或针对其他字段添加更多文本匹配过滤器,从而在单个查询中沿多个维度缩小候选集。

对智能体应用的意义

智能体没有步骤来双重检查语义相近的结果是否真正适合任务。任何必要的过滤必须在结果到达智能体之前完成,而非之后。文本匹配过滤将修正移至查询本身,而无需为应用程序可能需要的每种过滤器预先标注数据集。对于错误检索会引发一连串无用工具调用的管道,在查询时缩小候选集比事后发现错误成本更低。