Azure dovednosti vkládání OpenAI

Note

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

Dovednost Azure OpenAI Embedding se propojuje s modelem embeddingu nasazeným na vašem projektu Azure OpenAI in Foundry Models nebo Microsoft Foundry pro generování embeddingů během indexování. Vaše data se zpracovávají v geografické oblasti, ve které je váš model nasazený.

Průvodce Import dat v portálu Azure využívá dovednost Azure OpenAI Embedding k vektorizaci obsahu. Můžete spustit kouzelníka a prohlédnout si generovanou sadu dovedností, abyste viděli, jak kouzelník vytváří dovednost pro vkládání modelů.

Note

Tato dovednost je vázána Azure OpenAI a účtuje se podle standardní ceny Azure OpenAI.

Předpoklady

  • Zdroj Azure OpenAI v prostředku Foundry Models nebo Foundry.

    • Prostředek OpenAI Azure musí mít subdoménu custom, například https://<resource-name>.openai.azure.com. Tento koncový bod najdete na stránce Klíče a koncového bodu na portálu Azure a použít ho pro vlastnost resourceUri v této dovednosti.

    • Nadřazený zdroj projektu Foundry poskytuje přístup k více koncovým bodům, včetně https://<resource-name>.openai.azure.com, https://<resource-name>.services.ai.azure.coma https://<resource-name>.cognitiveservices.azure.com. Tyto koncové body najdete na stránce Klíče a koncového bodu na portálu Azure a můžete je použít pro vlastnost resourceUri v této dovednosti.

  • Model Azure vložení OpenAI nasazený do vašeho zdroje nebo projektu. Pro podporované modely viz sekce Parametry dovedností .

@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čí povolené maximum, model vyhodí chybu neplatného požadavku. Pro více informací viz klíčový koncept tokens v dokumentaci Azure OpenAI. Pokud potřebujete rozdělení dat, zvažte použití dovednosti Text Split .

Parametry dovedností

Parametry rozlišují malá a velká písmena.

Vstupy Description
resourceUri (Povinné) Identifikátor URI zprostředkovatele modelu. Podporované domény jsou:

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

Toto pole je vyžadováno, pokud je váš zdroj nasazen za privátním koncovým zařízením nebo využívá integraci virtuální sítě (VNet). Azure API Management koncové body se podporují také s výjimkou vlastních domén služby API Management. Nastavení, včetně ověřování, RBAC a volitelného privátního připojení, najdete v tématu Použití Azure API Management s Azure dovednostmi a vektorizátory OpenAI.

apiKey Tajný klíč použitý pro přístup k modelu. Pokud zadáte klíč, nechejte authIdentity prázdný. Pokud nastavíte obojí apiKey i authIdentity, použije se apiKey u připojení.
deploymentId (Povinné) ID nasazeného Azure modelu vkládání OpenAI Toto je název nasazení, který jste zadali při nasazení modelu.
authIdentity Identita spravovaná uživatelem používaná vyhledávací službou pro připojení. Můžete použít identitu spravovanou systémem nebo uživatelem. Pokud chcete použít identitu spravovanou systémem, nechejte apiKey ji prázdnou.authIdentity Identita spravovaná systémem se používá automaticky. Spravovaná identita musí mít oprávnění Cognitive Services OpenAI User k odesílání textu do Azure OpenAI.
modelName (Povinné) Název modelu Azure OpenAI nasazeného v zadaném deploymentId. Podporované hodnoty jsou:

  • text-embedding-ada-002
  • text-embedding-3-large
  • text-embedding-3-small
dimensions (Volitelné) Rozměry embeddingů, které chcete generovat, za předpokladu, že model podporuje rozsah rozměrů. Výchozí jsou maximální rozměry pro každý model. U dovedností vytvořených pomocí verzí REST API před náhledem 10. 10. 2023 jsou rozměry pevně stanoveny na 1536. Pokud nastavíte vlastnost dimensions v této dovednosti, nastavte vlastnost dimensions ve vektorové definici pole na stejnou hodnotu.

Podporované rozměry modelName

Podporované rozměry pro Azure dovednost OpenAI Embedding závisí na modelName, který je nastaven.

modelName Minimální rozměry Maximální rozměry
text-embedding-ada-002 1536 1536
vložení-textu-3-velké 1 3072
textové zapouzdření-3-malé 1 1536

Vstupy dovedností

