快速入門:整合向量化(預覽)

重要

匯入和向量化數據精靈在補充使用規定下處於公開預覽狀態。 它會以 2023-10-01-Preview REST API 為目標。

使用 Azure 入口網站 中的匯入和向量化數據精靈,開始使用整合向量化(預覽)。 此精靈會呼叫 Azure OpenAI 文字內嵌模型,以在編製索引和查詢期間向量化內容。

在此精靈的預覽版本中:

  • 源數據僅供 Blob 使用預設剖析模式(每個 Blob 一個搜尋檔)。

  • 索引架構不可設定。 來源欄位包括 content (區塊化和向量化), metadata_storage_name 用於標題,以及 metadata_storage_path 填入為 parent_id 索引中檔索引鍵的 。

  • 向量化僅限 Azure OpenAI(text-embedding-ada-002),使用具有預設值的 HNSW 演算法。

  • 區塊化不可設定。 有效的設定如下:

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

必要條件

  • Azure 訂用帳戶。 免費建立一個

  • Azure AI 搜尋服務,在任何區域和任何階層。 大部分現有的服務都支援向量搜尋。 對於在 2019 年 1 月之前建立的一小部分服務,包含向量欄位的索引會在建立時失敗。 在此情況下,必須建立新的服務。

  • Azure OpenAI 端點,其部署 文字內嵌-ada-002 和 API 密鑰或 認知服務 OpenAI 使用者 上傳數據的許可權。 在此預覽中,您只能選擇一個向量化工具,而向量化工具必須是 Azure OpenAI。

  • Azure 儲存體 帳戶、標準效能(一般用途 v2)、經常性存取層和非經常性存取層。

  • 提供文字內容、僅限非結構化檔及元數據的 Blob。 在此預覽中,您的數據源必須是 Azure Blob。

  • 讀取 Azure 儲存體 的許可權。 包含存取金鑰的記憶體 連接字串 可讓您讀取記憶體內容的存取權。 如果您改用 Microsoft Entra 內容和角色,請確保搜尋服務的受控識別具有儲存體 Blob 資料讀取者權限。

  • 所有元件(數據源和內嵌端點)都必須啟用公用存取權,入口網站節點才能存取它們。 否則,精靈將會失敗。 執行精靈之後,可以在不同的整合元件中啟用防火牆和私人端點,以取得安全性。 如果私人端點已經存在且無法停用,替代選項是從腳本或程式,從與私人端點相同的 VNET 內的虛擬機執行個別端對端流程。 以下是 整合向量化的 Python 程式代碼範例 。 在同一 個 GitHub 存放庫中 ,是其他程式設計語言的範例。

檢查空間

許多客戶開始使用此免費服務。 免費層限制為三個索引、三個數據源、三個技能集和三個索引器。 開始之前,請先確定您有空間可容納額外的項目。 本快速入門會建立各一個物件。

檢查語意排名

此精靈支援語意排名,但僅支援基本層和更新版本,而且只有在搜尋服務上已啟用語意排名時才支援。 如果您使用計費層,請檢查是否已啟用語意排名。

語意排名器組態頁面的螢幕快照。

準備範例數據

本節將您指向適用於本快速入門的數據。

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

  2. 在瀏覽窗格中,於 [數據 儲存體] 底下,選取 [容器]。

  3. 建立新的容器,然後上傳用於本快速入門的健康 情況計劃 PDF 檔

  4. 在將 Azure 儲存體 帳戶留在 Azure 入口網站 之前,請授與容器上的 儲存體 Blob 數據讀取器許可權,假設您想要角色型存取權。 或者,從 [存取金鑰] 頁面取得記憶體帳戶 連接字串

取得 Azure OpenAI 的連線詳細數據

精靈需要端點、部署文字內嵌-ada-002,以及具有認知服務 OpenAI 用戶許可權的 API 密鑰或搜尋服務受控識別

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

  2. 在 [金鑰和管理] 底下,複製端點。

  3. 在相同的頁面上,複製密鑰或檢查 訪問控制 ,將角色成員指派給您的搜尋服務身分識別。

  4. 在 [模型部署] 底下,選取 [管理部署] 以開啟 Azure AI Studio。 複製 text-embedding-ada-002 的部署名稱。

