向量搜尋技術已成為增強 AI 模型效能的關鍵工具。從模型訓練到實際應用,向量搜尋都能有效提升模型的準確性和效率。藉由將資料轉換為向量,向量搜尋可以捕捉資料間的語義相似性,並在大量資料中快速找到最相關的資訊。此技術在資訊檢索和資訊綜合方面都扮演著重要角色,尤其在生成式 AI 模型中,向量搜尋更能提供關鍵的上下文資訊,提升模型的生成能力。實務上,向量搜尋已廣泛應用於語義搜尋、檢索增強生成(RAG)和機器人流程自動化(RPA)等領域,有效解決了傳統搜尋方法難以處理的語義理解和資訊匹配問題。

如何使用向量搜尋增強AI模型

AI模型涵蓋了一系列的資料結構和技術。機器學習(ML)是大多數現代根據向量的AI模型的核心,旨在透過訓練過程教導電腦執行特定任務。一般而言,ML過程透過識別模式來工作。一旦模型學習了這些模式,它就能夠重建或插值這些模式來處理新的輸入。這些技術和模型在AI世界中無處不在,是驅動新使用案例的關鍵因素。

從廣義上講,ML訓練和AI應用可以分為兩個方面:資訊檢索和資訊綜合。資訊檢索涉及找到有用的資訊作為AI過程的輸入。向量搜尋非常適合這項任務。嵌入模型可以將大量輸入的語義編碼為標準向量形式。然後,您可以使用搜尋來找到大量輸入(包括結構化和非結構化輸入)的匹配項。

資訊綜合將多個資訊片段組合成一個連貫且有用的結果,這是生成式AI(GenAI)模型的領域。這些模型不能可靠地找到或生成真實事實,但它們可以有效地處理和重新格式化輸入資訊。

向量搜尋透過從訓練到微調再到執行時執行,增強了ML和AI模型的能力。在訓練過程中,您可以使用向量資料函式庫儲存和搜尋您的訓練資料。您可以設計一個過程來從資料函式庫中找到最相關的資料用於每個訓練任務。例如,在為醫學領域訓練語言模型時,您可以使用向量搜尋來檢索每個訓練批次最相關的醫學教科書章節。這確保模型學習到最相關的資訊,而不會被不相關的資訊分散注意力。

您可以在微調過程中應用相同的想法,微調基本上是在更通用的基礎模型上進行的第二階段訓練。例如,您可以微調醫學語言模型以生成報告,使用醫院系統偏好的風格和結構。向量搜尋可以幫助找到與每個訓練主題相關的人類撰寫報告。

無論您的模型是專用還是通用,您都可以透過自定義執行時行為來增強其能力。向量搜尋可以分析原始輸入並找到相關資訊。然後,您可以增強或完善原始輸入以包含檢索到的上下文。例如,您可能維護一個罕見疾病的向量資料函式庫,並搜尋任何與使用者描述匹配的內容,以獲得更具體的診斷。

AI應用程式有很多形式,但現代應用程式越來越多地使用執行時自定義方法為生成式變換器模型提供相關上下文。這種架構是檢索增強生成(RAG)技術的基礎,您將在第8章《在AI應用程式中實作向量搜尋》中更深入地學習這個技術。

案例研究和實際應用

向量搜尋是一種強大的工具,能夠根據資訊的含義而不是確切的詞彙來構建複雜的系統以查詢資訊。透過向量搜尋,您可以檢索出高度相關的結果。

以下是三種流行的利用向量搜尋的方法:語義搜尋、RAG和機器人流程自動化(RPA)。您將探討MongoDB Atlas Vector Search的一些案例研究,這些案例研究適合每一類別,並瞭解如何透過更準確的搜尋(以前不可行)為終端使用者提供價值。

Okta - 自然語言存取請求(語義搜尋)

Okta是一家領先的身份安全提供商,使用自然語言RAG介面允許使用者輕鬆地為其組織中的新技術請求角色。它們使用Atlas Vector Search和自定義嵌入模型構建了一個名為Okta Inbox的系統,使用者能夠將自然語言查詢對映到正確的角色。

一個AI - 根據語言的AI(RAG業務資料)

One AI提供各行業的垂直化AI代理和聊天機器人。這些服務允許對檔案進行詳細的AI輔助分析,並具有金融服務、房地產、製造業和零售業等領域的應用。

諾沃諾迪斯克 - 自動臨床研究生成(高階RAG/RPA)

