Azure AI Search domande frequenti

Trovare le risposte alle domande frequenti sulle Azure AI Search.

Generale

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 agenti, full-text e vettoriali. Include anche l'intelligenza artificiale integrata facoltativa per estrarre 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 è creare, caricare ed eseguire query su un indice. Sebbene sia possibile usare il portale di Azure per la maggior parte delle attività, Azure AI Search deve essere usato 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 SDK JavaScript per Azure.

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

Sì. Sono tutti gli stessi prodotti, con il rebranding che si è verificato nell'ottobre 2019 e di nuovo nel mese di ottobre 2023. È possibile che a volte si possano notare tracce dei nomi precedenti a livello di codice.

Quali lingue sono supportate?

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

Per le stringhe e i numeri non vettoriali, l'analizzatore predefinito usato per la tokenizzazione è Lucene standard, che è indipendente dal linguaggio specifico. 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 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 che esegue indicizzatori a livello di codice o tramite script.

È 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 tali 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 più o meno capacità, è anche possibile passare a un piano tariffario diverso. Il ridimensionamento viene bloccato se la configurazione del servizio corrente supera i limiti del livello di destinazione o se l'area ha vincoli di capacità nel livello di destinazione. Attualmente, è possibile passare solo tra i livelli Basic e Standard (S1, S2 e S3).

È 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, è necessario prevedere tempi di inattività?

Se si segue l'elenco di controllo prima di spostare le risorse e assicurarsi che ogni passaggio venga completato, 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, accettando contenuto da altre origini dati che raccolgono dati operativi. Di conseguenza, non è disponibile alcun supporto predefinito per il backup e il ripristino degli indici. L'aspettativa è che si debba ricompilare un indice dai dati di origine se è stato eliminato o che sia necessario spostarlo.

Tuttavia, se si vuole spostare un indice tra i servizi di ricerca, è possibile provare l'esempio di codice di backup e ripristino per .NET o Python.

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

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

È possibile indicizzare da repliche di database SQL?

Se si usa l'indicizzatore di ricerca per database SQL di Azure, non esistono restrizioni sull'uso di repliche primarie o secondarie come origine dati durante la compilazione di un indice da zero. Tuttavia, l'aggiornamento di un indice con aggiornamenti incrementali (in base ai record modificati) richiede la replica primaria. Questo requisito deriva dal database SQL, che garantisce il rilevamento delle modifiche solo nelle repliche primarie. Se si prova a usare repliche secondarie per un carico di lavoro di aggiornamento dell'indice, non esiste alcuna 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 è acquisire le caratteristiche essenziali di un elemento in un formato numerico, le query vettoriali possono identificare contenuto simile, anche se non sono presenti 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 l'Approssimazione dei Vicini Più Prossimi (ANN) per un vettore di interrogazione. Per altre informazioni, vedere Vector search in 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, che accetta 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 indipendenti o in combinazione con altri tipi di query, inclusi query sui termini e filtri nella stessa richiesta di ricerca.

È possibile Azure AI Search vettorizzare 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 supporta 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 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?

Azure AI Search implementato limiti delle dimensioni dell'indice vettoriale migliorati 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, potrebbe essere possibile aggiornare il servizio per accedere ai nuovi limiti.

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

Solo gli indici vettoriali che utilizzano l'algoritmo HNSW (Hierarchical Navigable Small World) forniscono informazioni 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:

  • 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 ANN usato, ad esempio HNSW.

  • Usare la versione più recente dell'API REST stabile o un Azure SDK per creare o aggiornare l'indice, caricare 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 dal servizio di ricerca. Non è possibile collegare più indici per cercare contenuti in due o più indici, ma è possibile eseguire query sugli indici con lo stesso nome in più servizi di ricerca.

Perché sono presenti zero corrispondenze in termini che so essere validi?

Il caso più comune non è sapere che ogni tipo di query supporta diversi comportamenti di ricerca e livelli di analisi linguistica. 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 dell'analisi delle query opera in un ambito più ampio rispetto alle corrispondenze possibili, perché il termine tokenizzato corrisponde a un numero maggiore di varianti.

Tuttavia, le query con caratteri jolly, fuzzy e regex 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 ulteriori informazioni sulla parsificazione e l'analisi delle query, vedere Ricerca a testo pieno in Azure AI Search.

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 aggiunge alla latenza. Inoltre, è probabile che le query di ricerca generali come a* vengano riscritte con molti termini, il che può essere lento. Per ricerche con caratteri jolly efficienti, valutare la definizione di un analizzatore personalizzato.

È possibile eseguire ricerche in più indici?

No. Una query è sempre limitata a 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 vengono ordinati da alto a 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. Un punteggio costante consente di includere le corrispondenze trovate tramite l'espansione della query nei risultati senza influire sulla classificazione.

Si supponga, ad esempio, che un inserimento di "tour*" in una ricerca con wildcard produca corrispondenze con "tours", "tourettes" e "tourmaline". Data la natura di questi risultati, non c'è modo di dedurre ragionevolmente quali termini sono più preziosi di altri. Per questo motivo, le frequenze dei termini vengono ignorate quando si assegnano i punteggi nei risultati delle query di tipo wildcard, prefisso ed espressione regolare. Ai risultati della ricerca basati su un input parziale viene assegnato un punteggio costante per evitare distorsioni verso corrispondenze potenzialmente impreviste.

Sicurezza

Dove Azure AI Search archivia i dati dei clienti?

Archivia i dati nell'area geografica (geografica) 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 contengono contenuto non elaborato da elaborare o eseguire query vettorializzate da un modello di incorporamento. Per le connessioni da Azure a 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 il sottoservizio Foundry Tools usato dalle competenze, dalle app o dalle funzioni Azure che ospitano competenze personalizzate oppure dall'area Azure OpenAI o Microsoft 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 le istruzioni e gli script, vedere Introduzione: Chat utilizzando i tuoi dati (esempio Python).

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

Sì. È possibile usare l'autorizzazione basata sui 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 domanda non viene risposta qui, è possibile fare riferimento alle fonti seguenti per altre domande e risposte.

Stack Overflow: Ricerca di intelligenza artificiale di Azure
Come funziona la ricerca full-text in Azure AI Search
Che è Azure AI Search?