Condividi tramite


Azure AI Search: domande frequenti

Trovare le risposte alle domande frequenti su Azure AI Search.

Generali

Che cos'è Azure AI Search?

Azure AI Search offre un motore di ricerca dedicato e un archivio permanente del contenuto ricercabile per scenari di ricerca full-text e vettoriali. Include anche l'intelligenza artificiale integrata facoltativa per estrarre più testo e struttura dal contenuto non elaborato e per suddividere in blocchi e vettorizzare il contenuto per la ricerca vettoriale.

Come si lavora con Azure AI Search?

Il flusso di lavoro primario consiste nel creare, caricare ed eseguire query su un indice. Anche se è possibile usare la portale di Azure per la maggior parte delle attività, Ricerca di intelligenza artificiale di Azure deve essere usata a livello di codice, gestendo le richieste dal codice client. Il supporto a livello di codice viene fornito tramite API REST e librerie client in .NET, Python, Java e JavaScript SDK per Azure.

"Ricerca di Azure", "Ricerca cognitiva di Azure" e "Azure AI Search" sono lo stesso prodotto?

Ricerca di Azure è stato rinominato in Ricerca cognitiva di Azure a ottobre 2019 per riflettere l'uso ampliato (ancora facoltativo) delle competenze cognitive e dell'elaborazione dell'intelligenza artificiale nelle operazioni del servizio. Ricerca cognitiva di Azure è stata rinominata Azure AI Search nell'ottobre 2023 per allinearsi ai Servizi di Azure AI.

Quali sono le lingue supportate?

Per i vettori, i modelli di incorporamento usati determinano l'esperienza linguistica.

Per le stringhe e i numeri non di ottimizzazione, l'analizzatore predefinito usato per la tokenizzazione è Lucene standard, che è indipendente dal linguaggio. In caso contrario, il supporto del linguaggio viene espresso tramite analizzatori del linguaggio che applicano regole linguistiche al contenuto in ingresso (indicizzazione) e in uscita (query). Alcune funzionalità, ad esempio il correttore ortografico e la riscrittura delle query, sono limitate a un subset di linguaggi.

Come si integra la ricerca nella soluzione?

Il codice client deve chiamare le librerie client di Azure SDK o le API REST per connettersi a un indice di ricerca, formulare query e gestire le risposte. È anche possibile scrivere codice che compila e aggiorna un indice oppure esegue indicizzatori a livello di codice o tramite script.

Esiste parità funzionale tra le varie API?

Non sempre. L'API REST è sempre la prima a implementare nuove funzionalità nelle versioni dell'API di anteprima. Le librerie client negli SDK di Azure rileveranno nuove funzionalità nel tempo, ma vengono rilasciate in base alla propria pianificazione.

Anche se le API REST sono inizialmente disponibili con le funzionalità più recenti, gli SDK di Azure offrono maggiore supporto per la codifica e sono consigliati rispetto all'uso di REST, a meno una funzionalità necessaria sia mancante.

È possibile sospendere il servizio e interrompere la fatturazione?

Non è possibile sospendere un servizio di ricerca. In Azure AI Search le risorse di calcolo vengono allocate al momento della creazione del servizio. Non è possibile rilasciare e recuperare le risorse su richiesta.

È possibile aggiornare o effettuare il downgrade del servizio?

I servizi creati prima di aprile 2024 nelle aree selezionate possono essere aggiornati a cluster con capacità superiore. Il downgrade del servizio non è supportato.

Per ottenere una maggiore capacità, è anche possibile passare a un piano tariffario superiore. L'area non può avere vincoli di capacità per il livello superiore ed è possibile spostarsi solo tra i livelli Basic e Standard (S1, S2 e S3), ad esempio passando da Basic a S1. Attualmente non è possibile passare a un livello inferiore.

È possibile rinominare o spostare il servizio?

Il nome e l'area del servizio sono fissi per la durata del servizio.

Se si esegue la migrazione del servizio di ricerca a un'altra sottoscrizione o a un altro gruppo di risorse, ci saranno tempi di inattività?

Se si segue l'elenco di controllo prima di spostare le risorse e ci si assicura di completare ogni passaggio, non dovrebbero esserci tempi di inattività.

Perché vengono visualizzati limiti di archiviazione diversi per i servizi di ricerca dello stesso livello?

