LangChain su Vertex AI

LangChain su Vertex AI (anteprima) consente di sfruttare la libreria open source LangChain per creare applicazioni di IA generativa personalizzate e utilizzare Vertex AI per modelli, strumenti e deployment. Con LangChain su Vertex AI (anteprima), puoi fare quanto segue:

  • Seleziona il modello linguistico di grandi dimensioni (LLM) con cui vuoi lavorare.
  • Definire gli strumenti per accedere alle API esterne.
  • Strutturare l'interfaccia tra l'utente e i componenti di sistema in un framework di orchestrazione.
  • Eseguire il deployment del framework in un runtime gestito.

Componenti di sistema

La creazione e il deployment di un'applicazione di IA generativa personalizzata utilizzando OSS LangChain e Vertex AI sono costituiti da quattro componenti:

ComponenteDescrizione
LLM

Quando invii una query alla tua applicazione personalizzata, l'LLM la elabora e fornisce una risposta.

Puoi scegliere di definire un insieme di strumenti che comunica con le API esterne e di fornirli al modello. Durante l'elaborazione di una query, il modello delega determinate attività agli strumenti. Ciò implica una o più chiamate del modello a modelli di base o perfezionati.

Per scoprire di più, consulta Versioni e ciclo di vita dei modelli.

Strumento

Puoi scegliere di definire un set di strumenti che comunica con le API esterne (ad esempio un database) e di fornirli al modello. Durante l'elaborazione di una query, il modello può delegare determinate attività agli strumenti.

Il deployment tramite il runtime gestito di Vertex AI è ottimizzato per l'utilizzo di strumenti basati sulla chiamata di funzione Gemini, ma supporta lo strumento LangChain/chiamata funzione. Per saperne di più sulle chiamate delle funzioni Gemini, vedi Chiamate di funzione.

Framework di orchestrazione

LangChain su Vertex AI consente di sfruttare il framework di orchestrazione LangChain in Vertex AI. Utilizza LangChain per decidere quanto deve essere deterministica la tua applicazione.

Se utilizzi già LangChain, puoi usare il codice LangChain esistente per eseguire il deployment della tua applicazione su Vertex AI. Altrimenti, puoi creare il tuo codice dell'applicazione e strutturarlo in un framework di orchestrazione che sfrutta i modelli LangChain di Vertex AI.

Per scoprire di più, vedi Sviluppare un'applicazione.

Runtime gestito LangChain su Vertex AI consente di eseguire il deployment dell'applicazione in un runtime gestito da Reasoning Engine. Questo runtime è un servizio Vertex AI che offre tutti i vantaggi dell'integrazione con Vertex AI: sicurezza, privacy, osservabilità e scalabilità. Puoi produrre e scalare la tua applicazione con una semplice chiamata API, trasformando rapidamente i prototipi testati localmente in deployment di livello enterprise. Per scoprire di più, vedi Eseguire il deployment di un'applicazione.

Esistono molti modi diversi per creare prototipi e creare applicazioni di IA generativa personalizzate che sfruttano le funzionalità degli agenti combinando strumenti e funzioni personalizzate su modelli come Gemini. Al momento di portare la tua applicazione in produzione, devi valutare come eseguire il deployment e gestire l'agente e i relativi componenti sottostanti.

Con i componenti di LangChain su Vertex AI, l'obiettivo è aiutarti a concentrarti e personalizzare gli aspetti delle funzionalità dell'agente che ti interessano di più, come le funzioni personalizzate, il comportamento degli agenti e i parametri del modello, mentre Google si occupa del deployment, della scalabilità dei pacchetti, delle versioni e così via. Se lavori a un livello inferiore nello stack, potresti dover gestire più di quanto vuoi. Se lavori a un livello superiore dell'elenco, potresti non avere lo stesso livello di controllo per gli sviluppatori che vorresti.

Flusso di sistema in fase di runtime

Quando l'utente esegue una query, l'agente definito la formatta in una richiesta per l'LLM. L'LLM elabora il prompt e determina se vuole utilizzare uno degli strumenti.

Se l'LLM sceglie di utilizzare uno strumento, genera un FunctionCall con il nome e i parametri con cui deve essere chiamato lo strumento. L'agente richiama lo strumento con FunctionCall e fornisce i risultati dello strumento all'LLM. Se l'LLM sceglie di non utilizzare alcun strumento, genera contenuti che vengono restituiti dall'agente all'utente.

Il seguente diagramma illustra il flusso di sistema in fase di runtime:

Flusso di sistema in fase di runtime 

Crea ed esegui il deployment di un'applicazione di AI generativa

Il flusso di lavoro per la creazione di un'applicazione di AI generativa è:

Procedura Descrizione
1. Configurare l'ambiente Configura il tuo progetto Google e installa la versione più recente dell'SDK Vertex AI per Python.
2. Sviluppa un'applicazione Sviluppa un'applicazione LangChain di cui sia possibile eseguire il deployment su Reasoning Engine.
3. Esegui il deployment dell'applicazione Eseguire il deployment dell'applicazione su Reasoning Engine.
4. Utilizzare l'applicazione Motore di ragionamento delle query per una risposta.
5. Gestire l'applicazione di cui è stato eseguito il deployment Gestisci ed elimina le applicazioni di cui hai eseguito il deployment in Reasoning Engine.
6. (Facoltativo) Personalizzare un modello di applicazione Personalizzare un modello per nuove applicazioni.

I passaggi sono illustrati dal seguente diagramma:

Crea ed esegui il deployment di un'applicazione di AI generativa 

Vantaggi

  • Personalizzabile: utilizzando le interfacce standardizzate di LangChain, LangChain su Vertex AI può essere adottato per creare diversi tipi di applicazioni. Puoi personalizzare la logica dell'applicazione e incorporare qualsiasi framework, ottenendo un elevato grado di flessibilità.
  • Semplifica il deployment: LangChain su Vertex AI utilizza le stesse API di LangChain per interagire con gli LLM e creare applicazioni. LangChain su Vertex AI semplifica e accelera il deployment con gli LLM di Vertex AI, poiché il runtime di Reasoning Engine supporta il deployment con un solo clic per generare un'API conforme sulla base della tua libreria.
  • Integrazione con gli ecosistemi di Vertex AI: Reasoning Engine per LangChain su Vertex AI utilizza l'infrastruttura e i container predefiniti di Vertex AI per aiutarti a eseguire il deployment della tua applicazione LLM. Puoi utilizzare l'API Vertex AI per l'integrazione con i modelli Gemini, le chiamate di funzione e le estensioni.
  • Sicura, privata e scalabile: puoi utilizzare una singola chiamata SDK anziché gestire autonomamente il processo di sviluppo. Il runtime gestito di Reasoning Engine ti libera da attività come sviluppo di server di applicazioni, creazione di container e configurazione di autenticazione, IAM e scalabilità. Vertex AI gestisce la scalabilità automatica, l'espansione a livello di regione e le vulnerabilità dei container.

Casi d'uso

Puoi utilizzare LangChain su Vertex AI per le seguenti attività:

Passaggi successivi