啟動精靈

若要開始使用,請流覽至 Azure 入口網站 中的 Azure AI 搜尋服務,然後開啟 [匯入和向量化數據精靈]。

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

  2. 在 [概 觀] 頁面上,選取 [ 匯入並向量化數據]。

    精靈命令的螢幕快照。

連線到您的資料

下一個步驟是連接到要用於搜尋索引的數據源。

  1. [匯入和向量化數據精靈] 的 [連線 至您的數據] 索引標籤中,展開 [數據源] 下拉式清單,然後選取 [Azure Blob 儲存體]。

  2. 指定提供數據的 Azure 訂用帳戶、記憶體帳戶和容器。

  3. 針對連線,請提供包含密鑰的完整存取 連接字串,或指定具有容器上 儲存體 Blob 數據讀取器許可權的受控識別

  4. 指定您是否要 刪除偵測

    數據源頁面的螢幕快照。

  5. 選取 [下一步:向量化] 和 [擴充 ] 以繼續。

擴充和向量化您的數據

在此步驟中,指定用來向量化區塊數據的內嵌模型。

  1. 提供訂用帳戶、端點、API 金鑰和模型部署名稱。

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

  3. 您可以選擇性地新增 語意排名 ,以在查詢執行結束時重新排定結果,將最相關的語意相符專案提升至頂端。

  4. 指定 索引器運行時間排程

    擴充頁面的螢幕快照。

  5. 選取 [ 下一步:建立並檢閱 ] 以繼續。

執行精靈

此步驟會建立下列物件:

  • 與 Blob 容器的數據源連線。

  • 具有向量欄位、向量化工具、向量配置檔、向量演算法的索引。 在精靈工作流程期間,系統不會提示您設計或修改預設索引。 索引符合 2023-10-01-Preview 版本。

  • 具有 區塊化文字分割技能的技能 集,以及 用於向量化的 AzureOpenAIEmbeddingModel

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

如果您收到錯誤,請先檢閱許可權。 您需要 Azure OpenAI 上的認知服務 OpenAI 使用者,並在 Azure 儲存體 上 儲存體 Blob 數據讀取器。 您的 Blob 必須是非結構化的(區塊化數據是從 Blob 的「內容」屬性提取的。

檢查結果

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

  1. 選取您的索引。

  2. 或者,選取 [ 查詢選項 ],並隱藏搜尋結果中的向量值。 此步驟可讓您的搜尋結果更容易閱讀。

    查詢選項按鈕的螢幕快照。

  3. 選取 [JSON 檢視 ],以便您可以在文字向量查詢參數中輸入向量查詢的 文字

    JSON 選取器的螢幕快照。

    此精靈提供預設查詢,在 「向量」欄位上發出向量查詢,並傳回 5 個最接近的鄰居。 如果您選擇隱藏向量值,您的預設查詢會包含 「select」語句,該語句會從搜尋結果中排除向量字段。

    {
       "select": "chunk_id,parent_id,chunk,title",
       "vectorQueries": [
           {
              "kind": "text",
              "text": "*",
              "k": 5,
              "fields": "vector"
           }
        ]
    }
    
  4. 將文字 "*" 取代為與健康計劃相關的問題,例如 「哪個計劃具有最低可扣除額」

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

    搜尋結果的螢幕快照。

    您應該會看到 5 個相符專案,其中每個檔都是原始 PDF 的區塊。 標題欄位會顯示區塊的來源 PDF。

  6. 若要查看特定檔中的所有區塊,請為特定 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 搜尋是可計費的資源。 如果不再需要,請將其從您的訂用帳戶中刪除,以避免產生費用。

下一步

本快速入門介紹匯 入和向量化數據 精靈,以建立整合向量化所需的所有物件。 如果您想要詳細探索每個步驟,請嘗試 整合向量化範例