Questa guida mostra come eseguire la migrazione del codice dell'SDK Vertex AI per Python dall'utilizzo di PaLM all'uso dell'API Gemini. Puoi generare conversazioni di testo in più passaggi (chat) e scrivere codice con Gemini. Dopo la migrazione, controlla le risposte poiché l'output di Gemini potrebbe essere diverso da quello di PaLM. Per ulteriori informazioni, vedi l'introduzione alle classi multimodali nella SDK Vertex AI.
Differenze tra Gemini e PaLM
Di seguito sono riportate alcune differenze tra i modelli Gemini e PaLM:
Le strutture di risposta sono diverse. Per informazioni sulla struttura della risposta di Gemini, consulta il corpo della risposta del modello di riferimento dell'API Gemini.
Le categorie di sicurezza sono diverse. Per scoprire le differenze tra le impostazioni di sicurezza di Gemini e PaLM, consulta Differenze principali tra Gemini e altre famiglie di modelli.
Gemini non può eseguire il completamento del codice. Se devi creare un'applicazione di completamento del codice, utilizza il modello
code-gecko
. Per ulteriori informazioni, vedi Modello di completamento del codice Codey.Per la generazione di codice, Gemini ha una percentuale di blocco delle citazioni più elevata.
Il punteggio di confidenza nei modelli di generazione del codice Codey che indica come che il modello sia nella sua risposta non sia esposto in Gemini.
Aggiorna il codice PaLM per utilizzare i modelli Gemini
I metodi della classe GenerativeModel
sono per lo più gli stessi dei metodi su
le classi PaLM. Ad esempio, utilizza GenerativeModel.start_chat
per sostituire il
Equivalente PaLM, ChatModel.start_chat
. Tuttavia, poiché Google Cloud è sempre
migliorando e aggiornando Gemini, potresti riscontrare alcune differenze. Per ulteriori informazioni, consulta la sezione Riferimento all'SDK Python
Per eseguire la migrazione dall'API PaLM all'API Gemini, sono necessarie le seguenti modifiche al codice:
Per tutte le classi di modelli PaLM, utilizza la classe
GenerativeModel
in Gemini.Per utilizzare la classe
GenerativeModel
, esegui la seguente dichiarazione di importazione:from vertexai.generative_models import GenerativeModel
Per caricare un modello Gemini, utilizza il costruttore
GenerativeModel
anziché il metodofrom_pretrained
. Ad esempio, per caricare Gemini 1.0 Pro, utilizzareGenerativeModel(gemini-1.0-pro)
.Per generare testo in Gemini, utilizza il metodo
GenerativeModel.generate_content
instead of thepredict
method that's used on PaLM models. Ad esempio:
model = GenerativeModel("gemini-1.0-pro-002") response = model.generate_content("Write a short poem about the moon")
Confronto delle classi Gemini e PaLM
Ogni classe del modello PaLM viene sostituita dalla classe GenerativeModel
in Gemini. La tabella seguente mostra le classi utilizzate dai modelli PaLM e la classe equivalente in Gemini.
Modello PaLM | Classe del modello PaLM | Classe del modello Gemini |
---|---|---|
text-bison |
TextGenerationModel |
GenerativeModel |
chat-bison |
ChatModel |
GenerativeModel |
code-bison |
CodeGenerationModel |
GenerativeModel |
codechat-bison |
CodeChatModel |
GenerativeModel |
Istruzioni di configurazione comuni
La procedura di configurazione è la stessa sia per l'API PaLM sia per l'API Gemini in Vertex AI. Per ulteriori informazioni, vedi Introduzione all'SDK Vertex AI per Python. Di seguito è riportato un breve esempio di codice che installa l'SDK Vertex AI per Python.
pip install google-cloud-aiplatform import vertexai vertexai.init(project="PROJECT_ID", location="LOCATION")
In questo codice di esempio, sostituisci PROJECT_ID con l'ID del tuo progetto Google Cloud e LOCATION con la posizione del progetto Google Cloud (ad esempio us-central1
).
Esempi di codice di Gemini e PaLM
Ognuna delle seguenti coppie di esempi di codice include il codice PaLM e, accanto, codice Gemini di cui è stata eseguita la migrazione dal codice PaLM.
Generazione di testo: di base
Gli esempi di codice riportati di seguito mostrano le differenze tra l'API PaLM e l'API Gemini per la creazione di un modello di generazione di testo.
PaLM | Gemini |
---|---|
|
|
Generazione di testo con parametri
I seguenti esempi di codice mostrano le differenze tra l'API PaLM e Gemini API per la creazione di un modello di generazione di testo, con parametri facoltativi.
PaLM | Gemini |
---|---|
|
|
Chat
I seguenti esempi di codice mostrano le differenze tra l'API PaLM e l'API Gemini per la creazione di un modello di chat.
PaLM | Gemini |
---|---|
|
|
Generazione del codice
I seguenti esempi di codice mostrano le differenze tra l'API PaLM e Gemini API per la generazione di una funzione che prevede se un anno è un anno bisestile.
Codey | Gemini |
---|---|
|
|
Esegui la migrazione dei prompt ai modelli Gemini
Se hai insiemi di prompt che hai utilizzato in precedenza con i modelli PaLM 2, puoi ottimizzarli per l'utilizzo con i modelli Gemini utilizzando lo ottimizzatore di prompt di Vertex AI (anteprima).
Passaggi successivi
- Consulta la panoramica dell'API Gemini di Vertex AI per ulteriori dettagli sulle i modelli e le funzionalità più recenti.