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 設定和 authIdentity , apiKey 則會在連線上使用 。 |
deploymentId |
已部署的 Azure OpenAI 內嵌模型名稱。 此模型應該是內嵌模型,例如 text-embedding-ada-002。 如需支援的模型,請參閱 Azure OpenAI 模型清單。 |
authIdentity |
搜尋服務用來連線到 Azure OpenAI 的使用者受控識別。 您可以使用 系統或使用者受控識別。 若要使用系統管理身分識別,請保留 apiKey 和 authIdentity 空白。 系統管理的身分識別會自動使用。 受控識別必須具有 認知服務 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 個令牌 | 錯誤 |
另請參閱
- 內建技能
- 如何定義技能集 (英文)
- 如何定義輸出欄位對應