Condividi tramite


Introduzione alle app di intelligenza artificiale generative in Databricks

Mosaic AI supporta applicazioni di intelligenza artificiale di generazione semplice e complessa, dai chatbot di generazione aumentata di recupero (RAG) agli agenti che chiamano gli strumenti. Informazioni sui concetti chiave relativi alle app di intelligenza artificiale di generazione e ai sistemi agente, esplorare i modelli di progettazione comuni e acquisire familiarità con le esercitazioni per la creazione, la valutazione e il ridimensionamento delle app di intelligenza artificiale di generazione.

Concetti delle app di intelligenza artificiale generativa

Acquisire familiarità con i concetti fondamentali delle app di intelligenza artificiale di generazione.

Informazioni su come Mosaic AI affronta le sfide principali durante lo sviluppo di intelligenza artificiale di generazione.

Provare a creare app di intelligenza artificiale di generazione con Mosaic AI

Inizia con le seguenti esercitazioni sui notebook:

Quando si è pronti per una maggiore complessità, vedere le guide avanzate e le esercitazioni:

Che cosa sono le app di intelligenza artificiale di generazione?

Un'app di intelligenza artificiale di generazione è un'applicazione che usa modelli di intelligenza artificiale generativi (ad esempio LLMs, modelli di generazione di immagini e modelli di sintesi vocale) per creare nuovi output, automatizzare attività complesse o interagire in interazioni intelligenti in base all'input dell'utente. Anche se le app di intelligenza artificiale di generazione possono usare vari modelli, questa guida si concentra sulle applicazioni basate su LLM.

Anche se le app di intelligenza artificiale con tecnologia LLM possono essere compilate in modi diversi, in genere rientrano in uno dei due modelli di architettura seguenti:

Tipo 1: LLM monolitico + prompt Tipo 2 (scelta consigliata): Sistema agente
Cos'è? Un singolo LLM con richieste progettate con attenzione. Molteplici componenti interconnessi (chiamate LLM, recuperatori, chiamate API) coordinati insieme - che spaziano da semplici catene a sofisticati sistemi multi-agente.
caso d'uso di esempio Classificazione contenuto: Uso di un LLM per classificare i ticket di supporto clienti in argomenti predefiniti. Assistente intelligente: Combinazione di recupero documenti, più chiamate LLM e API esterne per la ricerca, l'analisi e la generazione di report completi.
migliore per Attività semplici, incentrate, prototipi rapidi e prompt ben definiti. Flussi di lavoro complessi, attività che richiedono più funzionalità e attività che richiedono la reflection sui passaggi precedenti.
Vantaggi principali Implementazione più semplice, sviluppo più rapido e minore complessità operativa. Più affidabile e gestibile, maggiore controllo e flessibilità, più facile da testare e verificare e ottimizzare a livello di componente.
limitazioni Meno flessibile, più difficile da ottimizzare e limitare le funzionalità. Implementazione più complessa, configurazione iniziale e necessità di coordinamento dei componenti.

Per la maggior parte dei casi d'uso aziendali, Databricks consiglia un sistema agente . Suddividendo i sistemi in componenti più piccoli e ben definiti, gli sviluppatori possono gestire meglio la complessità mantenendo livelli elevati di controllo e conformità necessari per le applicazioni aziendali.

Mosaic AI include strumenti e funzionalità che funzionano sia per i sistemi monolitici che per i sistemi agente, mentre il resto di questa documentazione illustra la creazione di entrambi i tipi di app di intelligenza artificiale di generazione.

Per altre informazioni sulla teoria dei sistemi agente rispetto ai modelli monolitici, vedere i post di blog dei fondatori di Databricks:

Che cos'è un sistema agente?

Un sistema agente è un sistema basato su intelligenza artificiale che può percepire, decidere e agire in modo autonomo in un ambiente per raggiungere obiettivi. A differenza di un LLM autonomo che produce solo un output quando richiesto, un sistema agente possiede un grado di agenzia. I moderni sistemi di agenti basati su LLM usano un LLM come "cervello" per interpretare il contesto, il motivo di cosa fare successivamente ed eseguire azioni come chiamate API, meccanismi di recupero e chiamate agli strumenti per eseguire attività.

Un sistema agente è un sistema con un LLM al suo centro. Tale sistema:

  1. Riceve richieste utente o messaggi da un altro agente.
  2. Motivi su come procedere: quali dati recuperare, quale logica applicare, quali strumenti chiamare o se richiedere più input dall'utente.
  3. Esegue un piano e possibilmente utilizza più strumenti o delega a sub-agenti.
  4. Restituisce una risposta o chiede all'utente ulteriori chiarimenti.

