Condividi tramite


Competenza di incorporamenti multi-modello di Visione di Azure AI

Importante

Questa competenza è disponibile in anteprima pubblica in Condizioni supplementari per l'utilizzo. L'API REST 2024-05-01-Preview supporta questa funzionalità.

La competenza di incorporamenti multi-modello di Visione di Azure AI usa l'API di incorporamento Incorporamenti multi-modello di Azure AI Vision per generare incorporamenti per l'immagine o l'input di testo.

La competenza è supportata solo nei servizi di ricerca che si trovano in un'area che supporta l'API Incorporamenti multi-modello di Visione di Azure AI. Esaminare la disponibilità dell'area per gli incorporamenti migrati. I dati vengono elaborati nell'area geografica in cui viene distribuito il modello.

Nota

Questa competenza è associata ai servizi di intelligenza artificiale di Azure e richiede una risorsa fatturabile per le transazioni che superano 20 documenti per indicizzatore al giorno. L'esecuzione delle competenze predefinite viene addebitata secondo gli attuali prezzi con pagamento in base al consumo dei Servizi di Azure AI.

Inoltre, l'estrazione di immagini è fatturabile da Azure AI Search.

@odata.type

Microsoft.Skills.Vision.VectorizeSkill

Limiti dei dati

I limiti di input per la competenza sono disponibili nella documentazione di Visione di Azure AI rispettivamente per immagini e testo. È consigliabile usare la competenza Suddivisione testo se è necessario suddividere i dati per gli input di testo.

Parametri della competenza

I parametri fanno distinzione tra maiuscole e minuscole.

Input Descrizione
modelVersion (Obbligatorio) Versione del modello da passare all'API Incorporamenti multi-modello di Visione di Azure AI per la generazione di incorporamenti. È importante che tutti gli incorporamenti archiviati in un determinato campo di indice vengano generati usando lo stesso modelVersion. Per informazioni sul supporto della versione per questo modello, vedere incorporamenti non sincronizzati.

Input competenze

Input Descrizione
text Testo di input da vettorizzare. Se si usa la suddivisione in blocchi di dati, l'origine potrebbe essere /document/pages/*.
image Tipo complesso. Attualmente funziona solo con il campo "/document/normalized_images", prodotto dall'indicizzatore di BLOB di Azure quando imageAction è impostato su un valore diverso da none.
url URL per scaricare l'immagine da vettorizzare.
queryString Stringa di query dell'URL per scaricare l'immagine da vettorizzare. Utile se si archivia l'URL e il token di firma di accesso condiviso in percorsi separati.

È possibile configurare solo uno di text, image o url/queryString per una singola istanza della competenza. Se si desidera vettorizzare sia immagini che testo all'interno dello stesso set di competenze, includere due istanze di questa competenza nella definizione del set di competenze, una per ogni tipo di input che si desidera usare.

Output competenze

Output Descrizione
vector Array di incorporamento dell'output di float per il testo o l'immagine di input.

Definizione di esempio

Per l'input di testo, prendere in considerazione un record con i campi seguenti:

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

La definizione della competenza potrebbe essere simile alla seguente:

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

Per l'input dell'immagine, la definizione della competenza potrebbe essere simile alla seguente:

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

Se si desidera vettorizzare le immagini direttamente dall'origine dati dell'archiviazione BLOB, la definizione della competenza potrebbe essere simile alla seguente:

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

Output di esempio

Per il testo di input specificato, viene generato un output di incorporamento vettorializzato.

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

L'output si trova in memoria. Per inviare questo output a un campo nell'indice di ricerca, è necessario definire un outputFieldMapping che esegue il mapping dell'output di incorporamento vettorializzato (che è un array) a un campo vettoriale. Supponendo che l'output della competenza risieda nel nodo vettoriale del documento e content_vector sia il campo nell'indice di ricerca, outputFieldMapping nell'indicizzatore dovrebbe essere simile a:

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

Per eseguire il mapping degli incorporamenti di immagini all'indice, è necessario usare la funzionalità Proiezioni indice. Il payload per indexProjections potrebbe essere simile a:

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

Vedi anche