Crie um chatbot utilizando a API PaLM do Google.

Utilizando o modelo de linguagem avançado PaLM 2 no Google Cloud Vertex AI, é possível desenvolver um chatbot com poucas linhas de código. A seguir estão as etapas necessárias.

Em um texto prévio, foi apresentado o modelo de base PaLM 2 do Google, criando uma aplicação básica para criar um post em um blog. Agora, vamos investigar como desenvolver um chatbot utilizando a API PaLM 2 do Google Cloud Vertex AI.
Para obter instruções completas sobre como configurar o ambiente e o SDK, recomenda-se consultar o tutorial anterior. Este guia pressupõe que você já tenha concluído o tutorial anterior.
A biblioteca vertexai.preview.language_models possui diversas classes, como ChatModel, TextEmbedding e TextGenerationModel. Neste contexto, iremos explorar a biblioteca do ChatModel, onde o modelo PaLM será utilizado como um professor de física para responder às perguntas.
Primeiramente, vamos trazer as classes adequadas da biblioteca como etapa inicial.
A classe ChatModel tem a função de receber um comando e devolver uma resposta. O InputOutputTextPair simplifica a criação de pares de perguntas e respostas que servem como exemplos para o chatbot.
Vamos então inicializar o objeto com base no modelo pré-treinado, chat-bison@001, o que é otimizado para conversas como bate-papo.
O próximo passo é definir uma função que aceita o prompt como uma entrada e retorna a resposta gerada pelo modelo como saída.

Este método capta a essência da construção de um chatbot. Contém três elementos essenciais para gerar uma resposta significativa e relevante:
- Contexto: Isso nos ajuda a personalizar o comportamento do modelo de chat. É usado para adicionar contexto adicional para instruir um modelo sobre o tópico chave ou tema da conversa. Embora opcional, o contexto desempenha um papel importante na geração de respostas precisas.
- Exemplos: Uma lista de pares de saída de entrada demonstrando saída de modelo exemplar para uma determinada entrada é um exemplo de um prompt de bate-papo. Você pode usar exemplos para mudar a forma como o modelo responde a perguntas específicas.
- Mensagens: As mensagens de um prompt de chat são uma lista de pares de conteúdo de autor. O modelo responde à mensagem mais recente, que é o último par na lista de mensagens. O histórico da sessão de chat é composto pelos pares que precedem o último par.
Observe como definimos o contexto e os exemplos. Uma vez que estamos construindo um chatbot de física especializado em teoria gravitacional, ambos contexto e exemplos têm referências ao tópico.
O modelo PaLM aceita tokens como um parâmetro de entrada que define o tamanho do prompt e respostas. Um símbolo é aproximadamente quatro personagens. 100 tokens correspondem a aproximadamente 60 a 80 palavras. Para esta conversa, definimos o parâmetro max_output_tokens para 250. Você pode aumentar isso dependendo do seu caso de uso. Note que o limite de token determina quantas mensagens são mantidas no histórico de sessão de chat.
A criatividade do modelo é definida pelo próximo parâmetro, temperatura. Esta opção determina como a seleção token é aleatória. As temperaturas mais baixas são preferíveis para solicitações que exigem uma resposta específica e menos criativa, enquanto que temperaturas mais altas podem produzir respostas mais diversificadas e criativas. O valor pode variar de 0 a 1. Definimos isto para 0,2 porque precisamos de precisão.
Com o método no lugar, vamos construir o prompt.

Vamos fazer outra pergunta relacionada à gravidade.

Abaixo está o código completo para sua referência.
Construímos um chatbot baseado no modelo de linguagem grande PaLM 2 em apenas algumas linhas de código. No próximo artigo, vamos explorar a palavra incorpora a capacidade do modelo. Fique atento.