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.com heeft, zoals https://<resourcename>.cognitiveservices.azure.com een 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 authIdentity de 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-002 de ondersteunde waarden , text-embedding-3-large en 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 |