分享方式:


快速入門:使用 Azure 入口網站向量化文字和影像

本快速入門會協助您在 Azure 入口網站中,透過匯入並向量化資料精靈,開始使用整合向量化。 此精靈會將您的內容區塊化,並呼叫內嵌模型,以在編製索引和進行查詢期間將內容向量化。

關於精靈的要點:

  • 來源資料是 Azure Blob 記憶體、Azure Data Lake Storage (ADLS) Gen2 或 OneLake 檔案和捷徑。

  • 文件剖析模式是預設值 (每個 Blob 或檔案一個搜尋文件)。

  • 索引結構描述無法設定。 它提供區塊化資料的向量和非向量欄位。

  • 區塊化無法設定。 有效設定包括:

    textSplitMode: "pages",
    maximumPageLength: 2000,
    pageOverlapLength: 500
    

必要條件

公用端點需求

所有前述資源都必須已啟用公用存取,這樣入口網站節點才能存取這些資源。 否則,精靈會失敗。 在精靈執行之後,您可以在整合元件上啟用防火牆和私人端點以確保安全性。 如需詳細資訊,請參閱在匯入精靈中保護連線

如果私人端點已存在,而且您無法將其停用,則替代選項是從虛擬機器上的指令碼或程式來執行個別端對端流程。 虛擬機器必須位於與私人端點相同的虛擬網路中。 以下是適用於整合向量化的 Python 範例程式碼。 相同的 GitHub 存放庫具有其他程式設計語言的範例。

角色型存取控制需求

我們建議將角色指派用於其他資源的搜尋服務連線。

  1. 在 Azure AI 搜尋上,啟用角色

  2. 將您的搜尋服務設定為使用受控識別

  3. 在您的資料來源平台和內嵌模型提供者上,建立可讓搜尋服務存取資料和模型的角色指派。 準備範例資料提供設定角色的指示。

免費搜尋服務可支援 Azure AI 搜尋服務連線上的 RBAC,但不支援 Azure 儲存體或 Azure AI 視覺輸出連線上的受控識別。 這層支援表示您必須對免費搜尋服務與其他 Azure 服務之間的連線使用金鑰型驗證。

如需更安全的連線:

  • 使用基本層或更高層級。
  • 設定受控識別,並使用角色進行授權存取。

注意

如果您無法逐步完成精靈,因為其他選項無法使用 (例如,您無法選取資料來源或內嵌模型),請重新造訪角色指派。 錯誤訊息指出模型或部署不存在,然而事實上真正的原因是搜尋服務沒有存取這些模型或部署的權限。

檢查空間

如果您是從免費服務開始,則限制為 3 個索引、資料來源、技能集和索引子。 基本限制為 15 個。 開始之前,請先確定您有空間可容納額外的項目。 本快速入門會建立各一個物件。

檢查語意排名工具

此精靈支援語意排名,但僅限在基本層和更高階層上,以及僅在您的搜尋服務上已啟用語意排名工具時。 若您使用計費層,請檢查是否已啟用語意排名工具。

準備範例資料

本節將告知適用於本快速入門的資料。

  1. 使用您的 Azure 帳戶登入 Azure 入口網站,然後前往您的 Azure 儲存體帳戶。

  2. 在左側面板中,在 [資料儲存體] 下方選取 [容器]

  3. 建立新的容器,然後上傳本快速入門將使用的 health-plan PDF 文件

  4. 在左邊窗格的 [存取控制] 之下,將儲存體 Blob 資料讀取器角色指派給搜尋服務身分識別。 或者,從 [存取金鑰] 頁面取得儲存體帳戶的連接字串。

  5. 或者,同步處理容器中的刪除與搜尋索引中的刪除。 下列後續步驟可讓您設定索引子以進行刪除偵測:

    1. 在儲存體帳戶上啟用虛刪除

    2. 如果您使用原生虛刪除,則不需對 Azure 儲存體執行進一步的步驟。

    3. 否則,新增自訂中繼資料,索引子可加以掃描以判斷哪些 Blob 標示為要刪除。 為您的自訂屬性提供描述性名稱。 例如,您可以將屬性命名為 "IsDeleted",設為 false。 針對容器中的每個 Blob 執行此動作。 稍後,當您想要刪除 Blob 時,請將此屬性變更為 true。 如需詳細資訊,請參閱從 Azure 儲存體檢索時變更和刪除偵測

設定內嵌模型

精靈可使用從 Azure OpenAI、Azure AI Vision 或 Azure AI Studio 中的模型目錄部署的內嵌模型。

