升级您的网站搜索:利用生成式 AI 提供符合情境的回答

生成式 AI 是指 生成式 AI 来创建新内容,例如文本、图片、音乐、音频 和视频。生成式 AI 依靠机器学习 (ML) 模型来学习 人类创建内容的数据集内分析各种模式和关系。

这项技术已展示出不可思议的功能, Gemini。您可能想知道 生成式 AI 工具集成到我的网络产品中?

一个常见的应用场景是为用户提供更好的提问界面 网站内容的有关信息。您可以大幅改善用户的搜索结果, 生成式 AI 模型。

您可以创建一个界面,供用户撰写问题,然后 大型语言模型 (LLM),例如 Gemini, 然后向用户显示答案

假设该网站中存在这样一个地图项。用户想知道 包含在 Interop 2024 中,它们输入以下查询:

What are the features included in Interop 24?

遗憾的是,由于以下几种原因,输出结果可能会不正确:

  • 用户未给 LLM 提供有关问题的背景信息,因此 LLM 更容易返回错误答案或幻觉。
  • LLM 可能在 Interop 2024 创建或其功能之前就接受过训练, 所以不知道这些信息

虽然 LLM 有可能找到更多最新信息,但 LLM 培训 它们本身就过时了。保持最新结果可能会 既耗时又昂贵

使用提示工程

提示工程 是一套能够从 LLM 中获取最佳输出的技术。

一种方法是在提示中提供额外的上下文, 更有可能输出与情境相关的内容。

继续我们的互操作性示例,我们第一步是提供完整的 作为上下文。然后将问题作为输入 LLM 来回答。例如:

Context:
Following on from the success of Interop 2022 and Interop 2023, we
are excited about the opportunity to collaborate once again with
all key browser vendors and other relevant stakeholders...
(trimmed to fit in this article)

Input:
What are the features included in Interop 2024?

Gemini 会输出如下内容:

The features included in Interop 24 are Accessibility, CSS Nesting, Custom
Properties, Declarative Shadow DOM, font-size-adjust, HTTPS URLs for
WebSocket, IndexedDB, Layout, Pointer and Mouse Events, Popover, Relative
Color Syntax, requestVideoFrameCallback, Scrollbar Styling, @starting-style
and, transition-behavior, Text Directionality, text-wrap: balance,URL

这个答案可能比没有上下文的提示要好得多,因为 根据所提供的上下文给出回答。

利用 RAG 进行纵向扩容

例如,我们要的不是回答关于单篇报道的问题,而是 LLM 会回答更多有关 web.dev 的问题,并将任何文章用作 额外背景信息。虽然对于规模较小的网站来说可以实现这一目标,但考虑到 Gemini 1.5 的上下文窗口包含 100 万个词元, 较大的提示运行速度更慢,运行费用也更高

LLM 的输入和输出长度以词元为单位进行衡量和收费。词元是 来表示文本输入中的通用字符序列。通过 词元数通常大于单词数。作为 第一个样本中的输入有 775 个字词,由 1097 个 词元。不同的 LLM 计算词元的方式可能有所不同,大多数 LLM 提供的 用于计算文本输入词元数量的 API 或端点。

一种解决方案是提供与 LLM 提示相关的文章。此任务应为 给定两个部分:

  1. 在提示 LLM 时,添加热门文章的内容作为上下文。
  2. 在内容中搜索与“ Interop 2024?”。

我们希望 Gemini 结果根据以下文章返回内容:

输入应如下所示:

Context:
Article 1:
Over the past two years... (trimmed)

Article 2:
At the end of last year Interop 2023 wrapped up. This effort... (trimmed)

Article 3:
Following on from the success of Interop 2022... (trimmed)

Input:
What are the features included in Interop 2024?

此上下文会生成我们预期的输出。

* Accessibility * CSS Nesting * Custom Properties
* Declarative Shadow DOM * font-size-adjust
* HTTPS URLs for WebSocket * IndexedDB * Layout
* Pointer and Mouse Events * Popover * Relative Color Syntax
* requestVideoFrameCallback * Scrollbar Styling
* @starting-style and transition-behavior * Text Directionality
* text-wrap: balance * URL

对于熟悉 AI 技术的人员,这种方法使用 RAG, 以提高通过生成式 AI 工具获得真实答案的可能性。

虽然 RAG 技术适用于常规全文搜索, 这种方法的不足之处

  • 全文搜索可帮助 AI 找出与关键字完全匹配的结果。然而,LLM 无法 以确定用户查询背后的预期含义。这可能会导致 输出不完整或不正确。
  • 如果字词具有多种含义,或查询中使用了多个 同义词。例如:“bank”(金融机构对比河岸)的 不相关的结果。
  • 全文搜索可能会输出包含相应关键字但 与用户目标不符的内容

语义搜索 是一种通过重点关注以下关键方面来提高搜索准确性的技术:

  • 搜索者的意图:尝试了解用户进行搜索的原因 。他们试图找到什么或达成什么目标?
  • 上下文含义:根据上下文解释字词和短语的 以及用户所在位置或搜索内容等其他因素 历史记录。
  • 概念之间的关系:语义搜索使用知识图谱(大型语言模型) 相关实体网络)和自然语言处理技术, 词和想法是如何相互关联的。

因此,当您构建支持语义搜索的工具时,搜索输出 而不是关键字。这意味着 确定相关文档,即使不存在完全匹配的关键字也是如此。它可以 也可以避免包含相应字词但含义不同的结果。

目前,您可以实现两种采用语义搜索的搜索工具: Vertex AI SearchAlgolia AI Search

从已发布的内容中提取答案

您学习了如何使用提示工程来让 LLM 提供答案 通过向提示添加上下文来判断它从未出现过的内容。另外,您已经 学习如何将这种方法从单篇文章扩展到整个语料库 使用 检索增强生成 (RAG) 分析法。您了解了语义搜索可以如何进一步改善 从而更好地在您的产品中实现 RAG。

大家都知道,生成式 AI 工具可以“感知”这使得 或者,最坏的情况是,对企业来说会造成伤害。 业务。借助这些方法,用户和开发者都可以改进 进而建立对这些应用输出的信任。