注意
Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。
本文提供一些秘訣,協助您開始使用 AI 擴充,以及編製索引期間所使用的技能。
提示 1:從簡單和小規模開始著手
Azure 入口網站的 匯入資料 精靈 支援 AI 強化功能。 若未撰寫任何程式代碼,您可以建立及檢查擴充管線中使用的所有物件:索引、索引子、資料來源和技能。
另一種簡單的開始方法是建立一個資料來源,裡面只有少數文件或資料列,代表你想索引的文件。 小數據集是加快發現與解決問題速度的最佳方式。 將樣本從端到端的流程中檢驗,檢查結果是否符合你的需求。 當你對結果感到滿意時,就可以將更多檔案加入你的資料來源。
祕訣 2:即使發生失敗的狀況,也請找出可行的部分
有時候,輕微的失敗狀況也會使索引子停止運作。 如果你打算一個一個解決問題,這個條件是沒問題的。 不過,你可能想忽略特定類型的錯誤,這樣索引器才能繼續運作,你也能看到哪些流程實際運作。
若要在開發期間忽略錯誤,請在索引子定義中將 maxFailedItems 和 maxFailedItemsPerBatch 設為 -1。
{
"parameters": {
"maxFailedItems": -1,
"maxFailedItemsPerBatch": -1
}
}
注意
最佳做法是,對於生產工作負載,將 maxFailedItems 和 maxFailedItemsPerBatch 設為 0。
建議三:使用除錯會話來排除問題
偵錯工作階段是視覺化編輯器,可顯示技能的相依性圖形、輸入和輸出和定義。 它會從索引器資料來源載入一份單一原始碼文件,並搭配目前的索引器和技能組設定。 接著,你可以執行整個技能集,並將範圍限定於該文件。 在偵錯工作階段中,您可以識別並解決錯誤、驗證變更,並將變更認可至父技能集。 若要取得詳細解說,請參閱教學課程:偵錯會話。
提示四:預期內容不會出現
如果內容遺失,請在 Azure 入口網站檢查是否有遺失的文件。 在搜尋服務頁面,打開 索引器,選擇索引器,然後選擇執行的 狀態 值,以查看執行細節與錯誤。
如果問題與檔案大小有關,你可能會看到類似這樣的錯誤:「blob <檔名>的大小是 <檔案大小> 位元組,超過了你目前服務層級的文件擷取最大容量。」欲了解更多索引器限制資訊,請參見 服務限制。
第二個導致內容無法出現的原因,可能與輸入/輸出映射錯誤有關。 例如,輸出目標名稱為 "People",但索引欄位名稱為小寫的 "people"。 系統會回傳整個管線 201 則成功訊息,讓你以為索引成功,但實際上某欄位是空的。
秘訣 5:將處理延伸至執行時間上限以外
影像分析即使在簡單的情況下也需要密集運算,因此在影像時特別大型或複雜時,處理時間可能會超過允許的時間上限。
對於具有技能的索引子,大部分層級的技能執行上限為 2 小時。 若技能組處理未在該期間內完成,請安排索引器每五分鐘執行一次,以便從最後已知良好文件繼續處理。
排程索引將會從最後已知良好的文件繼續。 藉由使用週期性的排程,索引器能在數小時或數天內逐步處理影像待辦清單,直到所有未處理的影像皆完成處理。 如需排程語法的詳細資訊,請參閱排程索引子。
注意
如果排程索引器在同一文件上反覆失敗,服務會降低執行頻率(最多每 24 小時一次),直到取得進展為止。 解決底層問題後,按需執行索引器。 若有進展,索引器會回到設定區間。 如果索引器在成功執行後仍未回到設定的排程,請參閱排 程行為常見問題。
提示 6:提高索引編製吞吐量
對於平行索引編製,請將您的資料散佈到多個容器中,或是相同容器內的多個虛擬資料夾中。 接著,請建立多個資料來源和索引子配對。 所有索引子將可使用相同的技能集,並寫入至相同的目標搜尋索引,而讓您的搜尋應用程式無須辨識此分割。