Delen via


Vaardigheid voor insluiten van Azure OpenAI

De vaardigheid Azure OpenAI Embedding maakt verbinding met een geïmplementeerd insluitmodel in uw Azure OpenAI-resource om insluitingen te genereren tijdens het indexeren. Uw gegevens worden verwerkt in de geografische locatie waar uw model wordt geïmplementeerd.

Vereisten

Uw Azure OpenAI-service moet een gekoppeld aangepast subdomein hebben. Als de service is gemaakt via Azure Portal, wordt dit subdomein automatisch gegenereerd als onderdeel van de installatie van uw service. Zorg ervoor dat uw service een aangepast subdomein bevat voordat u deze gebruikt met de Integratie van Azure AI Search.

Azure OpenAI Service-resources (met toegang tot insluitmodellen) die zijn gemaakt in AI Studio, worden niet ondersteund. Alleen de Azure OpenAI Service-resources die in Azure Portal zijn gemaakt, zijn compatibel met de integratie van vaardigheden voor Azure OpenAI Embedding .

De wizard Gegevens importeren en vectoriseren in Azure Portal maakt gebruik van de vaardigheid Azure OpenAI Embedding om inhoud te vectoriseren. U kunt de wizard uitvoeren en de gegenereerde vaardighedenset bekijken om te zien hoe de wizard de vaardigheid bouwt voor het insluiten van modellen.

Notitie

Deze vaardigheid is gebonden aan Azure OpenAI en wordt in rekening gebracht tegen de bestaande prijs voor betalen per gebruik van Azure OpenAI.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Gegevenslimieten

De maximale grootte van een tekstinvoer moet 8.000 tokens zijn. Als invoer het toegestane maximum overschrijdt, genereert het model een ongeldige aanvraagfout. Zie het sleutelconcept voor tokens in de Documentatie van Azure OpenAI voor meer informatie. Overweeg het gebruik van de vaardigheid Tekst splitsen als u gegevenssegmentering nodig hebt.

Vaardigheidsparameters

Parameters zijn hoofdlettergevoelig.

Invoerwaarden Beschrijving
resourceUri De URI van de modelprovider, in dit geval, een Azure OpenAI-resource. Deze parameter ondersteunt alleen URL's met een domein openai.azure.com, zoals https://<resourcename>.openai.azure.com. Als het Azure OpenAI-eindpunt een URL met een domein cognitiveservices.azure.comheeft, zoals https://<resourcename>.cognitiveservices.azure.comeen aangepast subdomein, openai.azure.com moet u eerst een aangepast subdomein maken voor de Azure OpenAI-resource en in plaats daarvan gebruikenhttps://<resourcename>.openai.azure.com.
apiKey De geheime sleutel die wordt gebruikt voor toegang tot het model. Als u een sleutel opgeeft, laat u deze authIdentity leeg. Als u zowel de apiKey als authIdentityde optie instelt, wordt deze apiKey gebruikt voor de verbinding.
deploymentId De naam van het geïmplementeerde Azure OpenAI-insluitingsmodel. Het model moet een insluitmodel zijn, zoals tekst-insluiten-ada-002. Zie de lijst met Azure OpenAI-modellen voor ondersteunde modellen.
authIdentity Een door de gebruiker beheerde identiteit die door de zoekservice wordt gebruikt om verbinding te maken met Azure OpenAI. U kunt een door het systeem beheerde identiteit of een door de gebruiker beheerde identiteit gebruiken. Als u een door het systeem beheerde identiteit wilt gebruiken, laat u deze leeg en authIdentity leegapiKey. De door het systeem beheerde identiteit wordt automatisch gebruikt. Een beheerde identiteit moet cognitive Services OpenAI-gebruikersmachtigingen hebben om tekst naar Azure OpenAI te verzenden.
modelName Deze eigenschap is vereist als uw vaardighedenset wordt gemaakt met behulp van de REST API 2024-05-01-preview of 2024-07-01. Stel deze eigenschap in op de implementatienaam van een Azure OpenAI-insluitmodel dat is geïmplementeerd op de provider die is opgegeven via resourceUri en geïdentificeerd via deploymentId. Momenteel zijn text-embedding-ada-002de ondersteunde waarden , text-embedding-3-largeen text-embedding-3-small.
dimensions (Optioneel, geïntroduceerd in de REST API 2024-05-01-preview). De dimensies van insluitingen die u wilt genereren als het model ondersteuning biedt voor het verminderen van de insluitingsdimensies. Ondersteunde bereiken worden hieronder weergegeven. Standaard ingesteld op de maximumdimensies voor elk model als dit niet is opgegeven. Voor vaardighedensets die zijn gemaakt met de preview-versie van 2023-10-01, zijn dimensies vastgesteld op 1536.

