A Vertex AI permite que você use o Vertex AI Studio para testar solicitações no Console do Google Cloud, na API Vertex AI e no SDK da Vertex AI para Python. Nesta página, mostramos como testar solicitações de chat usando qualquer uma dessas interfaces.
Para saber mais sobre como projetar comandos de bate-papo, consulte Comandos de bate-papo.
Testar solicitações de chat
Para testar as solicitações de bate-papo, escolha um dos métodos a seguir.
REST
Para testar um prompt de texto usando a API Vertex AI, envie uma solicitação POST para o endpoint do modelo do editor.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- CONTEXT: opcional. Contexto pode ser as instruções dadas ao modelo sobre como ele deve responder ou as informações que ele usa ou referências para gerar uma resposta. Adicione informações contextuais à solicitação quando for preciso fornecer informações ao modelo ou restrinja os limites das respostas apenas ao que está dentro do contexto.
- Exemplos opcionais: uma lista de mensagens estruturadas para o modelo para saber como responder à conversa.
- EXAMPLE_INPUT: exemplo de uma mensagem.
- EXAMPLE_OUTPUT: exemplo da resposta ideal.
- Mensagens: histórico de conversas fornecido ao modelo em um formulário estruturado de autor alternativo. As mensagens aparecem em ordem cronológica: a mais antiga primeiro e a mais recente por último. Quando o histórico de mensagens faz com que a entrada exceda o tamanho máximo, as mensagens mais antigas são removidas até que todo o comando esteja dentro do limite permitido. É necessário que haja um número ímpar de mensagens (pares AUTHOR-CONTENT) para o modelo gerar uma resposta.
- AUTHOR: o autor da mensagem.
- CONTENT: o conteúdo da mensagem.
- TEMPERATURE:
a temperatura é usada para amostragem durante a geração da resposta, que ocorre quando
topP
etopK
são aplicados. A temperatura controla o grau de aleatoriedade na seleção do token. Temperaturas mais baixas são boas para solicitações que exigem uma resposta menos aberta ou criativa, enquanto temperaturas mais altas podem levar a resultados mais diversos ou criativos. Uma temperatura de0
significa que os tokens de maior probabilidade são sempre selecionados. Nesse caso, as respostas para uma determinada solicitação são, na maioria das vezes, deterministas, mas uma pequena variação ainda é possível.Se o modelo retornar uma resposta muito genérica, muito curta ou se o modelo fornecer uma resposta alternativa, tente aumentar a temperatura.
- MAX_OUTPUT_TOKENS:
número máximo de tokens que podem ser gerados na resposta. Um token tem cerca de quatro caracteres. 100 tokens correspondem a cerca de 60 a 80 palavras.
Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas potencialmente mais longas.
- TOP_P:
o Top-P muda a forma como o modelo seleciona tokens para saída. Os tokens são selecionados
do mais provável (veja o top-K) para o menos provável até que a soma das probabilidades
seja igual ao valor do top-P. Por exemplo, se os tokens A, B e C tiverem uma probabilidade de
0,3, 0,2 e 0,1 e o valor de top-P for
0.5
, o modelo selecionará A ou B como token seguinte usando temperatura e exclui C como candidato.Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.
- TOP_K:
o Top-K muda a forma como o modelo seleciona tokens para saída. Um top-K de
1
significa que o próximo token selecionado é o mais provável entre todos os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de3
significa que o próximo token está selecionado entre os três tokens mais prováveis usando a temperatura.Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.
Método HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/chat-bison:predict
Corpo JSON da solicitação:
{ "instances": [{ "context": "CONTEXT", "examples": [ { "input": {"content": "EXAMPLE_INPUT"}, "output": {"content": "EXAMPLE_OUTPUT"} }], "messages": [ { "author": "AUTHOR", "content": "CONTENT", }], }], "parameters": { "temperature": TEMPERATURE, "maxOutputTokens": MAX_OUTPUT_TOKENS, "topP": TOP_P, "topK": TOP_K } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/chat-bison:predict"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/chat-bison:predict" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
Exemplo de comando curl
MODEL_ID="chat-bison"
PROJECT_ID=PROJECT_ID
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/us-central1/publishers/google/models/${MODEL_ID}:predict -d \
'{
"instances": [{
"context": "My name is Ned. You are my personal assistant. My favorite movies are Lord of the Rings and Hobbit.",
"examples": [ {
"input": {"content": "Who do you work for?"},
"output": {"content": "I work for Ned."}
},
{
"input": {"content": "What do I like?"},
"output": {"content": "Ned likes watching movies."}
}],
"messages": [
{
"author": "user",
"content": "Are my favorite movies based on a book series?",
},
{
"author": "bot",
"content": "Yes, your favorite movies, The Lord of the Rings and The Hobbit, are based on book series by J.R.R. Tolkien.",
},
{
"author": "user",
"content": "When were these books published?",
}],
}],
"parameters": {
"temperature": 0.3,
"maxOutputTokens": 200,
"topP": 0.8,
"topK": 40
}
}'
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Node.js
Antes de testar esse exemplo, siga as instruções de configuração para Node.js no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Antes de testar esse exemplo, siga as instruções de configuração para C# no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para C#.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Console
Para usar o Vertex AI Studio para testar um prompt de chat no Console do Google Cloud, faça o seguinte:
- Na seção "Vertex AI" do console do Google Cloud, acesse a página do Vertex AI Studio.
- Clique na guia Primeiros passos.
- Clique em Bate-papo de texto.
Configure a solicitação da seguinte maneira:
- Contexto: insira instruções para a tarefa que você quer que o modelo execute e inclua informações contextuais para o modelo para referência.
- Exemplos: para solicitações de poucas imagens, adicione exemplos de entrada e saída que exibam os padrões comportamentais para o modelo imitar.
Configure o modelo e os parâmetros:
- Modelo: selecione o modelo que você quer usar.
Temperatura: use o controle deslizante ou a caixa de texto para inserir um valor para a temperatura.
A temperatura é usada para amostragem durante a geração da resposta, que ocorre quandotopP
etopK
são aplicados. A temperatura controla o grau de aleatoriedade na seleção do token. Temperaturas mais baixas são boas para solicitações que exigem uma resposta menos aberta ou criativa, enquanto temperaturas mais altas podem levar a resultados mais diversos ou criativos. Uma temperatura de0
significa que os tokens de maior probabilidade são sempre selecionados. Nesse caso, as respostas para uma determinada solicitação são, na maioria das vezes, deterministas, mas uma pequena variação ainda é possível.Se o modelo retornar uma resposta muito genérica, muito curta ou se o modelo fornecer uma resposta alternativa, tente aumentar a temperatura.
Limite de token: use o controle deslizante ou a caixa de texto para inserir um valor para o limite de saída máximo.
Número máximo de tokens que podem ser gerados na resposta. Um token tem cerca de quatro caracteres. 100 tokens correspondem a cerca de 60 a 80 palavras.Especifique um valor mais baixo para respostas mais curtas e um valor mais alto para respostas potencialmente mais longas.
Top-K: use o controle deslizante ou a caixa de texto para inserir um valor para "top-K".
O top-k muda a forma como o modelo seleciona tokens para saída. Um top-K de1
significa que o próximo token selecionado é o mais provável entre todos os tokens no vocabulário do modelo (também chamado de decodificação gananciosa), enquanto um top-K de3
significa que o próximo token está selecionado entre os três tokens mais prováveis usando a temperatura.Para cada etapa da seleção de tokens, são amostrados os tokens top-K com as maiores probabilidades. Em seguida, os tokens são filtrados com base no valor de top-P com o token final selecionado por meio da amostragem de temperatura.
Especifique um valor mais baixo para respostas menos aleatórias e um valor mais alto para respostas mais aleatórias.
- Top-P: use o controle deslizante ou a caixa de texto para inserir um valor para essa parte.
Os tokens são selecionados do mais provável para o menos até que a soma das probabilidades seja igual ao valor do top-P. Para ter menos resultados de variáveis,
defina top-P como
0
.
- Insira uma mensagem na caixa de mensagem para iniciar uma conversa com o bot de chat. O bot de chat usa as mensagens anteriores como contexto para novas respostas.
- Opcional: para salvar a solicitação em Minhas solicitações, clique em Salvar.
- Opcional: para receber o código Python ou um comando curl para seu prompt, clique em Ver código.
- Opcional: para limpar todas as mensagens anteriores, clique em Limpar conversa
Resposta de stream do modelo de chat
Para conferir exemplos de solicitações de código e respostas usando a API REST, consulte Exemplos usando a API REST.
Para ver exemplos de solicitações de código e respostas usando o SDK da Vertex AI para Python, consulte Exemplos que usam o SDK da Vertex AI para Python.
A seguir
- Saiba como ajustar um modelo de fundação.
- Saiba mais sobre as práticas recomendadas de IA responsável e os filtros de segurança da Vertex AI.