諾沃諾迪斯克是一家領先的醫療保健公司,旨在戰勝世界上一些最嚴重的慢性疾病,如糖尿病。在新藥物獲得批准和交付給患者的過程中,它們必須生成臨床研究報告(CSR)。這是一份詳細記錄臨床試驗的方法、執行、結果和分析,並旨在成為監管機構和藥物批准過程中其他利益相關者的重要真實來源。

向量搜尋最佳實踐

本文涵蓋了提高向量搜尋準確性的最佳實踐,包括智慧資料建模、佈署模型選項以及原型和生產使用案例的考慮。透過遵循這些最佳實踐,您將更有可能提高向量搜尋結果的品質,並以可擴充套件、生產就緒的方式執行您的搜尋系統。

資料建模

在MongoDB中,資料建模指的是設計儲存在資料函式庫中的資料結構的過程。與傳統關聯式資料函式庫不同,MongoDB是一個NoSQL資料函式庫,使用靈活、無結構的模型,允許更動態和分層的資料儲存。向量搜尋資料建模的核心思想圍繞著嵌入模型不是無限能夠的概念,使用者可以透過控制相關性搜尋問題來控制嵌入模型中的相關性搜尋問題。

篩選

篩選是提高向量搜尋準確性的最基本但最有效的形式。它限制了有效檔案的範圍,從而增加了準確性並減少了查詢延遲時間。在查詢時,預篩選可以作為$vectorSearch查詢的一部分使用$match MQL語義。這意味著除了點篩選(如$eq),使用者還可以定義範圍篩選(如$gt或$lt),只對符合範圍值的檔案進行搜尋,而不是匹配特定值。

分塊

在RAG背景下,出現了一個有趣的類別比。就像聊天機器人需要智慧提示工程一樣,嵌入模型需要智慧分塊。智慧分塊需要找到正確的上下文層次,可以有效地對映到搜尋或自然語言查詢。這也可能是提供給LLM的正確上下文層次,但如您稍後在“父檔案檢索”部分所見,這不是一個嚴格要求,如果您智慧地建模資料。

實驗

評估哪種分塊策略或嵌入模型最適合您的使用案例需要建立判斷列表,其中包含檔案及其對應查詢。您還需要嘗試不同的嵌入模型和分塊策略,以檢視哪一個最適合您的使用案例。給定的嵌入模型可能在固定分塊策略下表現得更好或更差。你可以更容易地評估哪種分塊和嵌入模型組合最適合您的使用案例。你可以有多個版本的相同資料,每個版本都以不同的方式拆分和處理。透過嘗試不同的方法,你可以確定最佳的拆分方法和嵌入模型,以滿足您的具體搜尋需求。

混合搜尋的力量:結合向量搜尋和詞彙搜尋

在資訊檢索的世界中,混合搜尋是一種強大的技術,允許我們結合多個搜尋方法來取得更好的結果。其中,向量搜尋和詞彙搜尋是兩種常用的方法。在本文中,我們將探討如何結合這兩種方法來實作混合搜尋。

向量搜尋的優勢

向量搜尋是一種根據向量空間模型的搜尋方法,它可以有效地捕捉檔案之間的語義相似性。透過將檔案轉換為向量,向量搜尋可以計算檔案之間的相似度,並傳回最相關的檔案。

詞彙搜尋的優勢

詞彙搜尋是一種根據詞彙匹配的搜尋方法,它可以有效地查詢包含特定詞彙的檔案。透過建立詞彙索引,詞彙搜尋可以快速地查詢相關檔案。

混合搜尋的實作

混合搜尋的實作涉及到結合向量搜尋和詞彙搜尋的結果。其中,一種常用的方法是使用互斥排名融合(Reciprocal Rank Fusion)方法。這種方法可以結合多個搜尋結果,並傳回最相關的檔案。

範例:結合向量搜尋和詞彙搜尋

假設我們有一個檔案集合,其中包含多個欄位,如書名、章節標題、章節摘要等。我們可以使用向量搜尋對書名和章節標題進行索引,並使用詞彙搜尋對章節摘要進行索引。然後, мы可以使用互斥排名融合方法結合這兩個搜尋結果,傳回最相關的檔案。

[
  {
    "_id": "662043cfb084403cdcf5210d",
    "book_title": "軟體設計哲學",
    "book_title_embedding": [0.67, 0.45,...],
    "chapter_title": "複雜性的本質",
    "chapter_title_embedding": [0.51, 0.89,...],
    "chapter_summary": "本文講述如何設計軟體系統以最小化其複雜性。",
    "chapter_summary_embedding": [0.36, 0.90,...]
  },
 ...
]
圖表翻譯:

