Suggerimenti per l'arricchimento tramite intelligenza artificiale in Ricerca di intelligenza artificiale di Azure

Questo articolo contiene suggerimenti per iniziare a usare l'arricchimento tramite intelligenza artificiale e i set di competenze usati durante l'indicizzazione.

Suggerimento 1: Inizia semplice e inizia piccolo

Sia la procedura guidata Importa dati che Importa e vettorizza i dati nella 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 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 verificare che i risultati soddisfino le proprie esigenze. Dopo aver soddisfatto i risultati, è possibile aggiungere altri file all'origine dati.

Suggerimento 2: Vedere cosa funziona anche in caso di 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 la sessione di debug per risolvere i problemi

La 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 in un set di competenze padre. Per una procedura dettagliata, vedere Esercitazione: sessioni di debug.

Suggerimento 4: Il contenuto previsto non viene visualizzato

Se manca il contenuto, verificare la presenza di documenti eliminati nella portale di Azure. Nella pagina del servizio di ricerca aprire Indicizzatori ed esaminare la colonna Docs succeeded . Fare clic sulla cronologia di esecuzione dell'indicizzatore per esaminare errori specifici.

Se il problema è correlato alle dimensioni del file, è possibile che venga visualizzato un errore simile al seguente: "Il nome> del file BLOB<" ha le dimensioni dei byte di dimensioni> del <file, che superano le dimensioni massime per l'estrazione di documenti per il livello di servizio corrente. Per altre informazioni sui limiti dell'indicizzatore, vedere 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 è a elevato utilizzo di calcolo per casi anche semplici, quindi 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 inserire l'indicizzatore in una pianificazione ricorrente di 2 ore in modo che l'indicizzatore rilevi l'elaborazione in cui è stata interrotta.

L'indicizzazione pianificata riprende nell'ultimo documento valido noto. In base a una pianificazione ricorrente, l'indicizzatore può eseguire il backlog dell'immagine in una serie di ore o giorni, fino a quando non 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 ripetutamente non riesce nello stesso documento ogni volta che viene eseguito, l'indicizzatore inizierà a essere eseguito su un intervallo meno frequente (fino al massimo di almeno una volta ogni 24 ore) fino a quando non viene nuovamente eseguito correttamente. = 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 e, se l'indicizzatore esegue correttamente lo stato di avanzamento, l'indicizzatore 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 in più cartelle virtuali all'interno dello stesso contenitore. Creare quindi più coppie di origine dati e indicizzatore. 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