Condividi tramite


Esercitazione: Scegliere modelli di incorporamento e chat per la ricerca generativa in Azure AI Search

Una soluzione di ricerca generativa basata su Azure AI Search accetta una dipendenza dai modelli di incorporamento per la vettorizzazione e dai modelli di chat per la basata su conversazione sui dati.

In questa esercitazione:

  • Informazioni sui modelli nel cloud di Azure che funzionano con l'integrazione predefinita
  • Informazioni sui modelli di Azure usati per la chat
  • Distribuire modelli e raccogliere informazioni sul modello per il codice
  • Configurare l'accesso del motore di ricerca ai modelli di Azure
  • Informazioni su competenze e vettori personalizzati per il collegamento di modelli non di Azure

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

  • Il portale di Azure, usato per distribuire modelli e configurare le assegnazioni di ruolo nel cloud di Azure.

  • Ruolo Proprietario o Amministratore accesso utenti nella sottoscrizione di Azure, necessario per la creazione di assegnazioni di ruolo. In questa esercitazione si usano almeno tre risorse di Azure. Le connessioni vengono autenticate usando Microsoft Entra ID, che richiede la possibilità di creare ruoli. Le assegnazioni di ruolo per la connessione ai modelli sono documentate in questo articolo. Se non è possibile creare ruoli, è possibile usare invece le chiavi API.

  • Un provider di modelli, ad esempio Azure OpenAI, Visione di Azure AI tramite un account multiservizio di Azure per intelligenza artificiale o Studio AI della piattaforma Azure.

    In questa esercitazione si usa Azure OpenAI. Sono elencati altri provider in modo da mostrare le opzioni disponibili per la vettorizzazione integrata.

  • Azure AI Search, livello Basic o superiore, offre un'identità gestita usata nelle assegnazioni di ruolo.

  • Un'area condivisa. Per completare tutte le esercitazioni di questa serie, l'area deve supportare sia Azure AI Search di Azure che il provider di modelli. Vedere le aree supportate per:

    Ricerca di intelligenza artificiale di Azure presenta attualmente una disponibilità limitata in alcune aree. Per confermare lo stato dell'area, controllare l'elenco di aree di Ricerca di intelligenza artificiale di Azure.

Suggerimento

Per un elenco di aree sovrapposte, vedere questo articolo .

Esaminare i modelli che supportano la vettorizzazione predefinita

Il contenuto vettorizzato migliora i risultati della query in una soluzione di ricerca generativa. Ricerca di intelligenza artificiale di Azure supporta un'azione di vettorizzazione predefinita in una pipeline di indicizzazione. Supporta anche la vettorializzazione in fase di query, convertendo input di testo o immagine in incorporamenti per una ricerca vettoriale. In questo passaggio identificare un modello di incorporamento ottimale per il contenuto e le query. Se si forniscono dati vettoriali non elaborati e query vettoriali non elaborate o se la soluzione di ricerca generativa non include dati vettoriali, ignorare questo passaggio.

Le query vettoriali che includono un passaggio di conversione da testo a vettore devono usare lo stesso modello di incorporamento usato durante l'indicizzazione. Il motore di ricerca non genera un errore se si usano modelli diversi, ma si ottengono risultati scarsi.

Per soddisfare il requisito dello stesso modello, scegliere modelli di incorporamento a cui è possibile fare riferimento tramite competenze durante l'indicizzazione e tramite vettori durante l'esecuzione della query. Nella tabella seguente sono elencate le coppie di competenze e vettorizzatori. Per vedere come vengono usati i modelli di incorporamento, passare a Creare una pipeline di indicizzazione per il codice che chiama una competenza di incorporamento e un vettore corrispondente.

Azure AI Search offre il supporto di competenze e vettorizzatori per i modelli di incorporamento seguenti nel cloud di Azure.

Client Incorporamento di modelli Skill Vettorizzatore
OpenAI di Azure text-embedding-ada-002,
text-embedding-3-large,
text-embedding-3-small
AzureOpenAIEmbedding AzureOpenAIEmbedding
Visione di Azure AI multimodal 4.0 1 AzureAIVision AzureAIVision
Catalogo dei modelli di Studio AI della piattaforma Azure OpenAI-CLIP-Image-Text-Embeddings-vit-base-patch32,
OpenAI-CLIP-Image-Text-Embeddings-ViT-Large-Patch14-336,
Facebook-DinoV2-Image-Embeddings-ViT-Base,
Facebook-DinoV2-Image-Embeddings-ViT-Giant,
Cohere-embed-v3-english,
Cohere-embed-v3-multilingual
AML 2 Catalogo dei modelli di Studio AI della piattaforma Azure

1 Supporta la vettorizzazione di immagini e testo.

2 I modelli distribuiti nel catalogo modelli sono accessibili tramite un endpoint di Azure Machine Learning. Per questa connessione viene usata la competenza di Azure Machine Learning esistente.

È possibile usare altri modelli oltre a quelli elencati qui. Per altre informazioni, vedere Usare modelli non di Azure per incorporamenti in questo articolo.

Nota

Gli input per un modello di incorporamento sono in genere dati in blocchi. In un criterio di ricerca generativa di Azure AI Search la suddivisione in blocchi viene gestita nella pipeline dell'indicizzatore, descritta in un'altra esercitazione in questa serie.

Esaminare i modelli usati per l'intelligenza artificiale generativa in fase di query

