快速入門:在 Azure 入口網站中使用 [搜尋總管] 進行影像搜尋
重要
穩定 API 版本支援影像向量,但根據補充使用規定,精靈和向量工具為公開預覽版。 根據預設,精靈會以 2024-05-01-Preview REST API 為目標。
使用 Azure 入口網站中的 [匯入和向量化資料] 精靈開始使用影像搜尋,並使用 [搜尋總管] 來執行影像型查詢。
您需要三個 Azure 資源和一些範例影像檔案,才能完成此逐步解說:
- Azure 儲存體會將影像檔案儲存為 Blob
- Azure AI 服務多重服務帳戶,用於影像向量化和光學字元辨識 (OCR)
- 用於編製索引和查詢的 Azure AI 搜尋服務
範例資料由 azure-search-sample-data 存放庫中的影像檔案組成,但您使用不同的影像,仍可依照此逐步解說進行。
必要條件
Azure 訂用帳戶。 免費建立一個。
Azure AI 服務為多服務帳戶,位於提供 Azure AI 視覺多模式內嵌的區域。
目前這些區域包括:SwedenCentral、EastUS、NorthEurope、WestEurope、WestUS、SoutheastAsia、KoreaCentral、FranceCentral、AustraliaEast、WestUS2、SwitzerlandNorth、JapanEast。 檢查文件以取得更新的清單。
Azure AI 搜尋服務可在任何層級,但會在與 Azure AI 服務相同的區域中。
服務層級會決定您可以編製索引的 Blob 數目。 我們已使用免費層來建立此逐步解說,並將內容限制為 10 個 JPG 檔案。
Azure 儲存體,標準效能 (一般用途 v2) 帳戶。 存取層可以是經常性存取層、非經常性存取層和極非經常性存取層。
所有上述資源都必須已啟用公用存取權,入口網站節點才能存取這些資源。 否則,精靈會失敗。 執行精靈之後,可以在不同的整合元件上啟用防火牆和私人端點以確保安全性。
如果私人端點已存在且無法停用,替代選項是從指令碼或程式從與私人端點相同虛擬網路內的虛擬機執行個別端對端流程。 以下是適用於整合向量化的 Python 範例程式碼。 在相同的 GitHub 存放庫中有其他程式設計語言的範例。
免費搜尋服務可支援 Azure AI 搜尋服務連線的角色型存取控制,但不支援 Azure 儲存體或 Azure AI 視覺的輸出連線上的受控識別。 這表示您必須對其他 Azure 服務的免費搜尋服務連線使用金鑰型驗證。 如需更安全的連線,請使用基本層或更高層級,並設定受控識別和角色指派,以准許其他 Azure 服務上的 Azure AI 搜尋服務要求。
檢查空間
如果您開始使用免費服務,則只能使用三個索引、三個資料來源、三個技能集和三個索引子。 開始之前,請先確定您有空間可容納額外的項目。 本快速入門會建立各一個物件。
準備範例資料
將 unsplash-signs image 資料夾下載到本機資料夾,或尋找您自己的一些影像。 在免費搜尋服務上,將影像檔案數控制在 20 個以下,以保持在擴充處理的免費配額內。
使用您的 Azure 帳戶登入 Azure 入口網站,然後前往您的 Azure 儲存體帳戶。
在瀏覽窗格中,選取 [資料儲存體] 底下的 [容器]。
建立新的容器,然後上傳影像。
啟動精靈
如果您的搜尋服務和 Azure AI 服務位於相同的支援區域和租用戶,而且您的 Azure 儲存體 Blob 容器使用預設設定,您即已準備好可以啟動精靈。
使用您的 Azure 帳戶登入 Azure 入口網站,然後移至您的 Azure AI 搜尋服務。
在 [概觀] 頁面上,選取 [匯入並向量化資料]。
連線到您的資料
下一個步驟是連線到提供影像的資料來源。
在 [連線到您的資料] 索引標籤上,選取 [Azure Blob 儲存體]。
請指定 Azure 訂用帳戶。
對於 Azure 儲存體,請選取提供資料的帳戶和容器。 對於其餘欄位,則使用預設值。
選取 [下一步]。
將文字向量化
如果原始內容包含文字,或技能集產生文字,則精靈會呼叫文字內嵌模型來產生該內容的向量。 在本練習中,文字會從您在下一個步驟中新增的光學字元辨識 (OCR) 技能產生。
Azure AI 視覺會提供文字內嵌,因此我們可使用該資源進行文字向量化。
在 [向量化您的文字] 頁面上,選取 [AI 視覺向量化]。 如果無法選取,請確定 Azure AI 搜尋服務和您的 Azure AI 多服務帳戶都在支援 AI 視覺多模式 API 的區域中。
選取 [下一步]。
向量化並擴充影像
使用 Azure AI 視覺來產生影像檔案的向量表示法。
在此步驟中,您也可以套用 AI 從影像中擷取文字。 此精靈會使用來自 Azure AI 服務的 OCR 來辨識影像檔案中的文字。
當 OCR 新增至工作流程時,索引中還會再出現兩個輸出:
- 首先,"chunk" 欄位會填入在影像中找到的任何文字的 OCR 產生字串。
- 其次,“text_vector” 欄位會填入代表 “chunk” 字串的內嵌。
如果您想要使用在字串上運作的相關性功能,例如語意排名和評分設定檔,則在 “chunk” 欄位中包含純文字會很有用。
在 [向量化影像] 頁面上,選取 [向量化影像] 核取方塊,然後選取 [AI 視覺向量化]。
選取 [使用針對文字向量化選取的相同 AI 服務]。
在擴充區段中,選取 [從影像擷取文字]。
選取 [使用針對影像向量化選取的相同 AI 服務]。
選取 [下一步]。
進階設定
為索引子指定執行階段排程。 我們建議在本練習中使用一次,但對於基礎資料不穩定的資料來源,您可以排程編製索引以實現變更。
選取 [下一步]。
執行精靈
在 [檢閱並建立] 上,請針對精靈執行時建立的物件指定前置詞。 精靈會建立多個物件。 常用前置詞可協助您保持井然有序。
選取 [建立] 以執行精靈。 此步驟會建立下列物件:
驅動編制索引管線的索引子。
Blob 儲存體的資料來源連線。
具有向量欄位、文字欄位、向量化工具、向量設定檔、向量演算法的索引。 您無法在精靈工作流程期間修改預設索引。 索引會符合 2024-05-01-preview REST API。
具有下列五個技能的技能集:
- OCR 技能可辨識影像檔案中的文字。
- 文字合併技能可統一 OCR 處理的各種輸出。
- 文字分割技能可新增資料區塊處理。 此技能內建於精靈工作流程中。
- Azure AI 視覺多模式可用於向量化從 OCR 產生的文字。
- 再次呼叫 Azure AI 視覺多模式以向量化影像。
檢查結果
[搜尋總管] 可接受文字、向量和影像作為查詢輸入。 您可以將影像拖曳或選取到搜尋區域。 [搜尋總管] 會將影像向量化,並將向量作為查詢輸入傳送至搜尋引擎。 影像向量化會假設您的索引具有向量化工具定義,這是匯入和向量化資料根據您的內嵌模型輸入所建立的。
在 Azure 入口網站的 [搜尋管理] 和 [索引] 下,選取您建立的索引。 內嵌的 [搜尋總管] 是第一個索引標籤。
在 [檢視] 底下,選取 [影像檢視]。
從包含範例影像檔案的本機資料夾中拖曳影像。 或者,開啟檔案瀏覽器以選取本機影像檔案。
選取 [搜尋] 以執行查詢
最相符的應該是您搜尋的影像。 由於向量搜尋會比對類似的向量,因此搜尋引擎會傳回與查詢輸入足夠相似的任何文件,最多可傳回 K 數目的結果。 您可以切換至 JSON 檢視,以取得包括相關性微調的更進階查詢。
請嘗試其他查詢選項以比較搜尋結果:
- 隱藏向量以取得更易讀的結果 (建議使用)。
- 選取要查詢的向量欄位。 預設為文字向量,但您可以指定影像向量,以從查詢執行中排除文字向量。
清理
此示範使用可計費的 Azure 資源。 如果不再需要資源,請將其從您的訂用帳戶中刪除,以避免產生費用。
下一步
本快速入門已說明 [匯入並向量化資料] 精靈,可建立影像搜尋需要的所有物件。 如果您希望了解每個步驟的詳細資料,請嘗試整合向量化範例。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應