Azure OpenAI 向量化工具

註

Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。

Azure OpenAI 向量化器連接部署於您的 Azure OpenAI in Foundry Models 資源或 Microsoft Foundry專案中的嵌入模型,以便在查詢時產生嵌入。 你的資料會在模型部署的 地理環境中 被處理。

雖然向量化工具是在查詢時使用,但您會在索引定義中加以指定,並透過向量設定檔在向量欄位上參考它們。 欲了解更多資訊,請參閱 「在搜尋索引中配置向量器」。

Azure OpenAI 向量器在 REST API 中稱為 AzureOpenAIVectorizer。 請使用最新穩定版的 Indexes - Create (REST API) 或提供此功能的 Azure SDK 套件。

註

此向量化工具綁定於 Azure OpenAI,並按照Azure OpenAI Standard 的價格收費。

先決條件

  • Foundry 模型中的 Azure OpenAI 資源或 Foundry 專案。

    • 你的 Azure OpenAI 資源必須有 custom 子網域,例如 https://<resource-name>.openai.azure.com。 你可以在Azure入口的 Keys and Endpoint 頁面找到這個端點,並用它來執行這個技能中的 resourceUri 屬性。

    • 你的 Foundry 專案的 父資源 提供多個端點存取權限,包括 https://<resource-name>.openai.azure.com、 https://<resource-name>.services.ai.azure.com和 https://<resource-name>.cognitiveservices.azure.com。 你可以在 Azure 入口網站的 Keys 和 Endpoint 頁面找到這些端點,並在此技能中使用它們作為 resourceUri 屬性。

  • 部署到你的資源或專案中的 Azure OpenAI 嵌入模型。 關於支援的模型,請見下一節。

向量器參數

參數依大小寫區分。

參數名稱 描述
resourceUri (必要) 模型提供者的 URI。 支援的網域有:

  • openai.azure.com
  • services.ai.azure.com
  • cognitiveservices.azure.com

Azure API 管理 端點也被支援,但 API Management 的自訂網域除外。 關於設定,包括認證、RBAC 及可選的私人連線,請參見 Use Azure API 管理 with Azure OpenAI 技能與向量器。

apiKey 用來存取模型的秘密金鑰。 如果你提供鑰匙,請保持 authIdentity 空。 如果你同時設定 apiKey 和 authIdentity, apiKey 則會用於連接。
deploymentId (必修)已部署的 Azure OpenAI 嵌入模型的識別碼。 這是你部署模型時指定的部署名稱。
authIdentity 搜尋服務用於連線的使用者管理身分識別。 你可以使用 系統或使用者管理身份。 若要使用系統管理的身份,請留下 apiKey 並 authIdentity 留空。 系統管理身份是自動使用的。 管理身份必須擁有 Cognitive Services OpenAI User 權限,才能將文字傳送到 Azure OpenAI。
modelName (必填)部署於指定 deploymentId 的 Azure OpenAI 模型名稱。 支援的值有:

  • text-embedding-ada-002
  • text-embedding-3-large
  • text-embedding-3-small

支援的向量查詢類型

Azure OpenAI 向量器只支援 text 向量查詢。

期望場維度

使用 Azure OpenAI 向量化工具設定的欄位,其預期欄位維度取決於設定的modelName。

modelName 最小尺寸 最大尺寸
文本嵌入-ada-002 1536 1536
text-embedding-3-large 1 3072
text-embedding-3-small 1 1536

範例定義

"vectorizers": [
    {
        "name": "my-openai-vectorizer",
        "kind": "azureOpenAI",
        "azureOpenAIParameters": {
            "resourceUri": "https://my-fake-azure-openai-resource.openai.azure.com",
            "apiKey": "0000000000000000000000000000000000000",
            "deploymentId": "my-ada-002-deployment",
            "authIdentity": null,
            "modelName": "text-embedding-ada-002",
        },
    }
]

效能最佳做法

