Vaardigheid voor insluiten van Azure OpenAI

Belangrijk

Deze functie is beschikbaar als openbare preview onder aanvullende gebruiksvoorwaarden. De REST API 2023-10-01-Preview ondersteunt deze functie.

De vaardigheid Azure OpenAI Embedding maakt verbinding met een geïmplementeerd insluitmodel in uw Azure OpenAI-resource om insluitingen te genereren.

De gegevens importeren en vectoriseren maken 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 deze bouwt.

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 een modelprovider, zoals een Azure OpenAI-resource of een OpenAI-URL.
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.

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",
  "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.

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