I limiti di archiviazione possono variare in base alla data di creazione del servizio. Nella maggior parte delle aree supportate, i servizi più recenti hanno limiti di archiviazione più elevati rispetto ai servizi meno recenti, anche se si trovano nello stesso livello. Tuttavia, potrebbe essere possibile aggiornare il servizio precedente per accedere ai nuovi limiti.

Indicizzazione

Cosa significa "indicizzazione" in Azure AI Search?

Fa riferimento all'inserimento, all'analisi e all'archiviazione di contenuto testuale e token che popolano un indice di ricerca. L'indicizzazione crea indici invertiti e altre strutture di dati fisici che supportano il recupero delle informazioni.

Crea indici vettoriali se lo schema include campi vettoriali.

È possibile spostare, eseguire il backup e ripristinare gli indici?

Non è disponibile alcun supporto nativo per la conversione degli indici. Gli indici di ricerca sono considerati strutture di dati downstream e accettano contenuto da altre origini dati che raccolgono dati operativi. Di conseguenza, non è disponibile alcun supporto predefinito per il backup e il ripristino degli indici perché l'aspettativa è la ricompilazione di un indice dai dati di origine se è stato eliminato o si vuole spostarlo.

Tuttavia, se si vuole spostare un indice tra i servizi di ricerca, è possibile provare il codice di esempio index-backup-restore in questo repository di esempio di Azure AI Search. È disponibile anche una versione Python di backup e ripristino.

È possibile ripristinare l'indice o il servizio dopo l'eliminazione?

No, se si elimina un indice o un servizio di Azure AI Search, non è possibile recuperarlo. Quando si elimina un servizio di ricerca, vengono eliminati definitivamente tutti gli indici nel servizio.

È possibile indicizzare da repliche di database SQL?

Se si usa l'indicizzatore di ricerca per Database SQL di Azure, non esistono restrizioni all'utilizzo di repliche primarie o secondarie come origini dati quando si genera un indice da zero. L'aggiornamento di un indice con aggiornamenti incrementali (in base ai record modificati) richiede tuttavia la replica primaria. Questo requisito deriva dal database SQL, che garantisce il rilevamento delle modifiche solo nelle repliche primarie. Se si tenta di usare le repliche secondarie per un carico di lavoro di aggiornamento di indice, non c'è garanzia di ottenere tutti i dati.

Vettori

Che cos'è la ricerca vettoriale?

La ricerca vettoriale è una tecnica che trova i documenti più simili confrontando le relative rappresentazioni vettoriali. Poiché l'obiettivo di una rappresentazione vettoriale è quello di acquisire le caratteristiche essenziali di un elemento in un formato numerico, le query vettoriali possono identificare contenuto simile anche se non esistono corrispondenze esplicite in base a parole chiave o tag. Quando un utente esegue una ricerca, la query viene riepilogata in una rappresentazione vettoriale e il motore di ricerca vettoriale identifica i documenti più simili. Per migliorare l'efficienza nei database di grandi dimensioni, la ricerca vettoriale spesso fornisce i vicini più prossimi e approssimativi per un vettore di query. Vedere Panoramica della ricerca vettoriale per le specifiche dell'offerta vettoriale di Azure AI Search.

Azure AI Search supporta la ricerca vettoriale?

Azure AI Search supporta l'indicizzazione e il recupero dei vettori. Può suddividere in blocchi e vettorizzare stringhe di query e contenuto se si usa la vettorizzazione integrata e si assume una dipendenza da indicizzatori e set di competenze.

Come funziona la ricerca vettoriale in Azure AI Search?

Con la ricerca vettoriale autonoma, si usa prima di tutto un modello di incorporamento per trasformare il contenuto in una rappresentazione vettoriale all'interno di uno spazio di incorporamento. È quindi possibile fornire questi vettori in un payload del documento all'indice di ricerca per l'indicizzazione. Per gestire le richieste di ricerca, usare lo stesso modello di incorporamento per trasformare la query di ricerca in una rappresentazione vettoriale e la ricerca vettoriale trova i vettori più simili e restituisce i documenti corrispondenti.

In Azure AI Search è possibile indicizzare i dati vettoriali come campi nei documenti insieme a testo e ad altri tipi di contenuto. Esistono più tipi di dati per i campi vettoriali.

È possibile eseguire query vettoriali autonome o in combinazione con altri tipi di query, incluse query e filtri di termini nella stessa richiesta di ricerca.

Azure AI Search può vettorializzare il contenuto o le query?

