LangChain su Vertex AI

LangChain su Vertex AI (anteprima) ti consente di sfruttare al meglio LangChain per creare applicazioni di IA generativa personalizzate e utilizzare Vertex AI per modelli, strumenti e deployment. Con LangChain su Vertex AI (anteprima), puoi procedi nel seguente modo:

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

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 della tua applicazione e incorporare qualsiasi framework, offrendo un elevato grado di flessibilità.
  • Semplifica il deployment: LangChain su Vertex AI utilizza lo stesso come LangChain per interagire con gli LLM e creare applicazioni. LangChain su Vertex AI semplifica e accelera il deployment con gli LLM Vertex AI poiché il motore di ragionamento il runtime supporta il deployment con un solo clic per generare API conformi basate su nella tua raccolta.
  • Integrazione con gli ecosistemi di Vertex AI: Il motore di ragionamento per LangChain su Vertex AI utilizza e container predefiniti per aiutarti a eseguire il deployment LLM. Puoi utilizzare l'API Vertex AI per l'integrazione con i modelli Gemini, Chiamata di funzione, e Estensioni.
  • Sicura, privata e scalabile: puoi utilizzare una singola chiamata SDK anziché gestire autonomamente il processo di sviluppo. Il motore di ragionamento gestito il runtime libera da attività come lo sviluppo del server delle applicazioni, creazione e configurazione di autenticazione, IAM e scalabilità. Vertex AI gestisce la scalabilità automatica, l'espansione regionale e il container le vulnerabilità.

Casi d'uso

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

Caso d'uso Descrizione di esempio Link di esempio
Estrae entità dalle storie in linguaggio naturale Estrai elenchi di personaggi, relazioni, cose e luoghi da una storia. SDK Vertex AI per blocco note Python - Estrazione di dati strutturati con chiamate di funzione
esegui query e comprendi i database SQL utilizzando il linguaggio naturale Chiedi al modello di convertire domande come "Quale percentuale di ordini vengono restituiti?" in query SQL e creare funzioni che le inviano a BigQuery. Blog post - Creare un'app di esplorazione dei dati BigQuery basata sull'AI utilizzando la chiamata di funzione in Gemini
Aiuta i clienti a interagire con le attività Crea funzioni che si collegano a un'azienda che consente al modello di fornire risposte accurate a domande come "Hai Pixel 8 Pro disponibile?" oppure "C'è un negozio a Roma, Italia che posso visitare per provarlo?" SDK Vertex AI per blocco note Python - Chiamata di funzione con l'API Gemini di Vertex AI e SDK Python
Crea applicazioni di AI generativa connettendoti alle API pubbliche Convertire le valute tra le varie valute.

Crea una funzione di collegamento a un'app di cambio valute, che consenta al modello di fornire risposte accurate a query quali "Qual è il tasso di cambio attuale da euro a dollari?"
Codelab - Come interagire con le API utilizzando la chiamata di funzione in Gemini
Ricevi il meteo di una determinata località.

Creare una funzione che si connetta a un'API di un servizio meteorologico, consentendo al modello di fornire risposte accurate a query quali "Com'è il tempo a Parigi?".
SDK Vertex AI per blocco note Python - Chiamata di funzione con l'API Gemini di Vertex AI e SDK Python

Blog post - Chiamate di funzione: un framework per connettere Gemini a sistemi, dati e API esterni
Convertire un indirizzo in coordinate di latitudine e longitudine.