Colmando il divario tra l'intelligenza generale (le funzionalità con training preliminare dell'LLM) e l'intelligence dei dati (le conoscenze specializzate e le API specifiche per la tua azienda), i sistemi agenti consentono casi d'uso aziendali ad alto impatto, come flussi avanzati del servizio clienti, bot di analisi ricchi di dati e orchestrazione multi-agente per compiti operativi complessi.

Che cosa può fare un sistema agente?

Un sistema agente può:

  • Pianificare in modo dinamico le azioni
  • Portare lo stato da un passaggio al successivo
  • Regolare la sua strategia in base a nuove informazioni senza intervento umano continuo

Quando richiesto, un LLM autonomo potrebbe restituire un itinerario di viaggio, un sistema agente potrebbe recuperare informazioni sui clienti e prenotare i voli in modo autonomo sfruttando strumenti e API. Combinando "general intelligence" da LLM con "data intelligence" (API o dati specifici del dominio), i sistemi agente possono affrontare casi d'uso aziendali sofisticati che un singolo modello statico avrebbe difficoltà a risolvere.

L'agire è un continuum; maggiore è la libertà che si fornisce ai modelli per controllare il comportamento del sistema, più l'applicazione diventa autonoma. In pratica, la maggior parte dei sistemi di produzione vincola attentamente l'autonomia dell'agente per garantire la conformità e la prevedibilità, ad esempio richiedendo l'approvazione umana per azioni rischiose.

Intelligence generale e intelligence per i dati

Diagramma che confronta l'intelligenza generale e l'intelligence dei dati.

  • Intelligenza generale: si riferisce a ciò che l'LLM conosce intrinsecamente grazie a un ampio addestramento preliminare su testi diversificati. Questo è utile per la fluenza del linguaggio e il ragionamento generale.
  • Intelligence per i dati: Fa riferimento alle API e ai dati specifici del dominio dell'organizzazione. Ciò può includere record dei clienti, informazioni sul prodotto, knowledge base o documenti che riflettono l'ambiente aziendale univoco.

I sistemi agente combinano queste due prospettive: iniziano con una conoscenza generica e ampia di un LLM e quindi portano dati specifici del dominio o in tempo reale per rispondere a domande dettagliate o eseguire azioni specializzate.

Esempio di sistema dell'agente

Diagramma di flusso dell'interazione dei clienti con l'app di intelligenza artificiale generativa.

Si consideri uno scenario di call center tra un cliente e un agente di intelligenza artificiale di generazione:

Il cliente invia una richiesta: "Puoi aiutarmi a restituire il mio ultimo ordine?"

  1. Motivo e piano: data la finalità della query, l'agente programma: "Cercare l'ordine recente dell'utente e controllare la nostra politica di reso".
  2. Trova informazioni (intelligence sui dati): l'agente interroga il database degli ordini per recuperare l'ordine pertinente e fa riferimento a un documento di politica aziendale.
  3. Motivo: l'agente controlla se l'ordine rientra nella finestra di restituzione.
    • Intervento umano facoltativo: L'agente controlla una regola aggiuntiva: se l'elemento rientra in una determinata categoria o non rientra nella normale finestra di reso, viene eseguita l'escalation a un essere umano.
  4. Action: l'agente attiva il processo di restituzione e genera un'etichetta di spedizione.
  5. Motivo: l'agente genera una risposta al cliente.

L'agente di intelligenza artificiale risponde al cliente: "Fatto! Ecco l'etichetta di spedizione..."

In un contesto di call center umano, questi passaggi diventano automatici. In un contesto di sistema agente, l'LLM "ragiona", mentre il sistema chiama strumenti o fonti di dati specializzate per fornire i dettagli.

Strumenti e origini dati usate dal sistema dell'agente.

Livelli di complessità: da LLMs a sistemi agente

