在 Azure AI 搜尋中,AI 擴充 是指與 Foundry 工具 進行整合,讓其處理原始形式無法搜尋的內容。 透過擴充,分析和推斷可用來建立先前不存在的可搜尋內容和結構。
Azure AI 搜尋服務會用於文字與向量查詢,因此,AI 擴充的目的是要改善內容在搜尋相關案例中的效用。 原始內容必須是文字或影像 (您無法擴充向量) ,但擴充管線的輸出可以使用用於區塊化的 文字分割技能 和用於向量編碼的 Azure OpenAI 內嵌技能 等技能,在搜尋索引中進行向量化和索引。 如需在向量案例中使用技能的詳細資訊,請參閱整合式資料區塊處理和內嵌。
AI 擴充是以技能為基礎。
內建技能 點選 Foundry 工具。 其會將下列轉換和處理套用至原始內容:
- 多語言搜尋的翻譯和語言偵測。
- 實體辨識,可從大量文字中擷取人員名稱、地點和其他實體。
- 關鍵短語提取以識別和輸出重要術語。
- 光學字元辨識 (OCR) 可辨識二進位檔案中的列印和手寫文字。
- 影像分析,以描述影像內容,並將描述輸出為可搜尋的文字欄位。
- 透過 Azure OpenAI 進行文字內嵌,以進行整合向量化。
- 透過 Foundry 工具中的 Azure Vision 進行多模態嵌入,用於文字與影像向量化。
自訂技能會執行您的外部程序碼。 您可以針對要包含在管線中的任何自訂處理使用自訂技能。
AI 擴充是連線至 Azure 資料來源的索引子管線延伸。 增強管線具有索引器管線的所有元件(索引器、資料來源、索引),以及指定原子性增強步驟的技能集。
下圖顯示 AI 擴充的流程:
匯入是第一個步驟。 此時索引子會連線至資料來源,並將內容 (文件) 提取至搜尋服務中。 Azure Blob 儲存體是 AI 擴充案例中最常用的資源,但任何支援的資料來源皆可提供內容。
擴充和編製索引涵蓋了大部分的 AI 擴充管線:
當索引子 破解文件 並擷取影像和文字時,擴充就會開始。 接下來發生的處理類型取決於您的資料和您新增至技能集的技能。 影像可以轉送至執行影像處理的技能。 文字內容會排入佇列以進行文字和自然語言處理。 在內部,技能會建立「擴充的文件」,以在轉換發生時加以收集。
在技能組執行期間,增強的內容會被生成,除非您儲存它,否則它是暫時的。 您可以啟用 擴充快取 ,以保存技能輸出,以便在未來的技能集執行中重複使用。
若要將內容放入搜尋索引中,索引子必須具有對應資訊,用以將擴充的內容傳送至目標欄位。 欄位對應 (明確或隱含) 會設定從來源資料到搜尋索引的資料路徑。 輸出欄位對應會設定從擴充的文件到索引的資料路徑。
索引編製是指原始和擴充的內容擷取至搜尋索引的實體資料結構 (其檔案和資料夾) 中的程序。 在此步驟中會執行語彙分析和 Token 化。
探索是最後一個步驟。 輸出一律是可從用戶端應用程式查詢的搜尋索引。 您可以選擇將輸出作為知識存放區,內含 Azure 儲存體中可透過資料探索工具或下游程序來存取的 Blob 和資料表。 如果您要建立知識存放區,投影將決定擴充內容的資料路徑。 相同的擴充內容可同時出現在索引和知識存放區中。
AI 擴充的使用時機
如果您的原始內容是非結構化文字、影像內容或需要語言偵測和翻譯的內容,則擴充將有其效用。 通過 內置技能 應用 AI 可以解鎖這些內容,用於全文搜索和數據科學應用。
您也可以建立 自訂技能 來提供外部處理。 開放原始碼、第三方或第一方程式碼可在管線中整合為自訂技能。 可識別各類文件顯著特性的分類模型屬於此類別,但任何可為內容增加價值的外部套件均可使用。
內建技能的使用案例
內建技能基於 Foundry 工具 API: Azure Vision 與 Azure Language。 除非您的內容輸入規模很小,否則預期會 附加一個可計費的 Microsoft Foundry 資源 來執行較大規模的工作負載。
使用內建技能組合的技能集非常適用於下列應用案例:
影像處理技術,包括光學字元辨識 (OCR) 和視覺特徵的識別,例如臉部偵測、影像轉譯、影像辨識 (名人和地標),或影像方向之類的屬性。 這些技能會建立影像內容的文字表示法,以在 Azure AI 搜尋服務中進行全文搜尋。
自然語言處理會分析文字區塊。 此類別的技能包括實體辨識、情感偵測 (包括意見挖掘) 和個人識別資訊偵測。 透過這些技能,非結構化文字將可對應為索引中可搜尋且可篩選的欄位。
自訂技能的使用案例
自訂技能 會執行您提供並包裝在 自訂技能 Web 介面中的外部程式碼。 您可以在 azure-search-power-skills GitHub 存放庫中找到數個自訂技能範例。
自訂技能不一定是複雜的。 例如,如果您有提供模式比對或文件分類模型的現有套件,您可以將其包覆在自訂技能中。
儲存輸出
在 Azure AI 搜尋中,索引子會儲存其建立的輸出。 單一索引子執行最多可以建立三個資料結構,內含擴充輸出和已編製索引的輸出。
| 資料存放區 | Required | Location | Description |
|---|---|---|---|
| 可搜尋索引 | Required | 搜尋服務 | 用於全文搜尋和其他查詢表單。 指定索引是索引子需求之一。 索引內容會從技能輸出填入,以及從任何直接與索引中的欄位相對應的來源欄位填入。 |
| 知識存放區 | Optional | Azure 儲存體 | 用於知識挖掘、數據科學和多模態搜索等下游應用程序。 知識存放區定義於技能集內。 其定義將決定擴充的文件會投影為 Azure 儲存體中的資料表還是物件 (檔案或 Blob)。 針對 多模態搜尋案例,您可以將擷取的影像儲存至知識存放區,並在查詢時參考它們,讓影像直接傳回用戶端應用程式。 |
| 擴充快取 | Optional | Azure 儲存體 | 用於快取擴充,以便在後續的技能集執行中重複使用。 快取會儲存已匯入、尚未處理的內容 (破解的文件)。 此外也會儲存在技能集執行期間建立的擴充文件。 如果您使用影像分析或 OCR,且不想耗費時間與金錢來重新處理影像檔,快取將很有用。 |
索引和知識存放區彼此完全獨立。 雖然您必須連結索引以符合索引子需求,但若您唯一的目標是知識存放區,則可以在索引填入後加以忽略。
探索內容
定義並載入 搜尋索引 或 知識存放區之後,您可以探索其資料。
查詢搜尋索引
執行查詢以存取管線所產生的擴充內容。 索引就像任何其他您可能為 Azure AI 搜尋服務建立的項目一樣:您可以使用自訂分析器來補強文字分析、叫用模糊搜尋查詢、新增篩選,或試用評分設定檔以調整搜尋相關性。
在知識存放區上使用資料探索工具
在 Azure 儲存體中,知識存放區可採用下列形式:JSON 文件的 Blob 容器、影像物件的 Blob 容器,或資料表儲存體中的資料表。 您可以使用儲存體總管、Power BI 或任何連線至 Azure 儲存體的應用程式來存取您的內容。
Blob 容器會完整擷取擴充的文件,如果您要將資料饋送到其他程序,這一點將有所幫助。
如果您只需要擴充文件的某些部分,或想要包含或排除輸出的特定部分,可以利用資料表。 若要在 Power BI 中進行分析,建議採用資料表作為 Power BI 中的資料探索和視覺效果的資料來源。
可用性與價格
在提供 Foundry 工具的地區,AI 增強功能可用。 若要檢查 AI 擴充的可用性,請參閱 區域清單。
計費遵循標準定價模式。 當您在技能中指定 Foundry 模型資源中的 Azure OpenAI 或 Foundry 資源金鑰時,會產生與內建技能相關聯的成本。 另外還有與影像擷取相關聯的成本,按 Azure AI 搜尋的計量計費。 但是,文字提取和工具使用技能不計費。 如需詳細資訊,請參閱 Azure AI 搜尋如何收費。
檢查清單:一般工作流程
擴充管線由具有技能集的索引子所組成。 編製索引後,您可以查詢索引來驗證結果。
請從支援的資料來源中的資料子集開始。 索引子和技能集設計是反覆進行的程序。 使用具代表性的小型資料集,可加快工作速度。
建立指定資料連線的資料來源。
建立技能集。 除非你的專案規模不小,否則你應該 附上 Foundry 的資源。 如果您要建立知識存放區,請在技能集內加以定義。
建立定義搜尋索引的索引結構描述。
建立並執行索引子 ,將所有先前的元件整合在一起。 此步驟會擷取資料、執行技能集,並載入索引。
您也會在索引子中指定欄位對應和輸出欄位對應,以設定搜尋索引的資料路徑。
您可以選擇在索引子設定中啟用擴充快取。 此步驟可讓您於稍後重複使用現有的擴充。
若要重複上述任何步驟,請先 重設索引子,重設後再執行。 或者,您可以在每次執行時刪除並重新建立物件 (如果您使用免費方案,建議使用)。 如果您啟用快取,如果來源資料未變更,且您對管線的編輯不會使快取失效,索引子會從快取提取。