La vettorizzazione integrata predefinita è ora disponibile a livello generale.

Il servizio di ricerca supporta la ricerca vettoriale?

La maggior parte dei servizi esistenti supporta la ricerca vettoriale. Se si usa un pacchetto o un'API che supportano la ricerca vettoriale e la creazione dell'indice non riesce, il servizio di ricerca sottostante non supporta la ricerca vettoriale e deve essere creato un nuovo servizio. Questo problema può verificarsi per un piccolo subset di servizi creati prima del 1° gennaio 2019.

È possibile aggiungere la ricerca vettoriale a un indice esistente?

Se il servizio di ricerca supporta la ricerca vettoriale, sia gli indici esistenti che quelli nuovi possono contenere campi vettoriali.

Perché vengono visualizzati limiti di dimensioni dell'indice vettoriale diversi tra i nuovi servizi di ricerca e i servizi di ricerca esistenti?

Ricerca di intelligenza artificiale di Azure ha implementato limiti di dimensioni degli indici vettoriali migliorate in tutto il mondo per i nuovi servizi di ricerca, ma alcune aree riscontrano vincoli di capacità e alcune aree non hanno l'infrastruttura necessaria. I nuovi servizi di ricerca creati dopo maggio 2024 nelle aree supportate dovrebbero vedere un aumento dei limiti delle dimensioni dell'indice vettoriale. In alternativa, se si dispone di un servizio esistente in un'area supportata, è possibile aggiornare il servizio per accedere ai nuovi limiti.

Perché l'indice vettoriale mostra lo spazio di archiviazione zero?

Solo gli indici vettoriali che usano il report dell'algoritmo HNSW (Hierarchical Navigable Small World) sulle dimensioni dell'indice vettoriale nel portale di Azure. Se l'indice usa knn esaustivo, le dimensioni dell'indice vettoriale vengono segnalate come zero, anche se l'indice contiene vettori.

Come si abilita la ricerca vettoriale in un indice di ricerca?

Per abilitare la ricerca vettoriale in un indice, è necessario:

  • Aggiungere uno o più campi vettoriali a una raccolta di campi.

  • Aggiungere una sezione "vectorSearch" allo schema di indice specificando la configurazione usata dai campi di ricerca vettoriale, inclusi i parametri dell'algoritmo Nearest Neighbor approssimativo usato, ad esempio HNSW.

  • Usare la versione stabile più recente, 2024-07-01 o Azure SDK per creare o aggiornare l'indice, caricare i documenti ed eseguire query. Per altre informazioni, vedere Creare un indice vettoriale.

Query

Dove si verifica l'esecuzione di query?

Le query vengono eseguite su un singolo indice di ricerca ospitato nel servizio di ricerca. Non è possibile aggiungere più indici al contenuto di ricerca in due o più indici, ma è possibile eseguire query sugli indici con lo stesso nome in più servizi di ricerca.

Perché vengono trovate zero corrispondenze con termini che sono sicuramente validi?

Non tutti sanno che ogni tipo di query supporta comportamenti di ricerca e livelli di analisi linguistiche diversi. La ricerca full-text, che è il carico di lavoro predominante, include una fase di analisi del linguaggio che scompone i termini in forme radice. Questo aspetto di analisi delle query esegue il cast di una rete più ampia alla ricerca di corrispondenze possibili, perché il termine in formato token corrisponde a un maggior numero di varianti.

Le query con caratteri jolly, fuzzy e regex, tuttavia, non vengono analizzate come query di un termine o una frase normale e possono causare un richiamo ridotto se la query non corrisponde alla forma della parola analizzata nell'indice di ricerca. Per altre informazioni sull'analisi delle query, vedere architettura delle query.

Perché le ricerche con caratteri jolly sono lente?

La maggior parte delle query di ricerca con caratteri jolly, ad esempio prefisso, fuzzy e regex, viene riscritta internamente con termini corrispondenti nell'indice di ricerca. Questa elaborazione aggiuntiva incrementa la latenza. Inoltre, le query di ricerca ampie come a* dovranno probabilmente essere riscritte con numerosi termini, operazione che può rivelarsi lenta. Per ricerche con caratteri jolly efficienti, valutare la definizione di un analizzatore personalizzato.

È possibile eseguire ricerche tra più indici?

No, una query ha sempre come ambito un singolo indice.

