编者按:以下是由我们的朋友 You.com 提供的客座博文。我们已经看到了许多关于与互联网互动的有趣用例,并且我们一直在寻找新的工具来向我们的社区突出展示,以帮助实现这一目标。因此,当 You.com 提到他们将发布对其搜索引擎的 API 访问权限时——与他们用于驱动 AI 助手 的搜索引擎相同——我们立即抓住机会帮助他们宣传这一点。
这篇博文将介绍一些结果,突出展示 You.com 搜索 API 的功效。这些结果基于以下 notebook,您可以按照该 notebook 进行操作
YouRetriever
我们很高兴宣布发布 YouRetriever,这是访问 You.com 搜索 API 最简单的方式。You.com 搜索 API 由 LLM 为 LLM 设计,重点是检索增强生成 (RAG) 应用程序。我们在多个数据集上评估了我们的 API,以 benchmark LLM 在 RAG-QA 设置中的性能,并使用这些 benchmarks 来指导我们搜索系统的优化。
在这篇博文中,我们将比较和对比 You.com 搜索 API 与 Google 搜索 API,并为读者提供在 RAG-QA 设置中评估 LLM 的工具。我们将使用 RetrievalQA
Chain 在 Hotpot QA 上评估我们的检索器性能。Hotpot 是一个包含问题、答案和上下文的数据集。上下文与问题/答案的相关性可能有所不同,具有特殊的“干扰项”设置,其中 LLM 需要避免被上下文中的某些误导性文本分散注意力。在这个实验中,我们将从数据集中删除上下文,并用来自搜索 API 的文本片段替换它。从这个意义上说,整个互联网都是干扰文本,因为 API 负责在整个互联网上找到问题的答案,而不仅仅是在数据集中提供的片段列表中。我们称之为“网络干扰项”设置,用于评估搜索 API 在与 LLM 结合使用时的性能。
检索
关于我们的文本片段,您首先会注意到的是,当我们可以提供更大的文本片段时,我们会这样做,并且很快将可以选择指定您希望从单个片段返回的文本量,直至整页。 让我们问一下有史以来最伟大的弹球游戏玩家基思·埃尔温。

您可以看到,即使使用默认设置,我们也返回了 27 个关于伟大的基思的文本片段,并且其中一些文档包含相当多的文本。这使得我们的搜索 API 对于在 RAG-QA 设置中运行的 LLM 特别强大。
然而,这 27 个文本片段对于语言模型来说可能太多了。我们可以使用具有更长上下文窗口的模型作为一种解决方法。如果您不想使用较小上下文窗口的模型,您可以在这里采用一些选项。第一个是限制您从我们的 API 馈送到 LLM 的文档数量。另一个选项是使用 map_reduce chain 类型。map_reduce chain 类型采用更大的文本块并将它们分解,使其易于被 LLM 消化。这确实意味着您需要多次调用 LLM,这将意味着更慢的运行时间,但您将能够处理从 YouRetriever
返回的所有数据。
评估
为了进行评估,我们将使用 HotPotQA 数据集。我们使用 datasets 库从 Huggingface 数据集 加载它。 我们在这里使用 fullwiki 设置而不是 distractor,但正如我们之前所说,我们将使用我们自己的由搜索 API 提供支持的上下文,而不是现成的上下文。
让我们从 Hotpot QA 中取一个样本,并将我们的搜索 API 与 LangChain 中当前的替代方案之一 GoogleSearchAPIWrapper
进行比较。 这不是 LangChain 中的检索器,但只需少量代码即可制作一个类似的检索器。 我们需要做的就是实现抽象基类 BaseRetriever
的 _get_relevant_documents
方法。 我们应该在此处注意,您可以轻松地重复此实验并换入另一个网络搜索 API,例如 Bing。 首先,让我们为现有 wrapper 创建一个小实用程序。

正如您所看到的,Google 为我们提供了更少的信息来馈送到我们的 LLM。虽然在这两种情况下,我们都请求了来自 10 个网络结果的结果,但 You.com 搜索 API 将尝试为每个网络结果提供多个文本片段。 为了进一步演示,我们现在可以使用完全相同的 LLM 获取预测,以便我们尽力将实验隔离到评估搜索 API。
现在我们可以使用这两种搜索方法,并使用每个搜索 API 的结果从 LLM 获取预测。 重要的是要记住,在这一点上,我们已经尽一切努力确保我们测试的唯一内容是搜索结果的质量,以供 LLM 用来回答这些问题。
我们使用来自 hotpot 存储库的 F1 分数函数,以确保我们尽可能接近论文中提出的评估设置。
在我们运行的数据样本中,我们得到以下结果

结论
如您所见,You.com 搜索 API 在这个小数据集子集上大大优于 Google。请继续关注,You.com 将在未来几周内发布一项更大的搜索研究。如果您想成为我们的早期访问合作伙伴,请发送电子邮件至 api@you.com,并附上您的背景、用例和预计的每日调用量。