Come implementare la vettorizzazione integrata usando modelli di Studio AI della piattaforma Azure

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 Studio AI della piattaforma Azure per le conversioni vettoriali durante l'indicizzazione e nelle query in Azure AI Search.

Il flusso di lavoro include i passaggi di distribuzione del modello. Il catalogo dei modelli include l'incorporamento di modelli da OpenAI di Azure, Cohere, Facebook e OpenAI. La distribuzione di un modello è fatturabile in base alla struttura di fatturazione di ogni provider.

Dopo aver distribuito il modello, è possibile usarlo per la vettorializzazione integrata durante l'indicizzazione o con il vettorizzatore di Studio AI per le query.

Distribuire un modello di incorporamento dal catalogo modelli di Studio AI della piattaforma Azure

  1. Aprire il catalogo modelli di Studio AI della piattaforma Azure.

  2. Applicare un filtro per visualizzare solo i modelli di incorporamento. In Attività di inferenza selezionare Incorporamenti:

    Screenshot della pagina del catalogo modelli di Studio AI della piattaforma Azure che evidenzia come effettuare il filtraggio in base ai modelli di incorporamento.

  3. Selezionare il modello con cui si vuole vettorializzare il contenuto. Selezionare quindi Distribuisci e selezionare un'opzione di distribuzione.

    Screenshot della distribuzione di un endpoint tramite il catalogo modelli di Studio AI della piattaforma Azure.

  4. Compilare i dettagli richiesti. Selezionare o creare un nuovo progetto di IA, quindi selezionare Distribuisci. I dettagli della distribuzione variano a seconda del modello selezionato.

  5. 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.

  6. Copiare i valori dei campi URL, Chiave primaria e ID modello e tenerli da parte per un secondo momento. 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 token, è sufficiente copiare l'URL e l'ID modello e prendere nota dell'area in cui viene distribuito il modello.

    Screenshot di un endpoint distribuito in Studio AI che evidenzia i campi da copiare e salvare per un secondo momento.

  7. È ora possibile configurare un indice di ricerca e un indicizzatore per l'uso del modello distribuito.

Payload di competenze di Azure Machine Learning di esempio

Quando si distribuiscono modelli di incorporamento dal catalogo modelli di Studio AI della piattaforma Azure, ci si connette ai modelli usando la competenza AML in Azure AI Search 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 seguenti di Studio AI:

  • OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32
  • OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336

Si presuppone che il contenuto venga suddiviso in blocchi usando la competenza Divisione testo e che il testo da vettorializzare si trovi nel percorso /document/pages/*. Se il testo proviene da un percorso diverso, aggiornare di conseguenza tutti i riferimenti al percorso /document/pages/*.

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 Studio AI della piattaforma Azure.

{
  "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
  "context": "/document/pages/*",
  "uri": "{YOUR_MODEL_URL_HERE}",
  "key": "{YOUR_MODEL_KEY_HERE}",
  "inputs": [
    {
      "name": "input_data",
      "sourceContext": "/document/pages/*",
      "inputs": [
        {
          "name": "columns",
          "source": "=['image', 'text']"
        },
        {
          "name": "index",
          "source": "=[0]"
        },
        {
          "name": "data",
          "source": "=[['', $(/document/pages/*)]]"
        }
      ]
    }
  ],
  "outputs": [
    {
      "name": "text_features"
    }
  ]
}

Payload del vettorizzatore di Studio AI di esempio

Il vettorizzatore di Studio AI, a differenza della competenza AML, è stato progettato in modo specifico per funzionare solo con i modelli di incorporamento che possono essere distribuiti tramite il catalogo modelli di Studio AI. La differenza principale è che non è necessario preoccuparsi del payload della richiesta e della risposta, ma è necessario specificare il modelName, che corrisponde al valore di "ID modello" copiato dopo la distribuzione del modello in Studio AI.

Ecco un payload di esempio che illustra come configurare il vettorizzatore nella definizione dell'indice in base alle proprietà copiate da Studio AI.

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 del vettorizzatore di Studio AI per l'autenticazione 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

Passaggi successivi