Ondersteunde dimensies door modelName

De ondersteunde dimensies voor een Azure OpenAI Embedding-vaardigheid zijn afhankelijk van de modelName dimensie die is geconfigureerd.

modelName Minimumdimensies Maximumdimensies
tekst-insluiten-ada-002 1536 1536
tekst-insluiten-3-groot 1 3072
tekst-insluiten-3-klein 1 1536

Invoer van vaardigheden

Invoer Beschrijving
text De invoertekst die moet worden gevectoriseerd. Als u gegevenssegmentering gebruikt, is /document/pages/*de bron mogelijk.

Uitvoer van vaardigheden

Uitvoer Beschrijving
embedding Gevectoriseerde insluiting voor de invoertekst.

Voorbeelddefinitie

Overweeg een record met de volgende velden:

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

Uw vaardigheidsdefinitie ziet er dan als volgt uit:

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

Voorbeelduitvoer

Voor de opgegeven invoertekst wordt een gevectoriseerde insluitingsuitvoer geproduceerd.

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

De uitvoer bevindt zich in het geheugen. Als u deze uitvoer naar een veld in de zoekindex wilt verzenden, moet u een outputFieldMapping definiëren waarmee de gevectoriseerde insluitingsuitvoer (een matrix) wordt toegewezen aan een vectorveld. Ervan uitgaande dat de uitvoer van de vaardigheid zich in het insluitknooppunt van het document bevindt en content_vector het veld in de zoekindex is, moet de outputFieldMapping in indexeerfunctie er als volgt uitzien:

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

Aanbevolen procedures

Hier volgen enkele aanbevolen procedures die u moet overwegen bij het gebruik van deze vaardigheid:

  • Als u uw limiet voor Azure OpenAI TPM (Tokens per minuut) bereikt, kunt u het advies over quotumlimieten overwegen, zodat u dienovereenkomstig kunt aanpakken. Raadpleeg de azure OpenAI-bewakingsdocumentatie voor meer informatie over de prestaties van uw Azure OpenAI-exemplaar.

  • De azure OpenAI-insluitingsmodelimplementatie die u voor deze vaardigheid gebruikt, moet ideaal gescheiden zijn van de implementatie die wordt gebruikt voor andere gebruiksvoorbeelden, waaronder de queryvectorizer. Dit helpt elke implementatie te worden afgestemd op de specifieke use case, wat leidt tot geoptimaliseerde prestaties en het identificeren van verkeer van de indexeerfunctie en de insluitingsaanroepen van de index.

  • Uw Azure OpenAI-exemplaar moet zich in dezelfde regio bevinden of ten minste geografisch dicht bij de regio waar uw AI-Search-service wordt gehost. Dit vermindert de latentie en verbetert de snelheid van gegevensoverdracht tussen de services.

  • Als u een limiet hebt die groter is dan de standaardlimiet voor Azure OpenAI TPM (tokens per minuut), zoals gepubliceerd in de documentatie over quota en limieten , opent u een ondersteuningsaanvraag met het Azure AI Search-team, zodat deze dienovereenkomstig kan worden aangepast. Dit helpt uw indexeringsproces niet onnodig te vertragen door de gedocumenteerde standaard TPM-limiet, als u hogere limieten hebt.

  • Zie de volgende koppelingen voor voorbeelden en werkcodevoorbeelden met behulp van deze vaardigheid:

Fouten en waarschuwingen

Conditie Resultaat
Null of ongeldige URI Error
Null of ongeldige deploymentID Error
Tekst is leeg Waarschuwing
Tekst is groter dan 8.000 tokens Error

Zie ook