Sdílet prostřednictvím


Dovednosti vkládání v Azure OpenAI

Důležité

Tato funkce je ve veřejné verzi Preview v rámci dodatečných podmínek použití. Rozhraní REST API verze 2023-10-01-preview podporuje první iteraci této funkce. Rozhraní REST API verze 2024-05-01-preview přidává další vlastnosti a podporuje více modelů vkládání textu 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ý.

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 model vkládání textu ada-002.

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 poskytovatele modelu, jako je prostředek Azure OpenAI nebo adresa URL OpenAI.
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 verze 2024-05-05-01-preview. 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 resourceUrideploymentId. V současné době jsou text-embedding-ada-002podporované hodnoty , text-embedding-3-largea 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

Viz také