Azure OpenAI 內嵌技能

重要

此功能在補充使用規定下處於公開預覽狀態。 2023-10-01-Preview REST API 支援此功能。

Azure OpenAI 內嵌技能會連線到 Azure OpenAI 資源上已部署的內嵌模型,以產生內嵌。

入和向量化數據 會使用 Azure OpenAI 內 嵌技能來向量化內容。 您可以執行精靈並檢閱產生的技能集,以查看精靈的建置方式。

注意

此技能系結至 Azure OpenAI,並以現有的 Azure OpenAI 隨用隨付價格收費。

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

資料限制

文字輸入的大小上限應該是8,000個標記。 如果輸入超過允許的最大值,模型會擲回無效的要求錯誤。 如需詳細資訊,請參閱 Azure OpenAI 檔中的 令牌 密鑰概念。 如果您需要數據區塊化, 請考慮使用文字分割技能

技能參數

參數會區分大小寫。

輸入 描述
resourceUri 模型提供者的 URI,例如 Azure OpenAI 資源或 OpenAI URL。
apiKey 用來存取模型的秘密金鑰。 如果您提供金鑰,請保留 authIdentity 空白。 如果您同時 apiKey 設定和 authIdentityapiKey 則會在連線上使用 。
deploymentId 已部署的 Azure OpenAI 內嵌模型名稱。 此模型應該是內嵌模型,例如 text-embedding-ada-002。 如需支援的模型,請參閱 Azure OpenAI 模型清單。
authIdentity 搜尋服務用來連線到 Azure OpenAI 的使用者受控識別。 您可以使用 系統或使用者受控識別。 若要使用系統管理身分識別,請保留 apiKeyauthIdentity 空白。 系統管理的身分識別會自動使用。 受控識別必須具有 認知服務 OpenAI 用戶 許可權,才能將文字傳送至 Azure OpenAI。

技能輸入

輸入 描述
text 要向量化的輸入文字。 如果您使用資料區塊化,則來源可能是 /document/pages/*

技能輸出

輸出 描述
embedding 輸入文字的向量化內嵌。

範例定義

請考慮具有下列欄位的紀錄:

{
    "content": "Microsoft released Windows 10."
}

然後您的技能定義可能如下所示:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

範例輸出

針對指定的輸入文字,會產生向量化內嵌輸出。

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

輸出位於記憶體中。 若要將此輸出傳送至搜尋索引中的欄位,您必須定義 outputFieldMapping ,將向量化內嵌輸出(也就是數位)對應至 向量欄位。 假設技能輸出位於檔的 嵌節點中,而且 content_vector 是搜尋索引中的欄位,則 indexer 中的 outputFieldMapping 看起來應該像這樣:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

最佳作法

以下是使用此技能時需要考慮的一些最佳做法:

  • 如果您達到 Azure OpenAI TPM(每分鐘令牌的令牌)限制,請考慮 配額限制諮詢 ,以便據以處理。 如需 Azure OpenAI 實例效能的詳細資訊,請參閱 Azure OpenAI 監視 檔。
  • 您用於此技能的 Azure OpenAI 內嵌模型部署應該與用於其他使用案例的部署分開,包括 查詢向量化工具。 這可協助每個部署針對其特定使用案例量身打造,進而讓效能優化,並輕鬆地識別來自索引器和索引內嵌呼叫的流量。
  • 您的 Azure OpenAI 實例應該位於相同區域,或至少地理位置接近裝載 AI 搜尋服務 的區域。 這可減少延遲,並改善服務之間的數據傳送速率。
  • 如果您的配額和限制檔中發佈的 Azure OpenAI TPM (每分鐘令牌數) 限制大於預設,請向 Azure AI 搜尋小組開啟支援案例,因此可以據以調整。 這可協助您的編製索引程式不會因記載的預設 TPM 限制而不必要地變慢,如果您有較高的限制。

錯誤和警告

Condition 結果
Null 或無效的 URI 錯誤
Null 或無效的 deploymentID 錯誤
文字是空的 警告
文字大於 8,000 個令牌 錯誤

另請參閱