人工智慧和機器學習技術的出現已經徹底改變了組織利用其數據的方式,為解鎖數據潛力提供了新的機會。今天,我們宣布在 BigQuery 中推出向量搜索 (Vector Search) ,這使得在 BigQuery 數據上進行向量相似性搜索成為可能。這項功能通常被稱為近似最相鄰搜索 (Nearest-neighbor Search),對於實現多種新的數據和人工智慧案例至關重要,例如語義搜索、相似性檢測和檢索增強生成(RAG)與大型語言模型(LLM)。
向量搜索通常在高維數值向量上進行,也被稱為嵌入向量 (Embedding),這些向量包含了實體的語義表示,可以從多種來源生成,包括文本、圖像或視頻。BigQuery 向量搜索依賴於索引來優化查找和距離計算,以識別與之密切匹配的嵌入向量。
BigQuery 向量搜索簡介
- 它提供了一個簡單直觀的 CREATE VECTOR INDEX 和 VECTOR_SEARCH 語法,類似於 BigQuery 熟悉的文本搜索功能。這簡化了將向量搜索操作與其他 SQL 基本操作結合的過程,使您能夠以 BigQuery 的規模來處理所有數據。
- 它與 BigQuery 的 Embedding 功能配合使用,特別是通過基於 LLM 或預訓練模型。同時其接口也允許使用其他方式生成的嵌入向量。
- BigQuery 向量索引在底層表格數據變異時會自動更新,並且能夠輕鬆監控索引進度。可擴展的框架會支持多種向量索引類型,首先實現類型(First Implemented type)可以將優化聚類模型 (Optimized Clustering Model) 與兩部分索引 (two-piece index) 中的反向行列定位器 (inverted row locator) 結合。
- LangChain 實現了基於 Python 的與其他開源和第三方框架的集成。
- VECTOR_SEARCH 函數針對分析進行了優化,可以高效地處理大批量的查詢(行)。在處理小型輸入數據時,它還提供低延遲的推斷結果。更快、超低延遲的在線預測可以通過 Vertex AI 的集成在相同的數據上執行。
- 與 BigQuery 內置的治理功能集成,尤其是行級、數據遮罩和列級安全策略。
實用案例
嵌入生成和向量搜索的結合實現了許多有趣的用例,其中 RAG 是一個典型的例子。以下示例提供了高水平的算法描述,展示了使用向量搜索可以在您的數據應用程序或查詢中編碼的內容:
- 批次給定支援案例,找出十個與之密切相關的先前案例,並將它們傳遞給 LLM 來總結並提出解決建議。
- 給定一個審計日誌條目,找出過去 30 天中最相似的條目。
- 從患者數據中(診斷、醫療和藥物歷史、當前處方和其他 EMR 數據)生成嵌入向量,以對具有相似患者進行匹配,並針對該患者群體制定成功治療計劃。
- 以傳感器及攝影機數據來分析找出校車中其他車輛的車禍狀況,進行分析、調整和重新訓練管理安全功能參與的模型來避免事件再次發生。
- 給定一張圖片,在 BigQuery 物件表中找出最相關的圖像,並將它們傳遞給其模型來生成標題。