快速入門:在 Azure 入口網站中使用搜尋總管來搜尋影像
本快速入門顯示如何在 Azure 入口網站中使用 [匯入和向量化資料] 精靈來開始使用影像搜尋。 其也會顯示如何使用搜尋總管來執行影像型查詢。
範例資料包含 azure-search-sample-data 存放庫中的影像檔案,但您可以使用不同的影像,而且仍然可以遵循此逐步解說。
必要條件
Azure 訂用帳戶。 免費建立一個。
Azure AI 服務多服務帳戶,用於影像向量化和光學字元辨識 (OCR)。 影像向量化需要 Azure AI 視覺多模式內嵌。 請查看檔 ,以取得已更新的區域清單。
用於編製索引和查詢的 Azure AI 搜尋服務。 它可以在任何層級上,但它必須位於 與 Azure AI 多重服務相同的區域中。
服務層級會決定您可以編製索引的 Blob 數目。 我們已使用免費層來建立此逐步解說,並將內容限制為 10 個 JPG 檔案。
將影像檔案儲存為 Blob 的 Azure 儲存體。 使用 Azure Blob 記憶體或 Azure Data Lake Storage Gen2 (具有階層命名空間的儲存體帳戶)、標準效能 (一般用途 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 服務]。
選取 [下一步]。
對應新欄位
在 [ 進階設定 ] 頁面上,您可以選擇性地新增欄位。 根據預設,精靈會產生下列具有這些屬性的欄位:
欄位 | 適用於 | 描述 |
---|---|---|
chunk_id | 文字和影像向量 | 產生的字串欄位。 可搜尋、可擷取、可排序。 這是索引的檔索引鍵。 |
text_parent_id | 影像向量 | 產生的字串欄位。 可擷取、可篩選。 識別區塊的來源父檔。 |
image_parent_id | 影像向量 | 產生的字串欄位。 可擷取、可篩選。 識別影像的來源父檔。 |
chunk | 文字和影像向量 | 字串欄位。 人類可讀取的數據區塊版本。 可搜尋和擷取,但無法篩選、可Facet或可排序。 |
title | 文字和影像向量 | 字串欄位。 人類可讀取的文件標題或頁面標題或頁碼。 可搜尋和擷取,但無法篩選、可Facet或可排序。 |
image_vector | 影像向量 | 集合(Edm.single)。 影像的向量表示。 可搜尋和擷取,但無法篩選、可Facet或可排序。 |
您無法修改產生的欄位或其屬性,但如果您的資料來源提供欄位,您可以新增欄位。 例如,Azure Blob 儲存體 提供元數據欄位的集合。
選取新增。
從可用的欄位清單中選擇來源欄位、提供索引的功能變數名稱,並視需要接受預設資料類型或覆寫。
元數據欄位可搜尋,但無法擷取、可篩選、可 Facet 或可排序。
如果您想要將架構還原為其原始版本,請選取 [重設 ]。
排程編製索引
在 [進階設定] 頁面的 [排程編製索引] 下方 ,指定索引器的執行排程。 建議針對此練習使用「一次」。 針對基礎資料不穩定的資料來源,您可以排程編製索引以反映變更。
選取 [下一步]。
完成精靈
在 [檢閱您的設定] 頁面上,指定精靈將建立的物件的前置詞。 常用前置詞可協助您保持井然有序。
選取 建立。
精靈完成設定時,會建立下列物件:
驅動編制索引管線的索引子。
與 Azure Blob 儲存體 的數據源連線。
具有向量欄位、文字欄位、向量化工具、向量設定檔和向量演算法的索引。 您無法在精靈工作流程期間修改預設索引。 索引符合 2024-05-01-預覽 REST API,讓您可以使用預覽功能。
具有下列五個技能的技能集:
- OCR 技能可辨識影像檔案中的文字。
- 文字合併技能可統一 OCR 處理的各種輸出。
- 文字分割技能可新增資料區塊處理。 此技能內建於精靈工作流程中。
- Azure AI 視覺多模式內嵌技能用來向量化從 OCR 所產生的文字。
- 再次呼叫 Azure AI 視覺多模式內嵌技能,以向量化影像。
檢查結果
[搜尋總管] 可接受文字、向量和影像作為查詢輸入。 您可以將影像拖曳或選取到搜尋區域。 [搜尋總管] 會將影像向量化,並將向量作為查詢輸入傳送至搜尋引擎。 影像向量化會假設您的索引具有向量化工具定義,這是匯入和向量化資料根據您的內嵌模型輸入所建立的。
在 Azure 入口網站中,移至 [搜尋管理] > [索引],然後選取您已建立的索引。 [搜尋總管] 是第一個索引標籤。
在 [檢視] 功能表上,選取 [影像檢視]。
從包含範例影像檔案的本機資料夾中拖曳影像。 或者,開啟檔案瀏覽器以選取本機影像檔案。
選取 [搜尋] 以執行查詢。
最相符的項目應該是您已搜尋的影像。 因為向量搜尋會比對類似的向量,所以搜尋引擎會傳回任何與查詢輸入足夠相似的文件,最多可傳回
k
個結果數目。 您可以切換至 JSON 檢視,以取得包括相關性微調的更進階查詢。請嘗試其他查詢選項以比較搜尋結果:
- 隱藏向量以取得更易讀的結果 (建議使用)。
- 選取要查詢的向量欄位。 預設為文字向量,但您可以指定影像向量,以從查詢執行中排除文字向量。
清理
此示範使用可計費的 Azure 資源。 如果您不再需要資源,則請將其從您的訂用帳戶中刪除,以避免產生費用。
後續步驟
本快速入門已介紹 [匯入和向量化資料] 精靈,而此精靈會建立影像搜尋需要的所有物件。 如果您希望了解每個步驟的詳細資料,請嘗試整合向量化範例。