精靈支援 text-embedding-ada-002、text-embedding-3-large 和 text-embedding-3-small。 在內部,精靈會呼叫 AzureOpenAIEmbedding 技能以連線到 Azure OpenAI。

  1. 使用您的 Azure 帳戶登入 Azure 入口網站,然後前往您的 Azure OpenAI 資源。

  2. 設定權限:

    1. 在左側功能表中,選取 [存取控制]

    2. 選取 [新增],然後選取 [新增角色指派]。

    3. 在 [作業函式角色] 底下,選取 [認知服務 OpenAI 使用者],然後選取 [下一步]

    4. 在 [成員] 底下,選取 [受控識別],然後選取 [成員]

    5. 依訂用帳戶和資源類型篩選 (搜尋服務),然後選取搜尋服務的受控識別。

    6. 選取檢閱+指派

  3. 在 [概觀] 頁面上,選取 [按一下這裡以檢視端點] 和 [按一下這裏以管理金鑰],如果您需要複製端點或 API 密鑰的話。 如果您使用 Azure OpenAI 資源搭配金鑰型驗證,則可以將這些值貼入精靈中。

  4. 在 [資源管理] 和 [模型部署] 底下,選取 [管理部署] 以開啟 Azure AI Studio。

  5. 複製 text-embedding-ada-002 或另一個受支援內嵌模型的部署名稱。 如果您沒有內嵌模型,請立即部署一個。

啟動精靈

  1. 使用您的 Azure 帳戶登入 Azure 入口網站,然後移至您的 Azure AI 搜尋服務。

  2. 在 [概觀] 頁面上,選取 [匯入並向量化資料]

    螢幕擷取畫面:開啟精靈以匯入和向量化資料的命令。

連線到您的資料

下一步是連接到搜尋索引要使用的資料來源。

  1. 在 [設定您的資料連線] 頁面上,選取 [Azure Blob 儲存體]

  2. 請指定 Azure 訂用帳戶。

  3. 選擇提供資料的儲存體帳戶和容器。

  4. 指定您是否想要刪除偵測支援。 在後續的編製索引回合,搜尋索引會更新,以根據 Azure 儲存體上的虛刪除 Blob 移除任何搜尋文件。

    • Blob 支援原生 Blob 虛刪除使用自訂資料進行虛刪除
    • 您先前必須在 Azure 儲存體上啟用虛刪除,並選擇性地新增自訂中繼資料,檢索作業可將其辨識為刪除旗標。 如需這些步驟的詳細資訊,請參閱準備範例資料
    • 如果您設定了 Blob 要使用自訂資料進行虛刪除,請在此步驟中提供中繼資料屬性名稱/值組。 我們建議提供 "IsDeleted"。 如果 Blob 上的 "IsDeleted" 設定為 true,則索引子會在下一次索引子執行時卸除對應的搜尋文件。

    精靈不會檢查 Azure 儲存體的設定是否有效,或在不符合需求時擲回錯誤。 相反地,刪除偵測無法運作,而且您的搜尋索引可能會隨著時間收集孤立的文件。

    具有刪除偵測選項的資料來源頁面的螢幕擷取畫面。

  5. 指定您是否希望搜尋服務使用其受控識別連線到 Azure 儲存體

    • 系統會提示您選擇系統管理的或使用者管理的身分識別。
    • 身分識別應該在 Azure 儲存體上具有 [儲存體 Blob 資料讀取器] 角色。
    • 請勿略過此步驟。 如果精靈無法連線到 Azure 儲存體,在編製索引期間發生連線錯誤。
  6. 選取 [下一步]。

將您的文字向量化

在此步驟中,指定用於向量化區塊資料的內嵌模型。

  1. 在 [將文字向量化] 頁面上,選擇內嵌模型的來源:

    • Azure OpenAI
    • Azure AI Studio 模型目錄
    • 在與 Azure AI 搜尋服務相同的區域中現有的 Azure AI 視覺多模式資源。 如果相同區域中沒有 Azure AI Services 多服務帳戶,則無法使用此選項。
  2. 選擇 Azure 訂用帳戶。

  3. 根據資源進行選取:

    • 針對 Azure OpenAI,選擇 text-embedding-ada-002、text-embedding-3-large 或 text-embedding-3-small 的現有部署。

    • 針對 AI Studio 目錄,選擇 Azure、Cohere 和 Facebook 內嵌模型的現有部署。

    • 針對 AI 視覺多模式內嵌,選取帳戶。

    如需詳細資訊,請參閱本文前面的設定內嵌模型

  4. 指定您是否希望搜尋服務使用 API 金鑰或受控識別進行驗證。

    • 身分識別應具有 Azure AI 多服務帳戶上 [認知服務 OpenAI 使用者] 角色。
  5. 選取核取方塊,確認使用這些資源的計費影響。

  6. 選取 [下一步]。

