Azure OpenAI beágyazási készség

Note

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

Az Azure OpenAI Embedding képesség egy beágyazási modellhez kapcsolódik, amelyet a Azure OpenAI in Foundry Models erőforrásodhoz vagy Microsoft Foundry projektedhez telepítettek, hogy beágyazásokat generáljanak indexelési időszakban. Az adatok feldolgozása a Geo-ban történik, ahol a modell üzembe van helyezve.

A Import-data varázsló a Azure portálban az Azure OpenAI beágyazási képességgel vektorizálja a tartalmat. Futtathatod a varázslót, és átnézheted a generált képességkészletet, hogy lásd, hogyan építi fel a modellek beágyazásához szükséges készséget.

Note

Ez a képesség Azure OpenAI-t követi, és Azure OpenAI standard ár díjat számít fel.

Prerequisites

  • Azure OpenAI in Foundry Models resource vagy Foundry project.

    • A Azure OpenAI-erőforrásnak rendelkeznie kell egy custom altartományral, például https://<resource-name>.openai.azure.com. Ezt a végpontot a Kulcsok és végpont lapon találja a Azure portálon, és használhatja a resourceUri tulajdonsághoz ebben a képességben.

    • Az Foundry-projekt szülőerőforrása több végponthoz is hozzáférést biztosít, beleértve a https://<resource-name>.openai.azure.com.https://<resource-name>.services.ai.azure.comhttps://<resource-name>.cognitiveservices.azure.com Ezeket a végpontokat a Azure portál Kulcsok és végpont lapján találja, és bármelyiket használhatja a resourceUri tulajdonsághoz ebben a képességben.

  • Egy Azure OpenAI-beágyazási modell, amelyet az erőforrás vagy projekt üzembe helyezett. A támogatott modellekért lásd a Képességparaméterek szakaszt.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Adatkorlátok

Egy szövegbemenet maximális mérete 8 000 token legyen. Ha a bemenet meghaladja a maximumot, a modell érvénytelen kéréshibát ad. További információért lásd a tokens kulcsfogalmat az Azure OpenAI dokumentációjában. Fontold meg a Text Split képesség használatát, ha adatbölcsölésre van szükséged.

Képességparaméterek

A paraméterek megkülönböztetik a kis- és nagybetűket.

Bemenetek Leírás
resourceUri (Kötelező) A modellszolgáltató URI-ja. A támogatott tartományok a következők:

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

Ez a mező szükséges, ha az erőforrásod egy privát végpont mögé van telepítve, vagy virtuális hálózati (VNet) integrációt használ. Azure API Management végpontok is támogatottak, kivéve az API Management egyéni tartományait. A beállításról, beleértve a hitelesítést, az RBAC-t és az opcionális privát kapcsolatot, tekintse meg A Azure API Management Azure OpenAI-képességekkel és vektorizálókkal.

apiKey A modell eléréséhez használt titkos kulcs. Ha megad egy kulcsot, hagyja authIdentity üresen. Ha mindkettőt apiKey beállítja, akkor authIdentitya rendszer a apiKey kapcsolatot használja.
deploymentId (Kötelező) Az üzembe helyezett Azure OpenAI-beágyazási modell azonosítója. Ez az üzembe helyezési név, amelyet a modell üzembe helyezésekor adott meg.
authIdentity Egy felhasználó által felügyelt identitás, amelyet a keresési szolgáltatás használ a kapcsolathoz. Rendszer - vagy felhasználó által felügyelt identitást is használhat. Rendszer által felügyelt identitás használatához hagyja meg és apiKey hagyja authIdentity üresen. A rendszer által felügyelt identitást a rendszer automatikusan használja. A felügyelt identitásoknak A OpenAI-felhasználónak engedélyekkel kell rendelkezniük ahhoz, hogy szöveget küldjenek Azure OpenAI-nak.
modelName (Kötelező) A megadott deploymentId telepített Azure OpenAI-modell neve. A támogatott értékek a következők:

  • text-embedding-ada-002
  • text-embedding-3-large
  • text-embedding-3-small
dimensions (Opcionális) A beágyazások dimenzióit, amelyeket generálni szeretnél, feltéve, hogy a modell egy dimenzióskorát támogatja. Az alapértelmezett a modellek maximális méretei. A 2023-10-01-preview előtt REST API verziókkal létrehozott készségek esetén a méretek 1536-ra vannak rögzítve. Ha beállítod a dimensions tulajdonságot ebben a képességben, állítsd be a dimensionsvektormező definícióján is ugyanarra az értékre.