Vstup Description
text Vstupní text má být vektorizován. Pokud používáte data chunking, zdroj může být /document/pages/*.

Výstupy schopností

Výstup Description
embedding Vektorové vkládání vstupního textu.

Ukázková definice

Uvažujme záznam, který má následující pole:

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

Pak by vaše definice dovednosti mohla 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 je vytvořen vektorizovaný výstup vnoření.

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

Výstup zůstává v paměti. Pro odeslání tohoto výstupu do pole v indexu vyhledávání musíte definovat outputFieldMapping , který mapuje vektorizovaný výstup embeddingu (což je pole) na vektorové pole. Za předpokladu, že výstup dovednosti se nachází v embedding node dokumentu a content_vector je pole v indexu, výstupFieldMapping v indexeru by měl vypadat takto:

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

Osvědčené postupy

Následující jsou některé osvědčené postupy, které byste měli zvážit při využívání této dovednosti:

  • Pokud dosáhnete limitu Azure OpenAI TPM (tokeny za minutu), zvažte doporučení k doporučení pro omezení citací, abyste mohli odpovídajícím způsobem řešit. Další informace o výkonu instance OpenAI Azure najdete v dokumentaci k monitorování Azure openAI.

  • Azure modelu nasazení OpenAI embeddings, který používáte pro tuto dovednost, by měl být ideálně oddělený od nasazení používaného pro jiné případy, včetně query vectorizer. 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 Azure instance OpenAI by měla být ve stejné oblasti nebo alespoň geograficky blízko oblasti, kde je vaše služba AI Search hostovaná. Tím se sníží latence a zvýší se rychlost přenosu dat mezi službami.

  • Abyste se vyhnuli chybám 429 často, zvažte implementaci vyrovnávání zatížení prostřednictvím služby API Management implementací brány před několika Azure nasazení modelu vkládání OpenAI.

  • Pokud máte limit openAI TPM (tokeny za minutu) větší než výchozí Azure, jak je publikováno v quotas a omezení dokumentaci, otevřete případ podporu s týmem Azure AI Vyhledávač, aby bylo možné ho 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.

  • Pro příklady a pracovní ukázky kódu používajícího tuto dovednost viz následující odkazy:

Chyby a varování

Podmínka Result
Nulový nebo neplatný URI Error
Null nebo neplatné deploymentID Error
Text je prázdný Warning
Text je větší než 8 000 tokenů Error

Aspekty zabezpečení pro ověřování spravovaných identit

Když dovednost Azure OpenAI Embedding používá ověřování spravované identity, Azure AI Vyhledávač získá přístupový token Microsoft Entra pro cílovou skupinu Foundry Tools (https://cognitiveservices.azure.com) a zahrne ji do požadavků odeslaných do koncového bodu určeného uživatelem resourceUri. Ověřování spravované identity se použije, pokud authIdentity je nastavené, nebo když jsou prázdné apiKey a authIdentity služba používá identitu přiřazenou systémem.

Očekává se, že koncový bod, na který odkazujete, bude vaším vlastním prostředkem resourceUri Azure OpenAI nebo Foundry Tools. Podporované domény jsou:

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

Podporují se také koncové body Azure API Management (*.azure-api.netAPIM). Vzhledem k tomu, že název hostitele APIM nejde ověřit jenom z jeho názvu, Azure AI Vyhledávač ověří tyto koncové body kontrolou živého připojení v době konfigurace, a ne podle párování domén. Zodpovídáte za konfiguraci a údržbu vztahu mezi koncovým bodem APIM a prostředkem OpenAI nebo Foundry Tools za ním Azure.

Token spravované identity vydaný pro cílovou skupinu Foundry Tools je platný pro všechny nástroje Foundry nebo Azure prostředek OpenAI, ve které je identita autorizovaná. Odeslání do nedůvěryhodného koncového bodu může token zveřejnit.

Pokud chcete pomoct se zabezpečením nasazení, postupujte podle těchto postupů:

  • Nastavte resourceUri pouze koncové body, které vlastníte a důvěřujete jim. Preferujte domény Foundry Tools uvedené dříve. Pokud používáte koncový bod APIM, před povolením spravované identity ho před povolením vlastního prostředku potvrďte. Důvěryhodný název hostitele není důkazem o vlastnictví.
  • Použijte zásadu nejnižšího oprávnění na spravovanou identitu používanou vyhledávací službou. Dovednost Azure vkládání OpenAI vyžaduje pouze roli uživatele OpenAI služeb Cognitive Services v cílovém prostředku. Vyhněte se udělování širších rolí.
  • Pomocí hraniční sítě (NSP) a privátních koncových bodů nebo integrace virtuální sítě omezte, ke kterým koncovým bodům může vyhledávací služba přistupovat a ze kterých zdrojů cílový prostředek přijímá požadavky.
  • Pokud používáte koncový bod APIM, ujistěte se, že brána ověřuje příchozí požadavky a předává je jenom zamýšlenému back-endu. Zásady přístupu byste také měli pravidelně kontrolovat.
  • Preferovat spravovanou identitu před apiKey. Pokud používáte apiKey, bezpečně ho uložte a otočte a nevkládejte ho do správy zdrojového kódu. Služba odmítne konfigurace, které nastavují obojí apiKey i authIdentity.
  • Pravidelně kontrolujte definice sady dovedností, přiřazení rolí spravované identity a konfigurace APIM a ověřte, že resourceUri hodnoty, řízení přístupu a oprávnění identit zůstávají aktuální a vhodné. Zkontrolujte změny konfigurace prostřednictvím zavedených procesů správy změn a kontroly zabezpečení.
  • Monitorování protokolů přihlášení k openAI a foundry Tools, událostí ověřování a přístupových protokolů Azure neočekávanou nebo neoprávněnou aktivitou
  • Odeberte nepoužívané dovednosti, koncové body, přiřazení rolí a klíče rozhraní API, které už nejsou potřeba.

Omezení přístupu ke konfiguraci sady dovedností

Uživatelé, kteří můžou vytvářet, upravovat nebo spouštět sady dovedností, řídí cílový koncový bod (resourceUri) i konfiguraci ověřování používanou dovedností. Protože dovednost odesílá token spravované identity pro cílovou skupinu Foundry Tools do tohoto koncového bodu, omezte tato oprávnění na důvěryhodné správce a při konfiguraci dovedností s podporou spravované identity postupujte podle standardních procesů správy změn a kontroly zabezpečení.

Viz také