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:
Componente | Descrizione |
---|---|
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:
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:
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à:
- 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#39;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.