快速入門:整合向量化(預覽)
重要
匯入和向量化數據精靈在補充使用規定下處於公開預覽狀態。 它會以 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 存放庫中 ,是其他程式設計語言的範例。
檢查空間
許多客戶開始使用此免費服務。 免費層限制為三個索引、三個數據源、三個技能集和三個索引器。 開始之前,請先確定您有空間可容納額外的項目。 本快速入門會建立各一個物件。
檢查語意排名
此精靈支援語意排名,但僅支援基本層和更新版本,而且只有在搜尋服務上已啟用語意排名時才支援。 如果您使用計費層,請檢查是否已啟用語意排名。
準備範例數據
本節將您指向適用於本快速入門的數據。
使用您的 Azure 帳戶登入 Azure 入口網站,然後移至您的 Azure 儲存體 帳戶。
在瀏覽窗格中,於 [數據 儲存體] 底下,選取 [容器]。
建立新的容器,然後上傳用於本快速入門的健康 情況計劃 PDF 檔 。
在將 Azure 儲存體 帳戶留在 Azure 入口網站 之前,請授與容器上的 儲存體 Blob 數據讀取器許可權,假設您想要角色型存取權。 或者,從 [存取金鑰] 頁面取得記憶體帳戶 連接字串。
取得 Azure OpenAI 的連線詳細數據
精靈需要端點、部署文字內嵌-ada-002,以及具有認知服務 OpenAI 用戶許可權的 API 密鑰或搜尋服務受控識別。
使用您的 Azure 帳戶登入 Azure 入口網站,然後移至您的 Azure OpenAI 資源。
在 [金鑰和管理] 底下,複製端點。
在相同的頁面上,複製密鑰或檢查 訪問控制 ,將角色成員指派給您的搜尋服務身分識別。
在 [模型部署] 底下,選取 [管理部署] 以開啟 Azure AI Studio。 複製 text-embedding-ada-002 的部署名稱。
啟動精靈
若要開始使用,請流覽至 Azure 入口網站 中的 Azure AI 搜尋服務,然後開啟 [匯入和向量化數據精靈]。
使用您的 Azure 帳戶登入 Azure 入口網站,然後移至您的 Azure AI 搜尋服務。
在 [概 觀] 頁面上,選取 [ 匯入並向量化數據]。
連線到您的資料
下一個步驟是連接到要用於搜尋索引的數據源。
在 [匯入和向量化數據精靈] 的 [連線 至您的數據] 索引標籤中,展開 [數據源] 下拉式清單,然後選取 [Azure Blob 儲存體]。
指定提供數據的 Azure 訂用帳戶、記憶體帳戶和容器。
針對連線,請提供包含密鑰的完整存取 連接字串,或指定具有容器上 儲存體 Blob 數據讀取器許可權的受控識別。
指定您是否要 刪除偵測:
選取 [下一步:向量化] 和 [擴充 ] 以繼續。
擴充和向量化您的數據
在此步驟中,指定用來向量化區塊數據的內嵌模型。
提供訂用帳戶、端點、API 金鑰和模型部署名稱。
您可以選擇性地破解二進位影像(例如掃描的檔案檔案),並使用 OCR 來辨識文字。
您可以選擇性地新增 語意排名 ,以在查詢執行結束時重新排定結果,將最相關的語意相符專案提升至頂端。
指定 索引器運行時間排程 。
選取 [ 下一步:建立並檢閱 ] 以繼續。
執行精靈
此步驟會建立下列物件:
與 Blob 容器的數據源連線。
具有向量欄位、向量化工具、向量配置檔、向量演算法的索引。 在精靈工作流程期間,系統不會提示您設計或修改預設索引。 索引符合 2023-10-01-Preview 版本。
具有 區塊化文字分割技能的技能 集,以及 用於向量化的 AzureOpenAIEmbeddingModel 。
具有欄位對應和輸出欄位對應的索引器(如果適用的話)。
如果您收到錯誤,請先檢閱許可權。 您需要 Azure OpenAI 上的認知服務 OpenAI 使用者,並在 Azure 儲存體 上 儲存體 Blob 數據讀取器。 您的 Blob 必須是非結構化的(區塊化數據是從 Blob 的「內容」屬性提取的。
檢查結果
搜尋總管接受文字字串做為輸入,然後將向量查詢執行的文字向量化。
選取您的索引。
或者,選取 [ 查詢選項 ],並隱藏搜尋結果中的向量值。 此步驟可讓您的搜尋結果更容易閱讀。
選取 [JSON 檢視 ],以便您可以在文字向量查詢參數中輸入向量查詢的 文字 。
此精靈提供預設查詢,在 「向量」欄位上發出向量查詢,並傳回 5 個最接近的鄰居。 如果您選擇隱藏向量值,您的預設查詢會包含 「select」語句,該語句會從搜尋結果中排除向量字段。
{ "select": "chunk_id,parent_id,chunk,title", "vectorQueries": [ { "kind": "text", "text": "*", "k": 5, "fields": "vector" } ] }
將文字
"*"
取代為與健康計劃相關的問題,例如 「哪個計劃具有最低可扣除額」。選取 [ 搜尋 ] 以執行查詢。
您應該會看到 5 個相符專案,其中每個檔都是原始 PDF 的區塊。 標題欄位會顯示區塊的來源 PDF。
若要查看特定檔中的所有區塊,請為特定 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 搜尋是可計費的資源。 如果不再需要,請將其從您的訂用帳戶中刪除,以避免產生費用。
下一步
本快速入門介紹匯 入和向量化數據 精靈,以建立整合向量化所需的所有物件。 如果您想要詳細探索每個步驟,請嘗試 整合向量化範例。