Támogatott dimenziók modelName

Egy Azure OpenAI beágyazási képesség támogatott dimenziói a konfigurált modelName-től függnek.

modelName Minimális méretek Maximális méretek
text-embedding-ada-002 1536 1536
szöveg-beágyazás-3-nagy 1 3072
szöveg-beágyazás-3-kicsi 1 1536

Készségbemenetek

Bemenet Leírás
text A bemeneti szöveget vektorizálni kell. Ha adat-chunkolást használsz, a forrás lehet /document/pages/*.

Képességkimenetek

Kimenet Leírás
embedding Vektorizált beágyazás a bemeneti szöveghez.

Mintadefiníció

Vegyünk egy olyan rekordot, amelynek a következő mezők találhatók:

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

Akkor a képességdefiníciód így nézhet ki:

{
  "@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"
    }
  ]
}

Példakimenet

Az adott bemeneti szöveghez vektorizált beágyazott kimenetet kapunk.

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

A kimenet a memóriában található. Ahhoz, hogy ezt a kimenetet a kereső index egy mezőjébe küldjük, definiálnod kell egy outputFieldMappinget , amely a vektorizált beágyazás kimenetet (ami egy tömb) egy vektormezőhöz képezi. Feltételezve, hogy a képesség kimenete a dokumentum beágyazós csomópontjában van, és content_vector a kereső index mezője, akkor az indexerben lévő outputFieldMapping így kellene kinéznie:

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

Bevált gyakorlatok

Az alábbiakban néhány legjobb gyakorlatot kell figyelembe venni ennek a készségnek a használatakor:

  • Ha eléri a Azure OpenAI TPM (Tokens per minute) korlátot, vegye figyelembe a quota korlátokat, hogy ennek megfelelően kezelje. A Azure OpenAI-példány teljesítményével kapcsolatos további információkért tekintse meg az Azure OpenAI monitorozási dokumentációját.

  • Az OpenAI beágyazási modell Azure telepítése, amit ehhez a képességhez használsz, ideális esetben külön kell lennie attól, amit más felhasználási esetekhez használnak, beleértve az query vectorizer telepítését. Ez segít az egyes üzemelő példányokat az adott használati esethez igazítani, ami optimalizált teljesítményhez vezet, és könnyen azonosítja az indexelőtől és az indexbe ágyazott hívásoktól érkező forgalmat.

  • A Azure OpenAI-példánynak ugyanabban a régióban vagy legalább földrajzilag közel kell lennie ahhoz a régióhoz, ahol az AI Search szolgáltatást üzemelteti. Ez csökkenti a késést, és javítja a szolgáltatások közötti adatátvitel sebességét.

  • A 429-es hibakódok gyakori észlelésének elkerülése érdekében fontolja meg a terheléselosztás api Managementen keresztüli implementálását úgy, hogy több Azure OpenAI-beágyazási modell üzembe helyezése előtt implementál egy átjárót.

  • Ha a quotas és korlátok dokumentációban közzétett openAI TPM (tokenek percenként) korlátja nagyobb, mint Azure az alapértelmezett, nyisson meg egy support esetet a Azure AI Keresés csapattal, hogy ennek megfelelően módosítható legyen. Ez segít abban, hogy az indexelési folyamatot ne lassítsa szükségtelenül a dokumentált alapértelmezett TPM-korlát, ha magasabb korlátokkal rendelkezik.

  • Példákért és működő kódmintákért ezen képességgel a következő linkeken olvasható:

Hibák és figyelmeztetések

Állapot Result
Null vagy érvénytelen URI Hiba
Null vagy érvénytelen deploymentID Hiba
A szöveg üres Warning
A szöveg több mint 8 000 token Hiba

A felügyelt identitás hitelesítésének biztonsági szempontjai

Ha a Azure OpenAI beágyazási képesség felügyelt identitáshitelesítést használ, Azure AI Keresés lekér egy Microsoft Entra hozzáférési jogkivonatot az Foundry Tools célközönségéhez (https://cognitiveservices.azure.com), és beleszámítja a megadott resourceUrivégpontra küldött kérelmekbe. A felügyelt identitás hitelesítése akkor érvényes, ha authIdentity be van állítva, vagy ha mindkettő apiKeyauthIdentity üres, és a szolgáltatás a rendszer által hozzárendelt identitást használja.

A hivatkozott resourceUri végpont várhatóan a saját Azure OpenAI- vagy Foundry Tools-erőforrás lesz. A támogatott tartományok a következők:

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

Azure API Management (APIM) végpontok (*.azure-api.net) is támogatottak. Mivel egy APIM-állomásnév önmagában nem ellenőrizhető a nevéből, Azure AI Keresés ezeket a végpontokat konfigurációs időpontban élő kapcsolat-ellenőrzéssel, nem pedig tartományegyeztetéssel ellenőrzi. Ön a felelős az APIM-végpont és a mögötte található Azure OpenAI vagy Foundry Tools erőforrás közötti kapcsolat konfigurálásáért és fenntartásáért.

Az Foundry Tools célközönség számára kibocsátott felügyelt identitásjogkivonat érvényes minden Olyan Öntödei eszközre vagy Azure OpenAI-erőforrásra, amelyen az identitás engedélyezve van. Ha nem megbízható végpontra küldi, az közzéteheti a jogkivonatot.

A biztonságos üzembe helyezés fenntartásához kövesse az alábbi eljárásokat:

  • Csak a saját és megbízható végpontokra van beállítva resourceUri . A korábban felsorolt Foundry Tools-tartományok előnyben részesítése. Ha APIM-végpontot használ, győződjön meg arról, hogy a felügyelt identitás engedélyezése előtt a saját erőforrásához tartozik. A megbízhatónak látszó gazdagépnév nem bizonyítja a tulajdonjogot.
  • Alkalmazza a minimális jogosultság elvét a keresési szolgáltatás által használt felügyelt identitásra. Az Azure OpenAI beágyazási képesség csak a Cognitive Services OpenAI felhasználói szerepkörét igényli a célerőforráson. Kerülje a szélesebb szerepkörök megadását.
  • A hálózati biztonsági szegélyhálózat (NSP) és a privát végpontok vagy a VNet-integráció használatával korlátozhatja, hogy a keresési szolgáltatás mely végpontokat érheti el, és mely forrásokból fogadja a célerőforrás a kéréseket.
  • HA APIM-végpontot használ, győződjön meg arról, hogy az átjáró ellenőrzi a bejövő kéréseket, és csak a kívánt háttérrendszernek továbbítja őket. A hozzáférési szabályzatokat rendszeresen át kell tekintenie.
  • Inkább a felügyelt identitást részesítse előnyben.apiKey Ha használja apiKey, tárolja és forgassa biztonságosan, és ne ágyazza be a forrásvezérlőbe. A szolgáltatás elutasítja a mindkettőt apiKey és authIdentitya .
  • Rendszeresen tekintse át a képességkészlet-definíciókat, a felügyelt identitásszerepkör-hozzárendeléseket és az APIM-konfigurációkat annak ellenőrzéséhez, hogy resourceUri az értékek, a hozzáférés-vezérlés és az identitásengedélyek továbbra is naprakészek és megfelelőek maradnak-e. Tekintse át a konfigurációs módosításokat a már létrehozott változáskezelési és biztonsági felülvizsgálati folyamatokkal.
  • Monitorozza Azure OpenAI és Foundry Tools bejelentkezési naplókat, hitelesítési eseményeket és hozzáférési naplókat váratlan vagy jogosulatlan tevékenységek esetén.
  • Távolítsa el a már nem használt készségeket, végpontokat, szerepkör-hozzárendeléseket és API-kulcsokat.

A képességkészlet-konfigurációhoz való hozzáférés korlátozása

Azok a felhasználók, akik képességkészleteket hozhatnak létre, módosíthatnak vagy futtathatnak, vezérelhetik a célvégpontot (resourceUri) és a képesség által használt hitelesítési konfigurációt is. Mivel a képesség egy felügyelt identitási jogkivonatot küld az Foundry Tools célközönségének erre a végpontra, korlátozza ezeket az engedélyeket a megbízható rendszergazdák számára, és kövesse a szabványos változáskezelési és biztonsági felülvizsgálati folyamatokat a felügyelt identitással kompatibilis készségek konfigurálásakor.

Lásd még