Perché il punteggio di ricerca è una costante 1,0 per ogni corrispondenza?

I punteggi di ricerca vengono generati per le query di ricerca full-text in base alle proprietà statistiche dei termini corrispondenti e ordinati dall'alto verso il basso nel set di risultati. I tipi di query diversi dalla ricerca full-text (carattere jolly, prefisso, regex) non vengono classificati in base a un punteggio di pertinenza. Questo comportamento è impostato a livello di progettazione. Un punteggio costante permette alle corrispondenze trovate tramite l'espansione della query di essere incluse nei risultati, ma senza influire sulla classifica.

Si supponga ad esempio che un input "viaggi*" in una ricerca con caratteri jolly produca corrispondenze come "viaggio", "viaggiatore" e "viaggiare". Data la natura di questi risultati, non è possibile dedurre ragionevolmente quali termini risultino più utili rispetto ad altri. Per questo motivo, verranno ignorate le frequenze di termini durante l'assegnazione dei punteggi dei risultati nelle query di tipo con caratteri jolly, prefisso e regex. Ai risultati della ricerca basati su un input parziale viene assegnato un punteggio costante per evitare la distorsione verso risultati potenzialmente imprevisti.

Sicurezza

In quale posizione Azure AI Search archivia i dati dei clienti?

Archivia i dati nell'area geografica (Geo) in cui viene distribuito il servizio. Microsoft potrebbe replicare i dati all'interno della stessa area geografica per garantire disponibilità elevata e durabilità. Per altre informazioni, vedere residenza dei dati in Azure.

Azure AI Search invia i dati dei clienti ad altri servizi per l'elaborazione?

Sì, competenze e vettorizzatori effettuano chiamate in uscita da Azure AI Search ad altre risorse di Azure o modelli esterni specificati per l'incorporamento o la chat. Le chiamate a tali API in genere includono contenuto non elaborato da elaborare o query vettorizzate da un modello di incorporamento. Per le connessioni da Azure ad Azure, il servizio invia richieste sulla rete interna. Se si aggiunge una competenza o un vettore personalizzato, l'indicizzatore invia contenuto all'URI fornito nella competenza personalizzata sulla rete pubblica, a meno che non si configuri un collegamento privato condiviso.

Azure AI Search elabora i dati dei clienti in altre aree?

L'elaborazione (vettorizzazione o trasformazioni di intelligenza artificiale applicata) viene eseguita nell'area geografica che ospita i servizi di intelligenza artificiale di Azure usati dalle competenze o dalle app o dalle funzioni di Azure che ospitano competenze personalizzate oppure nell'area Azure OpenAI o Azure AI Foundry che ospita i modelli distribuiti. Queste risorse vengono specificate dall'utente, quindi è possibile scegliere se distribuirle nella stessa area geografica del servizio di ricerca o meno.

Se si inviano dati a modelli o servizi esterni (non Azure), il percorso di elaborazione viene determinato dal servizio esterno.

È possibile controllare l'accesso ai risultati della ricerca in base all'identità utente?

È possibile se si implementa una soluzione che associa documenti a un'identità utente. In genere, gli utenti autorizzati a eseguire l'applicazione sono autorizzati a visualizzare tutti i risultati della ricerca. Azure AI Search non dispone del supporto predefinito per le autorizzazioni a livello di riga o a livello di documento, ma è possibile implementare filtri di sicurezza come soluzione alternativa. Per istruzioni e script, vedere Introduzione all'esempio di chat aziendale Python con RAG.

È possibile controllare l'accesso alle operazioni in base all'identità utente?

Sì, è possibile usare l'autorizzazione basata su ruoli per le operazioni del piano dati sul contenuto.

È possibile usare il portale di Azure per visualizzare e gestire il contenuto della ricerca se il servizio di ricerca si trova dietro un firewall IP o un endpoint privato?

È possibile usare il portale di Azure in un servizio di ricerca protetto da rete se si crea un'eccezione di rete che consente l'accesso a client e portale. Per altre informazioni, vedere connettersi tramite un firewall IP o connettersi tramite un endpoint privato.

Passaggi successivi

Se la risposta a una domanda non è disponibile in questo articolo, è possibile fare riferimento alle fonti seguenti per ulteriori domande e risposte.

Stack Overflow: Ricerca di intelligenza artificiale di Azure
Funzionamento della ricerca full-text in Azure AI Search
Che cos'è Azure AI Search?