以下圖表展示了混合搜尋的流程:

  flowchart TD
    A[向量搜尋] --> B[詞彙搜尋]
    B --> C[互斥排名融合]
    C --> D[傳回最相關檔案]

這個圖表顯示了混合搜尋的基本流程,包括向量搜尋、詞彙搜尋、互斥排名融合和傳回最相關檔案。

人工智慧應用設計

隨著智慧應用的演進,其架構設計對於效率、擴充套件性、操作性和安全性至關重要。本章將引導您瞭解在建立強健且回應迅速的人工智慧/機器學習(AI/ML)應用時需要考慮的關鍵主題。

資料模型

資料模型是人工智慧應用設計的基礎。首先,我們需要了解如何組織資料,以便為三種不同的消費者提供最大效益:人類、應用程式和人工智慧模型。資料模型涉及資料的結構、格式和儲存方式,以滿足不同使用者的需求。

人類消費者

人類消費者需要易於理解和操作的資料。因此,資料模型應該考慮到資料的可讀性和可查詢性。例如,使用者介面應該允許使用者輕鬆地查詢和瀏覽資料。

應用程式消費者

應用程式消費者需要快速存取和處理資料的能力。因此,資料模型應該最佳化資料的存取和處理效率。例如,使用適合的資料函式庫索引可以提高查詢效率。

人工智慧模型消費者

人工智慧模型消費者需要大量高品質的資料來進行訓練和推理。因此,資料模型應該考慮到資料的豐富性和多樣性。例如,使用資料增強技術可以增加訓練資料的多樣性。

資料儲存

資料儲存是人工智慧應用設計的另一個重要方面。不同的資料型別(如結構化、半結構化和非結構化資料)需要不同的儲存技術。例如,結構化資料可以使用關係型資料函式庫儲存,而非結構化資料可以使用NoSQL資料函式庫儲存。

資料儲存技術

常見的資料儲存技術包括:

  • 關係型資料函式庫(如MySQL)
  • NoSQL資料函式庫(如MongoDB)
  • 資料倉儲(如Amazon Redshift)
  • 分散式檔案系統(如HDFS)

資料儲存需求估算

估算資料儲存需求需要考慮到資料量、資料型別和查詢頻率等因素。例如,如果預計有大量非結構化資料,可能需要選擇NoSQL資料函式庫。

資料流

資料流是指資料在不同系統之間的移動和處理過程。資料流涉及到資料的擷取、轉換、載入和儲存等過程。

資料流程

典型的資料流程包括:

  1. 資料擷取:從各個來源擷取資料。
  2. 資料轉換:將擷取到的資料轉換為適合的格式。
  3. 資料載入:將轉換好的資料載入目標系統。
  4. 資料儲存:將載入的資料儲存在目標系統中。

資料流最佳化

最佳化資料流需要考慮到效率、可靠性和安全性等因素。例如,可以使用分散式處理技術來提高效率,或者使用錯誤檢測機制來確保可靠性。

資料生命週期管理

資料生命週期管理是指管理資料從建立到刪除的整個過程。這包括了資料更新、老化和保留等過程。

資料更新

資料更新是指更新現有的資料以反映最新的變化。例如,可以使用批次處理技術來更新大量資料。

資料老化

資料老化是指刪除不再需要的資料以節省儲存空間。例如,可以使用時間戳記來標記過期的資料。

資料保留

資料保留是指保留重要的資料以供未來查詢和分析。例如,可以使用歸檔技術來保留歷史資料。

從商業價值與使用者經驗的雙重角度來看,向量搜尋技術在增強AI模型方面展現出顯著的優勢。透過將語義理解融入搜尋過程,向量搜尋不僅提升了資訊檢索的效率和準確性,更進一步推動了生成式AI應用如RAG的蓬勃發展,為Okta、One AI和諾和諾德等企業創造了實質的商業價值,例如更精準的存取控制、更深入的商業資料分析以及更自動化的臨床研究報告生成。然而,向量搜尋的效能並非無上限,智慧的資料建模、分塊策略以及嵌入模型的選擇至關重要。技術團隊應著重於解決這些核心挑戰,例如透過篩選和分塊策略最佳化,並結合詞彙搜尋打造混合搜尋引擎,才能釋放向量搜尋技術的完整潛力,並將其有效應用於語義搜尋、RAG和RPA等多元場景,最大化其商業價值。展望未來,隨著向量資料函式庫技術的持續演進和嵌入模型的精進,我們預見向量搜尋將在AI應用中扮演更關鍵的角色,甚至可能重新定義人機互動和資訊檢索的未來格局。