Suggerimenti per l'arricchimento tramite intelligenza artificiale in Azure AI Search
Questo articolo contiene suggerimenti per iniziare a usare l'arricchimento tramite intelligenza artificiale e i set di competenze usati durante l'indicizzazione.
Suggerimento 1: Iniziare con la semplicità e con poco
Sia la procedura guidata Importa dati che la procedura guidata Importa e vettorializza dati nel portale di Azure supportano l'arricchimento tramite intelligenza artificiale. Senza scrivere codice è possibile creare ed esaminare tutti gli oggetti usati in una pipeline di arricchimento: un indice, un indicizzatore, un'origine dati e un set di competenze.
Un altro modo per iniziare consiste semplicemente nella creazione di un'origine dati con pochi documenti o righe in una tabella che sono rappresentativi dei documenti che verranno indicizzati. Un set di dati di piccole dimensioni è il modo migliore per aumentare la velocità di ricerca e risoluzione dei problemi. Eseguire l'esempio tramite la pipeline end-to-end e assicurarsi che i risultati soddisfino le proprie esigenze. Quando si è soddisfatti dei risultati, si è pronti ad aggiungere altri file all'origine dati.
Suggerimento 2: vedere quali aspetti funzionano anche se sono presenti errori
In alcuni casi un errore di piccole dimensioni arresta un indicizzatore nelle proprie tracce. Che sia appropriato prevedere di risolvere i problemi uno alla volta. Tuttavia, è possibile ignorare un determinato tipo di errore, consentendo all'indicizzatore di procedere in modo da vedere i flussi attualmente attivi.
Per ignorare gli errori durante lo sviluppo, impostare maxFailedItems
e maxFailedItemsPerBatch
come -1 come parte della definizione dell'indicizzatore.
{
// rest of your indexer definition
"parameters":
{
"maxFailedItems":-1,
"maxFailedItemsPerBatch":-1
}
}
Nota
Come procedura consigliata, impostare maxFailedItems
e maxFailedItemsPerBatch
su 0 per i carichi di lavoro di produzione
Suggerimento 3: usare Sessione di debug per risolvere i problemi
Sessione di debug è un editor visivo che mostra il grafico delle dipendenze di un set di competenze, gli input e gli output, e le definizioni. Funziona caricando un singolo documento dall'indice di ricerca, con l'indicizzatore corrente e la configurazione del set di competenze. È quindi possibile eseguire l'intero set di competenze, con ambito in un singolo documento. All'interno di una sessione di debug è possibile identificare e risolvere gli errori, convalidare le modifiche ed eseguire il commit delle modifiche a un set di competenze padre. Per una procedura dettagliata, vedere Esercitazione: eseguire il debug di sessioni.
Suggerimento 4: il contenuto previsto non appare
Se mancano contenuti, controllare se esistono documenti eliminati nel portale di Azure. Nella pagina del servizio di ricerca, aprire Indicizzatori ed esaminare la colonna Documenti riusciti. Fare clic sulla cronologia di esecuzione dell'indicizzatore per esaminare errori specifici.
Se il problema è correlato alle dimensioni di file, si potrebbe riscontrare un errore simile al seguente: "Il BLOB <nome-file> ha le dimensioni <dimensioni-file>, che superano le dimensioni massime per l'estrazione del documento per il livello di servizio attuale". Per ulteriori informazioni sui limiti degli indicizzatori, vedere i Limiti del servizio.
Una secondo motivo per cui il contenuto non viene visualizzato potrebbe risiedere negli errori di mapping di input/output correlati. Ad esempio, il nome di destinazione di output è "Persone" ma il nome del campo indice è in minuscolo, "persone". Il sistema potrebbe restituire messaggi di operazione riuscita 201 per l'intera pipeline, pertanto si potrebbe ritenere che l'indicizzazione ha avuto esito positivo, quando in realtà un campo è vuoto.
Suggerimento 5: estendere l'elaborazione oltre il tempo di esecuzione massimo
L’analisi delle immagini richiede molte risorse di calcolo anche per i casi semplici, pertanto, quando le immagini sono particolarmente grandi o complesse, i tempi di elaborazione possono superare il tempo massimo consentito.
Per gli indicizzatori con set di competenze, l'esecuzione del set di competenze è limitata a 2 ore per la maggior parte dei livelli. Se l'elaborazione del set di competenze non viene completata entro tale periodo, è possibile collocare l'indicizzatore in una pianificazione ricorrente di 2 ore in modo che l'indicizzatore riprenda l'elaborazione dove era stata interrotta.
L'indicizzazione pianificata viene ripresa con l'ultimo documento che risulta corretto. Tramite una pianificazione ricorrente, l'indicizzatore può concentrarsi sul backlog delle immagini per varie ore o giorni, fino a quando vengono elaborate tutte le immagini non elaborate. Per altre informazioni sulla sintassi della pianificazione, vedere Pianificare un indicizzatore.
Nota
Se un indicizzatore è impostato su una determinata pianificazione ma si verifica ripetutamente un errore nello stesso documento a ogni esecuzione, l'indicizzatore inizierà l'esecuzione su un intervallo meno frequente, fino all'intervallo massimo di almeno una volta ogni 24 ore, fino a quando non progredisce nuovamente in maniera corretta. = Se si ritiene di aver risolto il problema che causava il blocco dell'indicizzatore in un determinato punto, è possibile eseguire un'esecuzione su richiesta dell'indicizzatore; se l'indicizzatore progredisce correttamente, tornerà nuovamente all'intervallo di pianificazione impostato.
Suggerimento 6: aumentare la velocità effettiva di indicizzazione
Per l'indicizzazione parallela, distribuire i dati in più contenitori o cartelle virtuali all'interno dello stesso contenitore. Creare quindi più coppie di origine dati e indicizzatori. Tutti gli indicizzatori possono utilizzare lo stesso insieme di competenze e scrivere nello stesso indice di ricerca di destinazione, in modo che l'app per la ricerca non debba necessariamente essere a conoscenza di tale partizionamento.
Vedi anche
- Avvio rapido: creare una pipeline di arricchimento tramite intelligenza artificiale nel portale
- Esercitazione: Informazioni sulle API REST di arricchimento tramite intelligenza artificiale
- Come configurare indicizzatori BLOB
- Come definire un set di competenze
- Come eseguire la mappatura dei campi arricchiti a un indice