È possibile riscontrare diversi livelli di complessità durante la creazione di sistemi di intelligenza artificiale.

  • LLMs (LLM + Segnale)

    • Un LLM autonomo risponde alle richieste di testo in base alle conoscenze provenienti da un ampio set di dati di addestramento.
    • Buona per query semplici o generiche, ma spesso disconnesse dai dati aziendali reali.

    LLM risponde agli utenti

  • sistema ad agente codificato fisso ("Chain")

    • Gli sviluppatori orchestrano passaggi deterministici e predefiniti. Ad esempio, un'applicazione RAG può sempre recuperare da un archivio vettoriale e combinare i risultati con la richiesta dell'utente.
    • La logica è fissa e l'LLM non decide quale strumento chiamare in seguito.

    Toolchain predefiniti

  • sistema agente di chiamata strumenti

    • LLM decide quale strumento usare e quando usarlo in fase di esecuzione.
    • Questo approccio supporta decisioni dinamiche e con riconoscimento del contesto su quali strumenti richiamare, ad esempio un database CRM o un'API di registrazione slack.

    Gli agenti di intelligenza artificiale razionalizzano un piano ed eseguirlo con gli strumenti.

  • sistemi multi-agente

    • Più agenti specializzati, ognuno con la propria funzione o dominio.
    • Un coordinatore (a volte un supervisore di intelligenza artificiale, a volte basato su regole) decide quale agente richiamare in ogni passaggio.
    • Gli agenti possono consegnare le attività l'una all'altra mantenendo al tempo stesso il flusso complessivo della conversazione.

    Un coordinatore gestisce più agenti di intelligenza artificiale.

Quando si compila un'applicazione con tecnologia LLM, iniziare con semplicità. Introdurre comportamenti agenti più complessi quando sono realmente necessari per una maggiore flessibilità o decisioni basate su modelli. Le catene deterministiche offrono flussi prevedibili e basati su regole per attività ben definite, mentre più approcci agenti sono a costo di complessità aggiuntiva e potenziale latenza.

Mosaic AI Agent Framework è indipendente da questi modelli, semplificando l'avvio semplice e l'evoluzione verso livelli più elevati di automazione e autonomia man mano che aumentano i requisiti dell'applicazione.

Strumenti in un sistema di agenti

Nel contesto di un sistema agente, gli strumenti sono funzioni a interazione singola che un LLM può richiamare per eseguire un'attività ben definita. Il modello di intelligenza artificiale genera in genere parametri per ogni chiamata di strumento e lo strumento fornisce un'interazione di input-output semplice. Non c'è memoria a più turni sul lato strumento.

Alcune categorie di strumenti comuni includono:

  • Strumenti che recuperano o analizzano i dati
    • strumenti di recupero vettoriale: eseguire query su un indice vettoriale per individuare i blocchi di testo più rilevanti.
    • Strumenti di recupero strutturato: Interrogare le tabelle Delta o usare le API per recuperare informazioni strutturate.
    • strumento di ricerca Web: Cerca in Internet o in un insieme Web interno.
    • Modelli di Machine Learning classico: Strumenti che richiamano modelli di Machine Learning per eseguire stime di classificazione o regressione, ad esempio un modello scikit-learn o XGBoost.
    • Modelli di intelligenza artificiale di generazione: Strumenti che eseguono la generazione specializzata, ad esempio la generazione di codice o immagine, e restituiscono i risultati.
  • Strumenti che modificano lo stato di un sistema esterno
    • Strumento di chiamata API: Endpoint CRM, servizi interni o altre integrazioni di terze parti per attività come "aggiornare lo stato di spedizione".
    • strumento di esecuzione del codice: Esegue codice fornito dall'utente (o in alcuni casi generato da LLM) in una sandbox.
    • l'integrazione di Slack o posta elettronica: Pubblica un messaggio o invia una notifica.
  • Strumenti che eseguono la logica o eseguono un'attività specifica
    • Strumento di esecuzione del codice: Esegue il codice fornito dall'utente o generato da LLM in una sandbox, ad esempio script Python.

Per altre informazioni sugli strumenti dell'agente di Mosaic AI, vedere strumenti dell'agente di intelligenza artificiale.

Caratteristiche chiave degli strumenti

Strumenti in un sistema di agenti

  • Eseguire una singola operazione ben definita.
  • Non mantenere il contesto corrente oltre quella invocazione.
  • Consentire al sistema agente di raggiungere dati o servizi esterni a cui l'LLM non può accedere direttamente.

Gestione degli errori e sicurezza degli strumenti

Poiché ogni chiamata allo strumento è un'operazione esterna, ad esempio la chiamata a un'API, il sistema deve gestire correttamente gli errori, ad esempio timeout, gestione degli errori di risposte in formato non valido o input non validi. Nell'ambiente di produzione, limitare il numero di chiamate agli strumenti consentite, avere una risposta di fallback se tutte le chiamate agli strumenti hanno esito negativo e applicare protezioni per garantire che il sistema agente non tenti ripetutamente la stessa azione non riuscita.

Per altre informazioni, vedere