向量化並擴充您的影像

如果您的內容包含影像,您可以採取兩種方式套用 AI:

  • 使用目錄中支援的影像內嵌模型,或選擇 Azure AI 視覺多模式內嵌 API,將影像向量化。

  • 使用光學字元辨識 (OCR) 辨識影像中的文字。 此選項會叫用 OCR 技能,以從影像讀取文字。

Azure AI 搜尋服務和您的 Azure AI 資源必須位於相同的區域中。

  1. 在 [向量化您的影像] 頁面上,指定精靈應該建立的連接類型。 針對影像向量化,精靈可以連線至 Azure AI Studio 或 Azure AI 視覺中的內嵌模型。

  2. 指定訂用帳戶。

  3. 針對 Azure AI Studio 模型目錄,指定專案和部署。 如需詳細資訊,請參閱本文前面的設定內嵌模型

  4. 您可選擇破解二進位影像 (例如文件檔案掃描),並使用 OCR 來辨識文字。

  5. 選取核取方塊,確認使用這些資源的計費影響。

  6. 選取 [下一步]。

選擇 [進階設定]

  1. 在 [進階設定] 頁面上,您可以選擇性地新增 [語意排名],以在查詢執行結束時重新產生結果。 重新調整會將最相關的語意相符項目升階到最上層。

  2. 選擇性地為索引子指定執行排程

  3. 選取 [下一步]。

完成精靈

  1. 在 [檢閱您的設定] 頁面上,指定精靈將建立的物件的前置詞。 常用前置詞可協助您保持井然有序。

  2. 選取 建立

當精靈完成設定時,會建立下列物件:

  • 資料來源連線。

  • 具有向量欄位、向量化工具、向量設定檔,以及向量演算法的索引。 您無法在精靈工作流程期間設計或修改預設索引。 索引會符合 2024-05-01-preview REST API

  • 具有文字分割技能進行區塊化,以及具有內嵌技能進行向量化的技能集。 內嵌技能是 AzureOpenAIEmbeddingModel 技能 (若為 Azure OpenAI) 或 AML 技能 (若為 Azure AI Studio 模型目錄)。 技能集也有索引投影設定,可讓資料從資料來源中的某份文件對應到其「子」索引中的對應區塊。

  • 具有欄位對應和輸出欄位對應 (如果適用) 的索引子。

檢查結果

搜尋總管可接受輸入為文字字串,然後將文字向量化,以進行向量查詢執行。

  1. 在 Azure 入口網站中,移至 [搜尋管理]>[索引],然後選取您所建立的索引。

  2. 或者,選取 [查詢選項],然後隱藏搜尋結果內的向量值。 這可讓您更輕鬆閱讀搜尋結果。

    查詢選項的按鈕螢幕擷取畫面。

  3. 在 [檢視] 清單,選取 [JSON 檢視],以便您將向量查詢的文字輸入 text 向量查詢參數。

    開啟 JSON 檢視的功能表命令螢幕擷取畫面。

    此精靈提供的預設查詢會針對 vector 欄位發出向量查詢,並傳回五個最近鄰項目。 如果您選擇隱藏向量值,則預設查詢會包含 select 陳述式,從搜尋結果中排除 vector 欄位。

    {
       "select": "chunk_id,parent_id,chunk,title",
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "vector"
           }
        ]
    }
    
  4. 針對 text 值,將星號 (*) 取代為與健康計劃相關的問題,例如 Which plan has the lowest deductible?

  5. 選取 [搜尋] 以執行查詢。

    搜尋結果的螢幕擷取畫面。

    應該會出現五個相符項目。 每個文件都是原始 PDF 的區塊。 title 欄位會顯示該區塊所屬的 PDF。

  6. 若要檢視特定文件的所有區塊,請針對 title 欄位新增篩選條件,以找出特定 PDF:

    {
       "select": "chunk_id,parent_id,chunk,title",
       "filter": "title eq 'Benefit_Options.pdf'",
       "count": true,
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "vector"
           }
        ]
    }
    
    

清理

Azure AI 搜尋服務是可計費的資源。 如果您不再需要,請將其從您的訂用帳戶中刪除,以避免產生費用。

後續步驟

本快速入門說明匯入並向量化資料精靈,可建立整合向量化需要的所有物件。 如果您希望了解每個步驟的詳細資料,請嘗試整合向量化範例