Azure AI Search non ha codice di integrazione per i modelli di chat, quindi è consigliabile scegliere un modello linguistico di grandi dimensioni (LLM) con cui si ha familiarità e che soddisfi i requisiti. È possibile modificare il codice di query per provare modelli diversi senza dover ricompilare un indice o eseguire nuovamente una parte della pipeline di indicizzazione. Vedere Cercare e generare risposte per ottenere il codice che chiama il modello di chat.

I modelli seguenti vengono comunemente usati per un'esperienza di ricerca di chat:

Client Modelli di chat
OpenAI di Azure GPT-35-Turbo,
GPT-4,
GPT-4o,
GPT-4 Turbo

I modelli GPT-35-Turbo e GPT-4 sono ottimizzati per lavorare con gli input formattati come conversazione.

In questa esercitazione si usa GPT-4o. Durante i test, è stato rilevato che è meno probabile integrare con i propri dati di training. Ad esempio, data la query "quanto della terra è coperta dall'acqua?", GPT-35-Turbo ha risposto usando la conoscenza incorporata della terra per dichiarare che il 71% della terra è coperto dall'acqua, anche se i dati del campione non forniscono tale fatto. Al contrario, GPT-4o ha risposto (correttamente) con "I don't know".

Distribuire modelli e raccogliere informazioni

I modelli devono essere distribuiti e accessibili tramite un endpoint. Sia le competenze correlate all'incorporamento che i vettorizzatori necessitano del numero di dimensioni e del nome del modello.

Questa serie di esercitazioni usa i modelli e i provider di modelli seguenti:

  • Text-embedding-3-large in Azure OpenAI per incorporamenti
  • GPT-4o in Azure OpenAI per il completamento della chat

Per distribuire modelli in Azure OpenAI, è necessario avere il ruolo Collaboratore di OpenAI di Servizi cognitivi o superiore.

  1. Passare ad Azure OpenAI Studio.

  2. Selezionare Distribuzioni nel menu a sinistra.

  3. Selezionare Distribuisci modello>Distribuisci modello di base.

  4. Selezionare text-embedding-3-large nell'elenco a discesa e confermare la selezione.

  5. Specificare un nome di distribuzione. È consigliabile "text-embedding-3-large".

  6. Accettare i valori predefiniti.

  7. Seleziona Distribuisci.

  8. Ripetere i passaggi precedenti per gpt-4o.

  9. Prendere nota dei nomi dei modelli e dell'endpoint. Le competenze di incorporamento e i vettorizzatori assemblano internamente l'endpoint completo, quindi è necessario solo l'URI della risorsa. Ad esempio, dato https://MY-FAKE-ACCOUNT.openai.azure.com/openai/deployments/text-embedding-3-large/embeddings?api-version=2024-06-01, l'endpoint da fornire nelle definizioni di competenza e vettorizzatore è https://MY-FAKE-ACCOUNT.openai.azure.com.

Configurare l'accesso del motore di ricerca ai modelli di Azure

Per l'esecuzione di pipeline e query, questa esercitazione usa Microsoft Entra ID per l'autenticazione e i ruoli per l'autorizzazione.

Assegnare a se stessi e all'identità del servizio di ricerca le autorizzazioni in Azure OpenAI. Il codice per questa esercitazione viene eseguito in locale. Le richieste ad Azure OpenAI provengono dal sistema. Inoltre, i risultati della ricerca dal motore di ricerca vengono passati ad Azure OpenAI. Per questi motivi, sia l'utente che il servizio di ricerca necessitano di autorizzazioni per Azure OpenAI.

  1. Accedere al portale di Azure e trovare il servizio di ricerca.

  2. Configurare Azure AI Search per usare un'identità gestita dal sistema.

  3. Trovare la risorsa di Azure OpenAI.

  4. Selezionare Controllo di accesso (IAM) dal menu a sinistra.

  5. Selezionare Aggiungi un'assegnazione di ruolo.

  6. Selezionare Utente di OpenAI di Servizi cognitivi.

  7. Selezionare Identità gestita e selezionare Membri. Trovare l'identità gestita dal sistema per il servizio di ricerca nell'elenco a discesa.

  8. Selezionare quindi Utente, gruppo o entità servizio e quindi selezionare Membri. Cercare il proprio account utente e quindi selezionarlo nell'elenco a discesa.

  9. Assicurarsi di avere due entità di sicurezza assegnate al ruolo.

  10. Selezionare Rivedi e assegna per creare l'assegnazione di ruolo.

Per l'accesso ai modelli in Visione di Azure AI, assegnare il ruolo Utente di OpenAI di Servizi cognitivi. Per lo Studio AI della piattaforma Azure assegnare il ruolo Sviluppatore di Azure per intelligenza artificiale.

Usare modelli non di Azure per gli incorporamenti

Il criterio per l'integrazione di qualsiasi modello di incorporamento consiste nell'eseguirne il wrapping in una competenza personalizzata e in un vettorizzatore personalizzato. In questa sezione vengono forniti collegamenti ad articoli di riferimento. Per un esempio di codice che chiama un modello non di Azure, vedere Demo di incorporamenti personalizzati.

Client Incorporamento di modelli Skill Vettorizzatore
Qualsiasi Qualsiasi Competenza personalizzata Vettorizzatore personalizzato

Passaggio successivo