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