快速入門:使用 Azure 入口網站向量化文字和影像
本快速入門會協助您在 Azure 入口網站中,透過匯入並向量化資料精靈,開始使用整合向量化。 此精靈會將您的內容區塊化,並呼叫內嵌模型,以在編製索引和進行查詢期間將內容向量化。
關於精靈的要點:
支持的數據源為 Azure Blob 儲存體、Azure Data Lake Storage (ADLS) Gen2 或 OneLake 檔案和快捷方式。
支援的內嵌模型裝載於 Azure OpenAI、Azure AI Studio 模型目錄、Azure AI Vision 多模式上。
索引架構提供區塊化數據的向量和非向量欄位。
您可以新增欄位,但無法刪除或修改產生的欄位。
檔剖析模式會建立區塊(每個區塊一個搜尋檔)。
區塊化無法設定。 有效設定包括:
"textSplitMode": "pages", "maximumPageLength": 2000, "pageOverlapLength": 500, "maximumPagesToTake": 0, #unlimited "unit": "characters",
必要條件
Azure 訂用帳戶。 免費建立一個。
與 Azure AI 位於相同區域中的 Azure AI 搜尋服務。 建議基本層或更高階層。
Azure Blob 記憶體、Azure Data Lake Storage (ADLS) Gen2 (具有階層式命名空間的儲存體帳戶),或 OneLake lakehouse。
Azure 儲存體,必須是標準效能 (一般用途 v2) 帳戶。 存取層可以是經常性存取層、非經常性存取層和極非經常性存取層。
在與 Azure AI 搜尋相同的區域中,將模型內嵌在 Azure AI 平臺上。 本文包含部署指示。
提供者 支援的模型 Azure OpenAI 服務 text-embedding-ada-002、text-embedding-3-large 或 text-embedding-3-small。 Azure AI Studio 模型目錄 Azure、Cohere 和 Facebook 內嵌模型。 Azure AI 服務多服務帳戶 適用於影像和文字向量化的 Azure AI 視覺多模式。 Azure AI 視覺多模式適用於選取的區域。 參閱文件以取得更新的清單。 若要使用此資源,帳戶必須位於可用的區域和與 Azure AI 搜尋服務相同的區域中。
如果使用 Azure OpenAI 服務,它必須有相關聯的 自定義子域。 如果服務是透過 Azure 入口網站 建立的,則此子域會自動產生為服務設定的一部分。 請確定您的服務包含自定義子域,再搭配 Azure AI 搜尋整合使用。
不支援在 AI Studio 中建立的 Azure OpenAI 服務資源(可存取內嵌模型)。 只有 Azure 入口網站 中建立的 Azure OpenAI 服務資源與 Azure OpenAI 內嵌技能整合相容。
公用端點需求
所有前述資源都必須已啟用公用存取,這樣入口網站節點才能存取這些資源。 否則,精靈會失敗。 在精靈執行之後,您可以在整合元件上啟用防火牆和私人端點以確保安全性。 如需詳細資訊,請參閱在匯入精靈中保護連線。
如果私人端點已存在,而且您無法將其停用,則替代選項是從虛擬機器上的指令碼或程式來執行個別端對端流程。 虛擬機器必須位於與私人端點相同的虛擬網路中。 以下是適用於整合向量化的 Python 範例程式碼。 相同的 GitHub 存放庫具有其他程式設計語言的範例。
角色型存取控制需求
我們建議將角色指派用於其他資源的搜尋服務連線。
免費搜尋服務可支援 Azure AI 搜尋服務連線上的 RBAC,但不支援 Azure 儲存體或 Azure AI 視覺輸出連線上的受控識別。 這層支援表示您必須對免費搜尋服務與其他 Azure 服務之間的連線使用金鑰型驗證。
如需更安全的連線:
- 使用基本層或更高層級。
- 設定受控識別,並使用角色進行授權存取。
注意
如果您無法逐步完成精靈,因為其他選項無法使用 (例如,您無法選取資料來源或內嵌模型),請重新造訪角色指派。 錯誤訊息指出模型或部署不存在,然而事實上真正的原因是搜尋服務沒有存取這些模型或部署的權限。
檢查空間
如果您從免費服務開始,則限製為三個索引、數據源、技能集和索引器。 基本限制為 15 個。 開始之前,請先確定您有空間可容納額外的項目。 本快速入門會建立各一個物件。
檢查語意排名工具
此精靈支援語意排名,但僅限在基本層和更高階層上,以及僅在您的搜尋服務上已啟用語意排名工具時。 若您使用計費層,請檢查是否已啟用語意排名工具。
準備範例資料
本節將告知適用於本快速入門的資料。
使用您的 Azure 帳戶登入 Azure 入口網站,然後前往您的 Azure 儲存體帳戶。
在左側面板中,在 [資料儲存體] 下方選取 [容器]。
建立新的容器,然後上傳本快速入門將使用的 health-plan PDF 文件。
在左邊窗格的 [存取控制] 之下,將儲存體 Blob 資料讀取器角色指派給搜尋服務身分識別。 或者,從 [存取金鑰] 頁面取得儲存體帳戶的連接字串。
或者,同步處理容器中的刪除與搜尋索引中的刪除。 下列後續步驟可讓您設定索引子以進行刪除偵測:
在儲存體帳戶上啟用虛刪除。
如果您使用原生虛刪除,則不需對 Azure 儲存體執行進一步的步驟。
否則,新增自訂中繼資料,索引子可加以掃描以判斷哪些 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。
使用您的 Azure 帳戶登入 Azure 入口網站,然後前往您的 Azure OpenAI 資源。
設定權限:
在 [概觀] 頁面上,選取 [按一下這裡以檢視端點] 和 [按一下這裏以管理金鑰],如果您需要複製端點或 API 密鑰的話。 如果您使用 Azure OpenAI 資源搭配金鑰型驗證,則可以將這些值貼入精靈中。
在 [資源管理] 和 [模型部署] 底下,選取 [管理部署] 以開啟 Azure AI Studio。
複製
text-embedding-ada-002
或另一個受支援內嵌模型的部署名稱。 如果您沒有內嵌模型,請立即部署一個。
啟動精靈
使用您的 Azure 帳戶登入 Azure 入口網站,然後移至您的 Azure AI 搜尋服務。
在 [概觀] 頁面上,選取 [匯入並向量化資料]。
連線到您的資料
下一步是連接到搜尋索引要使用的資料來源。
在 [設定您的資料連線] 頁面上,選取 [Azure Blob 儲存體]。
請指定 Azure 訂用帳戶。
選擇提供資料的儲存體帳戶和容器。
指定您是否想要刪除偵測支援。 在後續的編製索引回合,搜尋索引會更新,以根據 Azure 儲存體上的虛刪除 Blob 移除任何搜尋文件。
- Blob 支援原生 Blob 虛刪除或使用自訂資料進行虛刪除。
- 您先前必須在 Azure 儲存體上啟用虛刪除,並選擇性地新增自訂中繼資料,檢索作業可將其辨識為刪除旗標。 如需這些步驟的詳細資訊,請參閱準備範例資料。
- 如果您設定了 Blob 要使用自訂資料進行虛刪除,請在此步驟中提供中繼資料屬性名稱/值組。 我們建議提供 "IsDeleted"。 如果 Blob 上的 "IsDeleted" 設定為 true,則索引子會在下一次索引子執行時卸除對應的搜尋文件。
精靈不會檢查 Azure 儲存體的設定是否有效,或在不符合需求時擲回錯誤。 相反地,刪除偵測無法運作,而且您的搜尋索引可能會隨著時間收集孤立的文件。
指定您是否希望搜尋服務使用其受控識別連線到 Azure 儲存體。
- 系統會提示您選擇系統管理的或使用者管理的身分識別。
- 身分識別應該在 Azure 儲存體上具有 [儲存體 Blob 資料讀取器] 角色。
- 請勿略過此步驟。 如果精靈無法連線到 Azure 儲存體,在編製索引期間發生連線錯誤。
選取 [下一步]。
將您的文字向量化
在此步驟中,指定用於向量化區塊資料的內嵌模型。
在 [將文字向量化] 頁面上,選擇內嵌模型的來源:
- Azure OpenAI
- Azure AI Studio 模型目錄
- 在與 Azure AI 搜尋服務相同的區域中現有的 Azure AI 視覺多模式資源。 如果相同區域中沒有 Azure AI Services 多服務帳戶,則無法使用此選項。
選擇 Azure 訂用帳戶。
根據資源進行選取:
針對 Azure OpenAI,選擇 text-embedding-ada-002、text-embedding-3-large 或 text-embedding-3-small 的現有部署。
針對 AI Studio 目錄,選擇 Azure、Cohere 和 Facebook 內嵌模型的現有部署。
針對 AI 視覺多模式內嵌,選取帳戶。
如需詳細資訊,請參閱本文前面的設定內嵌模型。
指定您是否希望搜尋服務使用 API 金鑰或受控識別進行驗證。
- 身分識別應具有 Azure AI 多服務帳戶上 [認知服務 OpenAI 使用者] 角色。
選取核取方塊,確認使用這些資源的計費影響。
選取 [下一步]。
向量化並擴充您的影像
如果您的內容包含影像,您可以採取兩種方式套用 AI:
使用目錄中支援的影像內嵌模型,或選擇 Azure AI 視覺多模式內嵌 API,將影像向量化。
使用光學字元辨識 (OCR) 辨識影像中的文字。 此選項會叫用 OCR 技能,以從影像讀取文字。
Azure AI 搜尋服務和您的 Azure AI 資源必須位於相同的區域中。
在 [向量化您的影像] 頁面上,指定精靈應該建立的連接類型。 針對影像向量化,精靈可以連線至 Azure AI Studio 或 Azure AI 視覺中的內嵌模型。
指定訂用帳戶。
針對 Azure AI Studio 模型目錄,指定專案和部署。 如需詳細資訊,請參閱本文前面的設定內嵌模型。
您可選擇破解二進位影像 (例如文件檔案掃描),並使用 OCR 來辨識文字。
選取核取方塊,確認使用這些資源的計費影響。
選取 [下一步]。
新增語意排名
在 [進階設定] 頁面上,您可以選擇性地新增 [語意排名],以在查詢執行結束時重新產生結果。 重新調整會將最相關的語意相符項目升階到最上層。
對應新欄位
在 [ 進階設定 ] 頁面上,您可以選擇性地新增欄位。 根據預設,精靈會產生下列具有這些屬性的欄位:
欄位 | 適用於 | 描述 |
---|---|---|
chunk_id | 文字和影像向量 | 產生的字串欄位。 可搜尋、可擷取、可排序。 這是索引的檔索引鍵。 |
parent_id | 文字向量 | 產生的字串欄位。 可擷取、可篩選。 識別區塊的來源父檔。 |
chunk | 文字和影像向量 | 字串欄位。 人類可讀取的數據區塊版本。 可搜尋和擷取,但無法篩選、可Facet或可排序。 |
title | 文字和影像向量 | 字串欄位。 人類可讀取的文件標題或頁面標題或頁碼。 可搜尋和擷取,但無法篩選、可Facet或可排序。 |
text_vector | 文字向量 | 集合(Edm.single)。 區塊的向量表示。 可搜尋和擷取,但無法篩選、可Facet或可排序。 |
您無法修改產生的欄位或其屬性,但如果您的資料來源提供欄位,您可以新增欄位。 例如,Azure Blob 儲存體 提供元數據欄位的集合。
選取新增。
從可用的欄位清單中選擇來源欄位、提供索引的功能變數名稱,並視需要接受預設資料類型或覆寫。
元數據欄位可搜尋,但無法擷取、可篩選、可 Facet 或可排序。
如果您想要將架構還原為其原始版本,請選取 [重設 ]。
排程編製索引
在 [ 進階設定 ] 頁面上,您可以選擇性地指定 索引器的執行排程 。
- 當您完成 [進階設定] 頁面時,請選取 [下一步]。
完成精靈
在 [ 檢閱您的組態 ] 頁面上,指定精靈所建立物件的前置詞。 常用前置詞可協助您保持井然有序。
選取 建立。
當精靈完成設定時,會建立下列物件:
資料來源連線。
具有向量欄位、向量化工具、向量設定檔,以及向量演算法的索引。 您無法在精靈工作流程期間設計或修改預設索引。 索引會符合 2024-05-01-preview REST API。
具有文字分割技能進行區塊化,以及具有內嵌技能進行向量化的技能集。 內嵌技能是 AzureOpenAIEmbeddingModel 技能 (若為 Azure OpenAI) 或 AML 技能 (若為 Azure AI Studio 模型目錄)。 技能集也有索引投影設定,可讓資料從資料來源中的某份文件對應到其「子」索引中的對應區塊。
具有欄位對應和輸出欄位對應 (如果適用) 的索引子。
檢查結果
搜尋總管可接受輸入為文字字串,然後將文字向量化,以進行向量查詢執行。
在 Azure 入口網站中,移至 [搜尋管理]>[索引],然後選取您所建立的索引。
或者,選取 [查詢選項],然後隱藏搜尋結果內的向量值。 這可讓您更輕鬆閱讀搜尋結果。
在 [檢視] 清單,選取 [JSON 檢視],以便您將向量查詢的文字輸入
text
向量查詢參數。此精靈提供的預設查詢會針對
vector
欄位發出向量查詢,並傳回五個最近鄰項目。 如果您選擇隱藏向量值,則預設查詢會包含select
陳述式,從搜尋結果中排除vector
欄位。{ "select": "chunk_id,parent_id,chunk,title", "vectorQueries": [ { "kind": "text", "text": "*", "k": 5, "fields": "vector" } ] }
針對
text
值,將星號 (*
) 取代為與健康計劃相關的問題,例如Which plan has the lowest deductible?
。選取 [搜尋] 以執行查詢。
應該會出現五個相符項目。 每個文件都是原始 PDF 的區塊。
title
欄位會顯示該區塊所屬的 PDF。若要檢視特定文件的所有區塊,請針對
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 搜尋服務是可計費的資源。 如果您不再需要,請將其從您的訂用帳戶中刪除,以避免產生費用。
後續步驟
本快速入門說明匯入並向量化資料精靈,可建立整合向量化需要的所有物件。 如果您希望了解每個步驟的詳細資料,請嘗試整合向量化範例。