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. Consente di selezionare il modello 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 ed 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 dai seguenti quattro componenti:
Componente | Descrizione |
---|---|
Modello Gemini |
Quando l'utente invia una query alla sua applicazione personalizzata, il modello LLM elabora la query e fornisce una risposta. Puoi scegliere di definire un insieme di strumenti che comunicano con le API esterne e di fornirli al modello. Durante l'elaborazione di una query, il modello può scegliere di delegare determinate attività agli strumenti. Questo può implicare intrinsecamente una o più chiamate del modello a modelli generici o perfezionati. Per scoprire di più, consulta Versioni e ciclo di vita dei modelli. |
Strumenti Chiamate alle funzioni Gemini |
Puoi scegliere di definire un insieme di strumenti che comunicano con le API esterne (come database e così via) e di fornirli al modello. Durante l'elaborazione di una query, il modello può scegliere di delegare determinate attività agli strumenti definiti in precedenza. Il deployment tramite il runtime gestito di Vertex AI è ottimizzato per l'utilizzo di strumenti basati sulla chiamata di funzioni Gemini, ma supporta qualsiasi implementazione di strumenti di OSS LangChain. Per saperne di più sulle chiamate delle funzioni Gemini, vedi Chiamate di funzione. |
Framework per l'orchestrazione Agente |
LangChain su Vertex AI consente di sfruttare il framework di orchestrazione LangChain OSS in Vertex AI. Tramite LangChain, puoi decidere quanto deve essere deterministica la tua applicazione. Se utilizzi già LangChain, puoi semplicemente utilizzare il codice LangChain open source esistente per eseguire il deployment della tua applicazione su Vertex AI. Altrimenti, puoi creare il tuo codice dell'applicazione e strutturarlo all'interno di un framework di orchestrazione utilizzando i modelli LangChain di Vertex AI. Per scoprire di più, vedi Sviluppare un'applicazione. |
Runtime gestito Motore di ragionamento |
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 sovrapponendo strumenti, funzioni personalizzate e su modelli come Gemini. Al momento di portare la tua applicazione in produzione, devi valutare come eseguire il deployment e gestire l'agente e tutti i suoi componenti sottostanti.
Se lavori a un livello inferiore dello stack, finisci per cercare di gestire troppe cose. Se lavori a un livello superiore dell'elenco, rischi di perdere il controllo dello sviluppatore. Con i componenti di LangChain su Vertex AI, l'obiettivo è aiutarti a concentrarti e personalizzare gli aspetti della 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 di deployment, scalabilità, pacchettizzazione, versioni e così via.
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, genererà contenuti che vengono
restituiti dall'agente all'utente.
Il seguente diagramma illustra il flusso di sistema in fase di runtime:
Crea ed esegui il deployment di un'applicazione di AI generativa
Il flusso di lavoro generale per la creazione di applicazioni di AI generativa è il seguente:
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 di un'applicazione su Reasoning Engine. |
4. Utilizzare l'applicazione | Motore di ragionamento delle query per i contenuti. |
5. Gestire l'applicazione di cui è stato eseguito il deployment | Gestisci ed elimina le applicazioni di cui hai eseguito il deployment in Reasoning Engine. |
I passaggi sono illustrati dal seguente diagramma:
Vantaggi
- Completamente personalizzabile: grazie alle interfacce standardizzate di LangChain, LangChain su Vertex AI può essere adottato per creare tutti i tipi di applicazioni. È facile personalizzare la logica dell'applicazione e incorporare qualsiasi framework open source o interno, offrendo un elevato grado di flessibilità.
- Facilità di utilizzo: LangChain su Vertex AI utilizza le stesse API semplici e intuitive di LangChain OSS per interagire con gli LLM e creare applicazioni. Semplifica e velocizza 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 in base alla tua libreria.
- Integrazione con gli ecosistemi di Google Cloud e Vertex AI: Reasoning Engine per LangChain su Vertex AI utilizza l'infrastruttura e i container predefiniti di Vertex AI per accelerare il deployment della tua applicazione LLM. Offre un'integrazione chiara dell'SDK con i servizi di Google Cloud come l'API Gemini, le chiamate di funzione e le estensioni, che sono sicure e senza soluzione di continuità.
- 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 scalabilità automatica, espansione a livello di regione, vulnerabilità dei container, osservabilità e orizzontali. Crea ogni motore di ragionamento in un contenitore separato e supporta una serie di ottimizzazioni orizzontali.
Casi d'uso
Puoi utilizzare LangChain su Vertex AI per le seguenti attività:
- Estrazione di entità da storie in linguaggio naturale: consente di estrarre elenchi di personaggi, relazioni, cose e luoghi da una storia.
SDK Vertex AI per blocco note Python - Estrazione di dati strutturati mediante chiamate di funzione - Esegui query e comprendi i database SQL utilizzando il linguaggio naturale: chiedi al modello di convertire domande come
What percentage of orders are returned?
in query SQL e crea funzioni che inviino queste query a BigQuery.
Post del blog - Creazione di un'app di esplorazione dei dati BigQuery basata sullAI;IA utilizzando le chiamate di funzione in Gemini - Aiutare i clienti a interagire con le attività: crea funzioni che si connettono all'API di un'azienda, consentendo al modello di fornire risposte accurate a query come
Do you have the Pixel 8 Pro in stock?
oIs there a store in Mountain View, CA that I can visit to try it out?
SDK Vertex AI per blocco note Python - Chiamate a funzioni con l'API Vertex AI Gemini e l'SDK Python - Crea applicazioni di AI generativa connettendoti alle API pubbliche, ad esempio:
- Convertire valute: crea una funzione che si connette a un'app di scambio di valute, consentendo al modello di fornire risposte accurate a query come
What's the exchange rate for euros to dollars today?
Codelab - Come interagire con le API utilizzando le chiamate di funzioni in Gemini - Informazioni sul meteo di un determinato luogo: crea una funzione che si connette all'API di un servizio meteorologico, consentendo al modello di fornire risposte accurate a query come
What's the weather like in Paris?
SDK Vertex AI per blocco note Python - Chiamate di funzioni con l'API Vertex AI Gemini e l'SDK Python
Post del blog - Chiamate di funzioni: un framework nativo per connettere Gemini a sistemi, dati e API esterni - Converti 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 indirizzo, città, stato e codice postale in query quali
I want to get the lat/lon coordinates for the following address: 1600 Amphitheatre Pkwy, Mountain View, CA 94043, US.
SDK Vertex AI per blocco note Python - Chiamate di funzione con l'API Vertex AI Gemini e l'SDK Python
- Convertire valute: crea una funzione che si connette a un'app di scambio di valute, consentendo al modello di fornire risposte accurate a query come
- Interpreta i comandi vocali: crea funzioni corrispondenti alle attività nel veicolo. Ad esempio, puoi creare funzioni che attivano la radio o l'aria condizionata. Invia al modello i file audio dei comandi vocali dell'utente e chiedi al modello di convertire l'audio in testo e di identificare la funzione che l'utente vuole chiamare.
- Automatizza i flussi di lavoro in base ad attivatori ambientali: crea funzioni per rappresentare i processi che possono essere automatizzati. Fornisci al modello i dati provenienti da sensori ambientali e chiedigli di analizzare ed elaborare i dati per determinare se devono essere attivati uno o più flussi di lavoro. Ad esempio, un modello potrebbe elaborare i dati sulla temperatura in un magazzino e scegliere di attivare una funzione di irrigatore.
- 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 stabilire a chi assegnare il ticket. Richiama una funzione per assegnare il ticket alla persona suggerita dal modello.
- Recuperare informazioni da una knowledge base: crea funzioni che recuperino gli articoli accademici su un determinato argomento e li riassumano. Attiva il modello per rispondere a domande su materie accademiche e fornire citazioni per le risposte.