Este guia mostra como migrar o código do SDK Vertex AI para Python da utilização da API PaLM para a API Gemini. Pode gerar texto, conversas com várias interações (chat) e código com o Gemini. Após a migração, verifique as suas respostas, uma vez que a saída do Gemini pode ser diferente da saída do PaLM.
Diferenças entre o Gemini e o PaLM
Seguem-se algumas diferenças entre os modelos Gemini e PaLM:
As respetivas estruturas de resposta são diferentes. Para saber mais sobre a estrutura de resposta do Gemini, consulte o corpo da resposta de referência do modelo da API Gemini.
As respetivas categorias de segurança são diferentes. Para saber mais sobre as diferenças entre as definições de segurança do Gemini e do PaLM, consulte o artigo Principais diferenças entre o Gemini e outras famílias de modelos.
O Gemini não consegue realizar a conclusão de código. Se precisar de criar uma aplicação de conclusão de código, use o modelo
code-gecko
. Para mais informações, consulte o artigo Modelo de conclusão de código do Codey.Para a geração de código, o Gemini tem uma taxa de bloqueio de recitação mais elevada.
A pontuação de confiança nos modelos de geração de código do Codey que indica o nível de confiança do modelo na respetiva resposta não é exposta no Gemini.
Atualize o código do PaLM para usar modelos do Gemini
Os métodos na classe GenerativeModel
são maioritariamente iguais aos métodos nas classes PaLM. Por exemplo, use GenerativeModel.start_chat
para substituir o equivalente do PaLM, ChatModel.start_chat
. No entanto, uma vez que o Google Cloud está sempre a melhorar e a atualizar o Gemini, pode encontrar algumas diferenças. Para mais
informações, consulte a
referência do SDK Python
Para migrar da API PaLM para a API Gemini, são necessárias as seguintes modificações de código:
Para todas as classes de modelos PaLM, usa a classe
GenerativeModel
no Gemini.Para usar a classe
GenerativeModel
, execute a seguinte declaração de importação:from vertexai.generative_models import GenerativeModel
Para carregar um modelo do Gemini, use o construtor
GenerativeModel
em vez de usar o métodofrom_pretrained
. Por exemplo, para carregar o modelo Gemini 1.0 Pro, useGenerativeModel(gemini-2.0-flash-001)
.Para gerar texto no Gemini, use o método
GenerativeModel.generate_content
em vez do métodopredict
usado nos modelos PaLM. Por exemplo:
model = GenerativeModel("gemini-2.0-flash-001") response = model.generate_content("Write a short poem about the moon")
Comparação de classes do Gemini e do PaLM
Cada classe de modelo PaLM é substituída pela classe GenerativeModel
no Gemini. A tabela seguinte mostra as classes usadas pelos modelos PaLM e a respetiva classe equivalente no Gemini.
Modelo PaLM | Classe do modelo PaLM | Classe do modelo Gemini |
---|---|---|
text-bison |
TextGenerationModel |
GenerativeModel |
chat-bison |
ChatModel |
GenerativeModel |
code-bison |
CodeGenerationModel |
GenerativeModel |
codechat-bison |
CodeChatModel |
GenerativeModel |
Instruções de configuração comuns
Para a API PaLM e a API Gemini no Vertex AI, o processo de configuração é o mesmo. Para mais informações, consulte o artigo Introdução ao SDK Vertex AI para Python. Segue-se um pequeno exemplo de código que instala o SDK Vertex AI para Python.
pip install google-cloud-aiplatform import vertexai vertexai.init(project="PROJECT_ID", location="LOCATION")
Neste exemplo de código, substitua PROJECT_ID pelo ID do seu Google Cloud projeto e substitua LOCATION pela localização do seu Google Cloud projeto (por exemplo, us-central1
).
Exemplos de código do Gemini e do PaLM
Cada um dos seguintes pares de exemplos de código inclui código do PaLM e, junto a este, código do Gemini migrado a partir do código do PaLM.
Geração de texto: básico
Os exemplos de código seguintes mostram as diferenças entre a API PaLM e a API Gemini para criar um modelo de geração de texto.
PaLM | Gemini |
---|---|
|
|
Geração de texto com parâmetros
Os seguintes exemplos de código mostram as diferenças entre a API PaLM e a API Gemini para criar um modelo de geração de texto, com parâmetros opcionais.
PaLM | Gemini |
---|---|
|
|
Chat
Os exemplos de código seguintes mostram as diferenças entre a API PaLM e a API Gemini para criar um modelo de chat.
PaLM | Gemini |
---|---|
|
|
Geração de código
Os exemplos de código seguintes mostram as diferenças entre a API PaLM e a API Gemini para gerar uma função que prevê se um ano é bissexto.
Codey | Gemini |
---|---|
|
|
Migre comandos para os modelos do Gemini
Se tiver conjuntos de comandos que usou anteriormente com os modelos PaLM 2, pode otimizá-los para utilização com os modelos Gemini através do otimizador de comandos do Vertex AI (pré-visualização).
Passos seguintes
- Consulte a página Modelos Google para ver mais detalhes sobre os modelos e as funcionalidades mais recentes.