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

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

這項技術已透過 Gemini 等應用程式展現出驚人的能力。您可能會想知道如何將生成式 AI 工具導入網站產品。

其中一個常見的應用情境,就是為使用者提供更完善的介面,讓他們可以針對網站內容提出問題。您可以利用機器學習技術,大幅改善使用者的搜尋結果。

您可以建立使用者輸入問題的介面,然後將問題傳送至大型語言模型 (LLM),例如 Gemini,再將答案顯示給使用者。

假設這個網站有這項功能,使用者想知道 Interop 2024 包含哪些 API,因此輸入以下查詢:

What are the features included in Interop 24?

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

  • 使用者提供的問句脈絡很少,因此 LLM 較可能傳回錯誤答案或幻覺。
  • LLM 可能在建立互通性 2024 之前完成訓練,或是對 LLM 的功能有所決定,因此不知道該資訊。

雖然 LLM 可以找到更多最新資訊,但 LLM 訓練資料集本身就是過時的。維持新鮮的結果可能會耗費大量時間,且費用高昂。

使用提示工程

提示工程是一組技術,可從 LLM 取得最佳輸出內容。

其中一種技巧是在提示中提供額外背景資訊,讓 LLM 更有可能輸出與背景資訊相關的內容。

接著,我們將繼續說明 Interop 範例,第一步是提供文章的完整內容做為背景。然後將問題新增為 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 回答的是關於單一文章的問題,而是希望 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 工具可能會「產生幻覺」,這項已知問題導致這些工具有時不準確,甚至會對企業造成傷害。使用這些技術,使用者和開發人員都能提高可靠性,並且建立對這些應用程式輸出的信任感。