Usare i modelli di incorporamento dal catalogo dei modelli di Azure AI Foundry per la vettorializzazione integrata
Importante
Questa funzionalità è disponibile in anteprima pubblica in Condizioni supplementari per l'utilizzo. L'API REST 2024-05-01-Preview supporta questa funzionalità.
Questo articolo illustra come accedere ai modelli di incorporamento nel catalogo dei modelli di Azure AI Foundry per le conversioni vettoriali durante l'indicizzazione e nelle query in Ricerca di intelligenza artificiale di Azure.
Il flusso di lavoro include i passaggi di distribuzione del modello. Il catalogo dei modelli include modelli di incorporamento di Microsoft e di altre aziende. La distribuzione di un modello è fatturabile in base alla struttura di fatturazione di ogni provider.
Dopo aver distribuito il modello, è possibile usarlo per la vettorizzazione integrata durante l'indicizzazione o con il vettore di Azure AI Foundry per le query.
Suggerimento
Usare la procedura guidata Importa e vettorizza dati per generare un set di competenze che include una competenza AML per i modelli di incorporamento distribuiti in Azure AI Foundry. La definizione di competenza AML per input, output e mapping viene generata dalla procedura guidata, che consente di testare facilmente un modello prima di scrivere codice.
Prerequisiti
Ricerca di intelligenza artificiale di Azure, qualsiasi area e livello.
Azure AI Foundry e un progetto Azure AI Foundry.
Modelli di incorporamento supportati
La vettorializzazione integrata e la procedura guidata Importa e vettorizza dati supporta i modelli di incorporamento seguenti nel catalogo dei modelli:
Per gli incorporamenti di testo:
- Cohere-embed-v3-english
- Cohere-embed-v3-multilingual
Per gli incorporamenti di immagini:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Distribuire un modello di incorporamento dal catalogo dei modelli di Azure AI Foundry
Aprire il catalogo dei modelli di Azure AI Foundry. Creare un progetto se non ne è già disponibile uno.
Applicare un filtro per visualizzare solo i modelli di incorporamento. In Attività di inferenza selezionare Incorporamenti:
Selezionare un modello supportato e quindi selezionare Distribuisci.
Accettare le impostazioni predefinite o modificare in base alle esigenze e quindi selezionare Distribuisci. I dettagli della distribuzione variano a seconda del modello selezionato.
Attendere il completamento della distribuzione del modello monitorando lo Stato del provisioning. Questo deve passare da "Provisioning" ad "Aggiornamento" a "Operazione completata". Potrebbe essere necessario selezionare Aggiorna a intervalli di pochi minuti per visualizzare l'aggiornamento dello stato.
Prendere nota dell'URI, della chiave e del nome del modello di destinazione. Tali valori sono necessari per la definizione del vettorizzatore in un indice di ricerca e per il set di competenze che richiama gli endpoint del modello durante l'indicizzazione.
Facoltativamente, è possibile modificare l'endpoint in modo da usare l'Autenticazione token anziché l'Autenticazione della chiave. Se si abilita l'autenticazione del token, è sufficiente copiare l'URI e il nome del modello, ma prendere nota dell'area in cui viene distribuito il modello.
È ora possibile configurare un indice di ricerca e un indicizzatore per l'uso del modello distribuito.
Per usare il modello durante l'indicizzazione, vedere i passaggi per abilitare la vettorializzazione integrata. Assicurarsi di usare la competenza di Azure Machine Learning (AML) e non la competenza AzureOpenAIEmbedding. La sezione successiva descrive la configurazione delle competenze.
Per usare il modello come vettorizzatore in fase di query, vedere Configurare un vettorizzatore. Assicurarsi di usare il vettore di catalogo del modello di Azure AI Foundry per questo passaggio.
Payload di competenze di Azure Machine Learning di esempio
Quando si distribuiscono modelli di incorporamento dal catalogo dei modelli di Azure AI Foundry, ci si connette usando la competenza AML in Ricerca di intelligenza artificiale di Azure per l'indicizzazione dei carichi di lavoro.
Questa sezione descrive la definizione della competenza AML e i mapping degli indici. Include payload di esempio già configurati per l'uso con gli endpoint distribuiti corrispondenti. Per altre informazioni tecniche sul funzionamento di questi payload, vedere Contesto delle competenze e linguaggio di annotazione di input.
Questo payload della competenza AML funziona con i modelli di incorporamento di immagini seguenti da Azure AI Foundry:
- Facebook-DinoV2-Image-Embeddings-ViT-Base
- Facebook-DinoV2-Image-Embeddings-ViT-Giant
Si presuppone che le immagini provengano dal percorso /document/normalized_images/*
creato abilitando l'estrazione di immagini predefinita. Se le immagini provengono da un percorso diverso o vengono archiviate come URL, aggiornare tutti i riferimenti al percorso /document/normalized_images/*
di conseguenza.
L'URI e la chiave vengono generati quando si distribuisce il modello dal catalogo. Per altre informazioni su questi valori, vedere Come distribuire modelli linguistici di grandi dimensioni con Azure AI Foundry.
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"context": "/document/normalized_images/*",
"uri": "https://myproject-1a1a-abcd.eastus.inference.ml.azure.com/score",
"timeout": "PT1M",
"key": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444",
"inputs": [
{
"name": "input_data",
"sourceContext": "/document/normalized_images/*",
"inputs": [
{
"name": "columns",
"source": "=['image', 'text']"
},
{
"name": "index",
"source": "=[0]"
},
{
"name": "data",
"source": "=[[$(/document/normalized_images/*/data), '']]"
}
]
}
],
"outputs": [
{
"name": "image_features"
}
]
}
Payload del vettore di Azure AI Foundry di esempio
Il vettore Azure AI Foundry, a differenza della competenza AML, è personalizzato per funzionare solo con i modelli di incorporamento che possono essere distribuiti tramite il catalogo dei modelli di Azure AI Foundry. La differenza principale è che non è necessario preoccuparsi del payload della richiesta e della risposta, ma è necessario specificare modelName
, che corrisponde all'"ID modello" copiato dopo la distribuzione del modello nel portale di Azure AI Foundry.
Di seguito è riportato un payload di esempio di come configurare il vettore nella definizione dell'indice in base alle proprietà copiate da Azure AI Foundry.
Per i modelli di Cohere, NON è consigliabile aggiungere il percorso /v1/embed
alla fine dell'URL come è stato fatto con la competenza.
"vectorizers": [
{
"name": "<YOUR_VECTORIZER_NAME_HERE>",
"kind": "aml",
"amlParameters": {
"uri": "<YOUR_URL_HERE>",
"key": "<YOUR_PRIMARY_KEY_HERE>",
"modelName": "<YOUR_MODEL_ID_HERE>"
},
}
]
Connettersi con l'autenticazione basata su token
Se non è possibile usare l'autenticazione basata su chiave, è invece possibile configurare la competenza AML e la connessione a vettorizzatori di Azure AI Foundry per l'autenticazione del token tramite il controllo degli accessi in base al ruolo in Azure. Il servizio di ricerca deve avere un'identità gestita assegnata dal sistema o dall'utente e l'identità deve avere le autorizzazioni di Proprietario o Collaboratore per l'area di lavoro del progetto AML. È quindi possibile rimuovere il campo chiave dalla definizione della competenza e del vettorizzatore, sostituendolo con il campo resourceId. Se il progetto AML e il servizio di ricerca si trovano in aree diverse, specificare anche il campo area.
"uri": "<YOUR_URL_HERE>",
"resourceId": "subscriptions/<YOUR_SUBSCRIPTION_ID_HERE>/resourceGroups/<YOUR_RESOURCE_GROUP_NAME_HERE>/providers/Microsoft.MachineLearningServices/workspaces/<YOUR_AML_WORKSPACE_NAME_HERE>/onlineendpoints/<YOUR_AML_ENDPOINT_NAME_HERE>",
"region": "westus", // Only need if AML project lives in different region from search service