升級網站搜尋功能:運用生成式 AI 取得內容解答

生成式 AI 是指使用人工智慧來建立新內容,例如文字、圖片、音樂、音訊和影片。生成式 AI 仰賴機器學習 (ML) 模型來學習人工建立內容資料集中的模式和關係。

這項技術透過 Gemini 等應用程式展現了強大的功能。您可能會好奇 如何將生成式 AI 工具導入網路產品中?

常見用途之一是提供更好的介面,讓使用者向網站內容提問。善用機器學習技術可大幅改善使用者的搜尋結果

您可以建立介面,讓使用者撰寫問題,並將問題傳送至大型語言模型 (LLM) (例如 Gemini),然後向使用者顯示答案。

假設這個網站提供這類地圖項目。使用者想知道 2024 年協同整合服務涵蓋哪些 API,並輸入下列查詢:

What are the features included in Interop 24?

很遺憾,輸出結果可能會不正確,原因如下:

  • 使用者給了 LLM 的問題背景資訊,因此 LLM 較容易傳回錯誤的答案或幻覺。
  • LLM 可能在 2024 年互通性建立前完成訓練,或功能判定失敗,所以無從得知這項資訊。

雖然 LLM 能找到更多最新資訊,但 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 計算符記的方式可能不盡相同,且大多會提供 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 無法判斷使用者查詢背後的意義。這可能會導致輸出內容不完整或不正確。
  • 如果字詞有多種含意,或者查詢使用同義詞,則可能會發生問題。舉例來說,輸入「銀行」(金融機構與河岸) 可能會產生不相關的結果。
  • 全文搜尋可能會輸出含有關鍵字,但不符合使用者目標的結果。

語意搜尋是改善搜尋準確度的技術,著重於下列重要層面:

  • 搜尋者的意圖:嘗試瞭解使用者進行搜尋的原因。他們想尋找或完成什麼?
  • 情境意義:解讀文字與詞組及其周圍的文字,以及使用者的位置或搜尋記錄等其他因素。
  • 概念之間的關係:語意搜尋會使用知識圖 (相關實體的大型網路) 和自然語言處理來瞭解字詞和概念之間的關係。

因此,當您使用語意搜尋建立工具時,搜尋輸出內容會根據查詢的整體目的,而非關鍵字。這表示即使沒有確切關鍵字,工具仍可判斷相關文件。這麼做也可以避免出現字詞,但具有不同含義的結果。

目前,您可以透過 Vertex AI SearchAlgolia AI Search 導入兩項搜尋工具。

根據已發布的內容畫出答案

您已學會如何使用提示工程,讓 LLM 在提示中加入背景資訊,針對不曾看過的內容提供相關解答。而且,您也已經瞭解如何使用擷取擴增生成 (RAG) 技術,將這個方法從個別文章擴大至整個內容語料庫。您已瞭解語意搜尋如何進一步改善使用者搜尋查詢的結果,更有效地將 RAG 實作到產品。

生成式 AI 工具造成的「難免」影響,讓生成式 AI 工具在最佳狀態、有時不可靠透過這些技術,使用者和開發人員都可以提高可靠性,或許還能建立信任度,提升這些應用程式的輸出內容。