Delen via


Vaardigheid voor multimodale insluitingen in Azure AI Vision

Belangrijk

Deze vaardigheid is in openbare preview onder aanvullende gebruiksvoorwaarden. De REST API 2024-05-01-Preview ondersteunt deze functie.

De vaardigheid multimodale insluitingen van Azure AI Vision maakt gebruik van de multimodale insluitings-API van Azure AI Vision voor het genereren van insluitingen voor afbeeldingen of tekstinvoer.

De vaardigheid wordt alleen ondersteund in zoekservices in een regio die ondersteuning biedt voor de Azure AI Vision Multimodal embeddings-API. Controleer de beschikbaarheid van regio's voor multimodale insluitingen. Uw gegevens worden verwerkt in de geografische locatie waar uw model wordt geïmplementeerd.

Notitie

Deze vaardigheid is gebonden aan Azure AI-services en vereist een factureerbare resource voor transacties die groter zijn dan 20 documenten per indexeerfunctie per dag. Voor de uitvoering van ingebouwde vaardigheden worden kosten in rekening gebracht voor de bestaande betalen per gebruik-prijs van Azure AI-services.

Daarnaast kan afbeeldingsextractie worden gefactureerd door Azure AI Search.

@odata.type

Microsoft.Skills.Vision.VectorizeSkill

Gegevenslimieten

De invoerlimieten voor de vaardigheid vindt u in de Azure AI Vision-documentatie voor afbeeldingen en tekst. Overweeg het gebruik van de vaardigheid Tekst splitsen als u gegevenssegmentering nodig hebt voor tekstinvoer.

Vaardigheidsparameters

Parameters zijn hoofdlettergevoelig.

Invoerwaarden Beschrijving
modelVersion (Vereist) De modelversie die moet worden doorgegeven aan de Api voor multimodale insluitingen van Azure AI Vision voor het genereren van insluitingen. Het is belangrijk dat alle insluitingen die zijn opgeslagen in een bepaald indexveld, worden gegenereerd met behulp van hetzelfde modelVersion. Raadpleeg multimodale insluitingen voor meer informatie over versieondersteuning voor dit model.

Invoer van vaardigheden

Invoer Beschrijving
text De invoertekst die moet worden gevectoriseerd. Als u gegevenssegmentering gebruikt, is /document/pages/*de bron mogelijk.
image Complex Type. Werkt momenteel alleen met het veld /document/normalized_images, geproduceerd door de Azure Blob-indexeerfunctie wanneer imageAction deze is ingesteld op een andere waarde dan none.
url De URL voor het downloaden van de afbeelding die moet worden gevectoriseerd.
queryString De querytekenreeks van de URL om de afbeelding te downloaden die moet worden gevectoriseerd. Handig als u de URL en het SAS-token opslaat in afzonderlijke paden.

Slechts één van text, image of url/queryString kan worden geconfigureerd voor één exemplaar van de vaardigheid. Als u zowel afbeeldingen als tekst in dezelfde vaardighedenset wilt vectoriseren, moet u twee exemplaren van deze vaardigheid opnemen in de definitie van de vaardighedenset, één voor elk invoertype dat u wilt gebruiken.

Uitvoer van vaardigheden

Uitvoer Beschrijving
vector Uitvoer die matrix met floats insluit voor de invoertekst of afbeelding.

Voorbeelddefinitie

Voor tekstinvoer kunt u een record met de volgende velden overwegen:

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

Uw vaardigheidsdefinitie ziet er dan als volgt uit:

{ 
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill", 
    "context": "/document", 
    "modelVersion": "2023-04-15", 
    "inputs": [ 
        { 
            "name": "text", 
            "source": "/document/content" 
        } 
    ], 
    "outputs": [ 
        { 
            "name": "vector"
        } 
    ] 
} 

Voor afbeeldingsinvoer kan uw vaardigheidsdefinitie er als volgt uitzien:

{
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
    "context": "/document/normalized_images/*",
    "modelVersion": "2023-04-15", 
    "inputs": [
        {
            "name": "image",
            "source": "/document/normalized_images/*"
        }
    ],
    "outputs": [
        {
            "name": "vector"
        }
    ]
}

Als u afbeeldingen rechtstreeks vanuit uw blobopslaggegevensbron wilt vectoriseren, ziet uw vaardigheidsdefinitie er mogelijk als volgt uit:

{
    "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill",
    "context": "/document",
    "modelVersion": "2023-04-15", 
    "inputs": [
        {
            "name": "url",
            "source": "/document/metadata_storage_path"
        },
        {
            "name": "queryString",
            "source": "/document/metadata_storage_sas_token"
        }
    ],
    "outputs": [
        {
            "name": "vector"
        }
    ]
}

Voorbeelduitvoer

Voor de opgegeven invoertekst wordt een gevectoriseerde insluitingsuitvoer geproduceerd.

{
  "vector": [
        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 vectorknooppunt van het document bevindt en content_vector het veld in de zoekindex is, moet de outputFieldMapping in de indexeerfunctie er als volgt uitzien:

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

Voor het toewijzen van insluitingen van afbeeldingen aan de index moet u de functie Indexprojecties gebruiken. De nettolading kan indexProjections er ongeveer als volgt uitzien:

"indexProjections": {
    "selectors": [
        {
            "targetIndexName": "myTargetIndex",
            "parentKeyFieldName": "ParentKey",
            "sourceContext": "/document/normalized_images/*",
            "mappings": [
                {
                    "name": "content_vector",
                    "source": "/document/normalized_images/*/vector"
                }
            ]
        }
    ]
}

Zie ook