Dovednosti vkládání v Azure OpenAI
Dovednost vkládání Azure OpenAI se připojuje k nasazeného modelu vkládání na prostředek Azure OpenAI a generuje vkládání během indexování. Vaše data se zpracovávají v geografické oblasti, ve které je váš model nasazený.
Požadavky
Vaše služba Azure OpenAI musí mít přidruženou vlastní subdoménu. Pokud byla služba vytvořená prostřednictvím webu Azure Portal, tato subdoména se automaticky vygeneruje jako součást nastavení služby. Před použitím s integrací služby Azure AI Search se ujistěte, že vaše služba obsahuje vlastní subdoménu.
Prostředky služby Azure OpenAI (s přístupem k modelům vkládání) vytvořené na portálu Azure AI Foundry se nepodporují. S integrací dovedností Azure OpenAI Embedding jsou kompatibilní pouze prostředky služby Azure OpenAI vytvořené na webu Azure Portal.
Průvodce importem a vektorizací dat na webu Azure Portal používá dovednost vkládání Azure OpenAI k vektorizaci obsahu. Průvodce můžete spustit a zkontrolovat vygenerovanou sadu dovedností a podívat se, jak průvodce sestaví dovednosti pro vkládání modelů.
Poznámka:
Tato dovednost je vázána na Azure OpenAI a účtuje se za stávající cenu průběžných plateb Azure OpenAI.
@odata.type
Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill
Omezení dat
Maximální velikost textového vstupu by měla být 8 000 tokenů. Pokud vstup překročí maximální povolenou hodnotu, model vyvolá chybu neplatného požadavku. Další informace najdete v klíčovém konceptu tokenů v dokumentaci k Azure OpenAI. Pokud potřebujete vytváření bloků dat, zvažte použití dovednosti Rozdělení textu.
Parametry dovedností
Parametry rozlišují malá a velká písmena.
Vstupy | Popis |
---|---|
resourceUri |
Identifikátor URI zprostředkovatele modelu v tomto případě prostředek Azure OpenAI. Tento parametr podporuje pouze adresy URL s doménou openai.azure.com , například https://<resourcename>.openai.azure.com . Pokud má koncový bod Azure OpenAI adresu URL s doménou cognitiveservices.azure.com , například https://<resourcename>.cognitiveservices.azure.com , musí se nejprve vytvořit vlastní subdoména openai.azure.com pro prostředek Azure OpenAI a použít https://<resourcename>.openai.azure.com místo toho. |
apiKey |
Tajný klíč použitý pro přístup k modelu. Pokud zadáte klíč, nechejte authIdentity prázdný. Pokud nastavíte připojení apiKey i authIdentity , apiKey použije se v připojení. |
deploymentId |
Název nasazeného modelu vkládání Azure OpenAI Model by měl být vložený model, například text-embedding-ada-002. Seznam modelů Azure OpenAI pro podporované modely |
authIdentity |
Identita spravovaná uživatelem používaná vyhledávací službou pro připojení k Azure OpenAI. Můžete použít identitu spravovanou systémem nebo uživatelem. Pokud chcete použít systémovou mangovanou identitu, nechejte apiKey ji prázdnou.authIdentity Identita spravovaná systémem se používá automaticky. Spravovaná identita musí mít oprávnění uživatele OpenAI služeb Cognitive Services k odesílání textu do Azure OpenAI. |
modelName |
Tato vlastnost se vyžaduje, pokud se vaše sada dovedností vytvoří pomocí rozhraní REST API 2024-05-01-01 nebo 2024-07-01. Nastavte tuto vlastnost na název nasazení modelu vkládání Azure OpenAI nasazeného u zprostředkovatele zadaného prostřednictvím a identifikovaného prostřednictvím resourceUri deploymentId . V současné době jsou text-embedding-ada-002 podporované hodnoty , text-embedding-3-large a text-embedding-3-small . |
dimensions |
(Volitelné, představené v rozhraní REST API verze 2024-05-01-preview). Dimenze vkládání, které chcete vygenerovat, pokud model podporuje snížení dimenzí vkládání. Podporované rozsahy jsou uvedené níže. Výchozí hodnota je maximálních dimenzí pro každý model, pokud není zadána. U sad dovedností vytvořených pomocí verze 2023-10-01-preview jsou dimenze pevné na 1536. |
Podporované dimenze podle modelName
Podporované dimenze pro dovednosti vkládání Azure OpenAI závisí na modelName
nakonfigurované konfiguraci.
modelName |
Minimální rozměry | Maximální rozměry |
---|---|---|
text-embedding-ada-002 | 1536 | 1536 |
text-embedding-3-large | 0 | 3072 |
text-embedding-3-small | 0 | 1536 |
Vstupy dovedností
Vstup | Popis |
---|---|
text |
Vstupní text, který má být vektorizován. Pokud používáte blok dat, zdroj může být /document/pages/* . |
Výstupy dovedností
Výstup | Popis |
---|---|
embedding |
Vektorizované vkládání vstupního textu |
Ukázková definice
Představte si záznam, který obsahuje následující pole:
{
"content": "Microsoft released Windows 10."
}
Definice dovedností pak může vypadat takto:
{
"@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",
"modelName": "text-embedding-ada-002",
"dimensions": 1536,
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "embedding"
}
]
}
Ukázkový výstup
Pro daný vstupní text se vytvoří vektorizovaný vložený výstup.
{
"embedding": [
0.018990106880664825,
-0.0073809814639389515,
....
0.021276434883475304,
]
}
Výstup se nachází v paměti. Pokud chcete tento výstup odeslat do pole v indexu vyhledávání, musíte definovat outputFieldMapping , který mapuje vektorizovaný vložený výstup (což je pole) na vektorové pole. Za předpokladu, že se výstup dovednosti nachází v uzlu pro vložení dokumentu a content_vector je pole v indexu vyhledávání, měl by výstupFieldMapping v indexeru vypadat takto:
"outputFieldMappings": [
{
"sourceFieldName": "/document/embedding/*",
"targetFieldName": "content_vector"
}
]
Osvědčené postupy
Tady jsou některé osvědčené postupy, které je potřeba vzít v úvahu při využívání této dovednosti:
Pokud dosáhnete limitu azure OpenAI TPM (tokeny za minutu), zvažte rady pro omezení kvót, abyste mohli odpovídajícím způsobem řešit. Další informace o výkonu instance Azure OpenAI najdete v dokumentaci k monitorování Azure OpenAI.
Nasazení modelu vkládání Azure OpenAI, které používáte pro tuto dovednost, by mělo být ideálně oddělené od nasazení používaného pro jiné případy použití, včetně vektorizátoru dotazů. To pomáhá každé nasazení přizpůsobit konkrétnímu případu použití, což vede k optimalizaci výkonu a identifikaci provozu z indexeru a volání indexu pro vkládání.
Vaše instance Azure OpenAI by měla být ve stejné oblasti nebo alespoň geograficky blízko oblasti, ve které je vaše Search AI hostovaná. Tím se sníží latence a zvýší se rychlost přenosu dat mezi službami.
Pokud máte limit azure OpenAI TPM (tokeny za minutu), který je publikovaný v dokumentaci k kvótám a limitům , otevřete případ podpory u týmu Služby Azure AI Search, abyste ho mohli odpovídajícím způsobem upravit. To pomáhá, aby se proces indexování zbytečně nezpomaloval podle zdokumentovaného výchozího limitu TPM, pokud máte vyšší limity.
Příklady a funkční ukázky kódu, které používají tuto dovednost, najdete na následujících odkazech:
Chyby a upozornění
Podmínka | Výsledek |
---|---|
Identifikátor URI s hodnotou null nebo neplatným | Chyba |
Null nebo invalid deploymentID | Chyba |
Text je prázdný. | Upozorňující |
Text je větší než 8 000 tokenů | Chyba |