Neste guia, mostramos como migrar o SDK da Vertex AI para código Python com uso da API PaLM para uso da API Gemini. É possível gerar texto, conversas com vários turnos (chat) e código com o Gemini. Após a migração, verifique suas respostas, porque a saída do Gemini pode ser diferente da saída do PaLM. Para mais informações, consulte Introdução a classes multimodais no SDK da Vertex AI.
Diferenças entre o Gemini e o PaLM
Confira abaixo algumas diferenças entre os modelos do Gemini e do PaLM:
As estruturas de resposta deles são diferentes. Para saber mais sobre a estrutura de resposta do Gemini, consulte o corpo de resposta da referência do modelo da API Gemini.
As categorias de segurança deles são diferentes. Para saber mais sobre as diferenças entre as configurações de segurança do Gemini e do PaLM, consulte Principais diferenças entre o Gemini e outras famílias de modelos.
O Gemini não realiza preenchimento de código. Se você precisar criar um aplicativo de preenchimento de código, use o modelo
code-gecko
. Para mais informações, consulte Modelo de preenchimento de código do Codey.Para geração de código, o Gemini tem uma taxa de bloqueio de recitação maior.
A pontuação de confiança nos modelos de geração de código do Codey que indica o grau de confiança do modelo na resposta não é exposta no Gemini.
Atualizar o código do PaLM para usar modelos do Gemini
Os métodos na classe GenerativeModel
são quase os mesmos que nas classes do PaLM. Por exemplo, use GenerativeModel.start_chat
para substituir o equivalente no PaLM, ChatModel.start_chat
. No entanto, como o Google Cloud está sempre melhorando e atualizando o Gemini, é possível que você se depare com algumas diferenças. Para mais informações, consulte a Referência do SDK para Python
Para migrar da API PaLM para a API Gemini, são necessárias as seguintes modificações no código:
Em todas as classes de modelo do PaLM, você usa a classe
GenerativeModel
no Gemini.Para usar a classe
GenerativeModel
, execute a seguinte instruçã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 do Gemini 1.0 Pro, useGenerativeModel(gemini-1.0-pro)
.Para gerar texto no Gemini, use o método
GenerativeModel.generate_content
no lugar do métodopredict
, usado nos modelos do PaLM. Por exemplo:
model = GenerativeModel("gemini-1.0-pro-002") response = model.generate_content("Write a short poem about the moon")
Comparação das classes do Gemini e do PaLM
Cada classe de modelo do PaLM é substituída pela classe GenerativeModel
no Gemini. A tabela a seguir mostra as classes usadas pelos modelos do PaLM e a classe equivalente no Gemini.
Modelo do PaLM | Classe de modelo do PaLM | Classe de modelo do Gemini |
---|---|---|
text-bison |
TextGenerationModel |
GenerativeModel |
chat-bison |
ChatModel |
GenerativeModel |
code-bison |
CodeGenerationModel |
GenerativeModel |
codechat-bison |
CodeChatModel |
GenerativeModel |
Instruções comuns de configuração
O processo de configuração é o mesmo na API PaLM e na API Gemini na Vertex AI. Para mais informações, consulte Introdução ao SDK da Vertex AI para Python. Confira a seguir um exemplo de código curto que instala o SDK da 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 projeto do Google Cloud e LOCATION pelo local do projeto do Google Cloud (por exemplo, us-central1
).
Exemplos de código do Gemini e do PaLM
Cada um dos pares de exemplos de código a seguir inclui o código do PaLM e, ao lado dele, o código do Gemini que foi migrado do código do PaLM.
Geração de texto: básica
Os exemplos de código a seguir 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 exemplos de código a seguir 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 a seguir mostram as diferenças entre a API PaLM e a API Gêmeos para criar um modelo de chat.
PaLM | Gemini |
---|---|
|
|
Geração de códigos
Os exemplos de código a seguir 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 |
---|---|
|
|
Migrar comandos para modelos do Gemini
Se você tiver conjuntos de comandos usados anteriormente com modelos do PaLM 2, poderá otimizá-los para uso com modelos Gemini usando o otimizador de comandos da Vertex AI (pré-lançamento).
Próximas etapas
- Consulte a visão geral da API Vertex AI Gemini para mais detalhes sobre os modelos e recursos mais recentes.