Crea una funzione che converta i dati strutturati sulla posizione in coordinate di latitudine e longitudine. Chiedi al modello di identificare via, città, stato e codice postale in query come "Voglio ottenere le coordinate di latitudine/longitudine per il seguente indirizzo: 1600 Amphitheatre Pkwy, Mountain View, CA 94043, US".
SDK Vertex AI per blocco note Python - Chiamata di funzione con l'API Gemini di Vertex AI e SDK Python
Interpretare i comandi vocali Creare funzioni che corrispondano alle attività nel veicolo. Ad esempio, puoi creare funzioni che accendono la radio o attivino l'aria condizionata. Invia i file audio dei comandi vocali dell'utente al modello e chiedi al modello di convertire l'audio in testo e di identificare la funzione che l'utente vuole chiamare.  
Automatizzare i flussi di lavoro in base a trigger ambientali Creare funzioni per rappresentare i processi che possono essere automatizzati. Fornisci al modello i dati dei sensori ambientali e chiedigli di analizzare ed elaborare i dati per determinare se uno o più flussi di lavoro debbano essere attivati. Ad esempio, un modello potrebbe elaborare i dati sulla temperatura in un magazzino e scegliere di attivare una funzione di irrigatori.  
Automatizza l'assegnazione dei ticket di assistenza Fornisci al modello ticket di assistenza, log e regole sensibili al contesto. Chiedi al modello di elaborare tutte queste informazioni per determinare a chi assegnare il ticket. Richiama una funzione per assegnare il ticket alla persona suggerita dal modello.  
Recuperare informazioni da una knowledge base Creare funzioni che recuperano articoli accademici su un determinato argomento e li riepilogano. Consenti al modello di rispondere a domande su argomenti accademici e di fornire citazioni per le sue risposte.  

Componenti di sistema

Creazione e deployment di un'applicazione personalizzata di AI generativa utilizzando OSS LangChain e Vertex AI è costituito da quattro componenti:

ComponenteDescrizione
LLM

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

Puoi scegliere di definire un set di strumenti che comunica con le API esterne e li fornisce 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 dei modelli e ciclo di vita.

Strumento

Puoi scegliere di definire un set di strumenti che comunica con le API esterne (ad esempio, un database) e di fornire questi strumenti 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 di Gemini, ma supporta le chiamate di funzione/strumento LangChain. Per scoprire di più sulla chiamata di funzione di Gemini, vedi Chiamate di funzione.

Framework di orchestrazione

LangChain su Vertex AI consente di sfruttare il framework di orchestrazione LangChain in Vertex AI. Usa 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 codice della tua 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 della tua applicazione in un runtime gestito di Reasoning Engine. Questo runtime è un servizio Vertex AI che offre tutti i vantaggi dell'integrazione con Vertex AI: sicurezza, privacy, osservabilità e scalabilità. Puoi mettere in produzione e scalare la tua applicazione con una semplice chiamata API, trasformando rapidamente i prototipi testati localmente in deployment pronti per l'impresa. Per scoprire di più, vedi Eseguire il deployment di un'applicazione.

Ci sono molti modi diversi per prototipare e creare un'IA generativa personalizzata che sfruttano le capacità di agente raggruppando strumenti e basate su modelli come Gemini. Quando è il momento di spostare dalle applicazioni in produzione, devi pensare a come eseguire il deployment dell'agente e i suoi componenti sottostanti.

Con i componenti di LangChain su Vertex AI, l'obiettivo è puoi concentrarti e personalizzare gli aspetti della funzionalità dell'agente che ti interessano sulla maggior parte, 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, ecc. Se lavori a un livello inferiore nell'elenco filtri, potresti dover gestire più del dovuto. Se lavori a un livello superiore nello stack, potresti non avere il controllo da parte degli sviluppatori come vorresti.

Flusso di sistema in fase di esecuzione

Quando l'utente esegue una query, l'agente definito la formatta in un prompt per modello LLM. L'LLM elabora il prompt e determina se vuole utilizzare uno o più dei gli 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 restituisce i risultati dello strumento all'LLM. Se l'LLM sceglie di non utilizzare alcun strumento, genera contenuti che ritrasmesso dall'agente all'utente.

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

Flusso di sistema in fase di esecuzione 

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

Il flusso di lavoro per la creazione di applicazioni di AI generativa è il seguente:

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

I passaggi sono illustrati dal seguente diagramma:

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

Passaggi successivi