以下是使用此向量器時需要考慮的一些最佳實務:

  • 如果你已經達到 Azure OpenAI TPM(每分鐘代幣數)的上限,可以考慮參考配額限制建議,以便能夠相應處理。 請參考 Azure OpenAI monitoring 文件,了解你Azure OpenAI 實例效能的更多資訊。

  • 理想情況下,你用於這個向量器的 Azure OpenAI 嵌入模型部署應該與用於其他使用案例(包括 嵌入技能)的部署分開。 這有助於每次部署都針對其特定使用情境量身打造,進而優化效能,並輕鬆辨識來自索引器及索引嵌入呼叫的流量。

  • 你的 Azure OpenAI 實例應該位於同一個區域,或至少地理上接近你 AI 搜尋服務所托管的區域。 這降低了延遲並提升了服務間的資料傳輸速度。

  • 為避免頻繁出現 429 錯誤代碼,建議透過 API Management 實作負載平衡,並在多個 Azure OpenAI 嵌入模型部署前實作負載平衡閘道器。

  • 如果您的 Azure OpenAI TPM(每分鐘代幣數)限制超過quotas and limits文件中公布的預設值,請向 Azure AI 搜尋服務 團隊開啟一個support case,以便進行相應的調整。 這有助於在你的 TPM 限制較高的情況下,避免索引過程因已記錄的預設 TPM 限制而不必要地變慢。

管理身份驗證的安全考量

當 Azure OpenAI 向量器使用受管身份驗證時,Azure AI 搜尋服務 會取得 Foundry Tools 受眾的https://cognitiveservices.azure.com Microsoft Entra 存取權杖,並將其包含在發送給指定resourceUri端點的請求中。 管理身份驗證適用於你設定 authIdentity,或當 和 apiKey 皆authIdentity為空且服務使用系統指派的身份時。

所resourceUri參考的端點預期是你自己的 Azure OpenAI 或 Foundry Tools 資源。 支援的網域有:

  • openai.azure.com
  • cognitiveservices.azure.com
  • services.ai.azure.com

Azure API 管理 (APIM) 端點*.azure-api.net()亦被支援。 由於 APIM 主機名稱無法僅靠名稱驗證,Azure AI 搜尋服務 在設定時透過即時連線檢查來驗證這些端點,而非透過網域匹配。 你負責配置並維護 APIM 端點與其背後 Azure OpenAI 或 Foundry Tools 資源之間的關係。

註

為 Foundry Tools 受眾發行的管理身份憑證,對該身份授權的 Foundry Tools 或 Azure OpenAI 資源有效。 將它傳送到不受信任的端點可能會暴露該憑證。

為維持部署安全,請遵循以下做法:

  • 只設定 resourceUri 你擁有且信任的端點。 偏好前面提到的 Foundry Tools 網域。 如果你使用 APIM 端點,請確認它在啟用管理身份前方是你自己的資源。 看起來可信的主機名稱並不代表擁有權。
  • 將最小權限原則應用於搜尋服務所使用的管理身份。 Azure OpenAI 向量器只需對目標資源的認知服務 OpenAI 使用者角色。 避免授予較廣泛的職務。
  • 使用 網路安全邊界(NSP) 與私有端點或VNet整合,限制搜尋服務可到達的端點,以及目標資源接受來自哪些來源的請求。
  • 如果你使用 APIM 端點,請確保閘道驗證入站請求,並只轉發到預期的後端。 你也應該定期檢視其存取政策。
  • 偏好管理身份而非 apiKey。 如果你使用 apiKey,請安全儲存並旋轉它,不要嵌入到原始碼控制中。 服務會拒絕同時設定 apiKey 和 authIdentity的配置。
  • 定期檢視索引定義、管理身份角色指派及 APIM 設定,以確保 resourceUri 值、存取控制及身份權限保持最新且適當。 透過您已建立的變更管理與安全審查流程來審查組態變更。
  • 監控 Azure OpenAI 與 Foundry 工具的登入日誌、認證事件,以及存取日誌,防止意外或未經授權的活動。
  • 移除不再使用的向量工具、端點、角色指派及 API 金鑰,這些已不再需要。

限制對索引與向量化器配置的存取

能建立或修改索引定義的使用者,同時控制目的地端點(resourceUri)及向量器所使用的認證設定。 由於向量器會將 Foundry Tools 受眾的受管理身份憑證傳送到該端點,請將這些權限限制給受信任的管理員,並在配置啟用管理身份的向量器時,遵循標準的變更管理與安全審查流程。

參見