Para projetar um prompt que funcione bem, teste diferentes versões dele e use parâmetros para determinar o que resulta na resposta ideal. É possível testar comandos de maneira programática com as APIs Codey e no console do Google Cloud com o Vertex AI Studio.
Testar solicitações de chat
Para testar os comandos de código, escolha um dos métodos a seguir.
Para testar um comando de chat de código 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.- 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. 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 as 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, deterministas, mas uma pequena quantidade de variação ainda é possível.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.
CANDIDATE_COUNT : o número de variações de resposta a serem retornadas. Para cada solicitação, você paga pelos tokens de saída de todos os candidatos, mas são cobrados apenas uma vez pelos tokens de entrada.Especificar vários candidatos é um recurso em fase de pré-lançamento que funciona com
generateContent
(streamGenerateContent
não é compatível). Os seguintes modelos são compatíveis:- Gemini 1.5 Flash:
1
-8
, padrão:1
- Gemini 1.5 Pro:
1
-8
, padrão:1
int
entre 1 e 4.- Gemini 1.5 Flash:
Método HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID /locations/us-central1/publishers/google/models/codechat-bison:predict
Corpo JSON da solicitação:
{ "instances": [ { "messages": [ { "author": "AUTHOR ", "content": "CONTENT " } ], "parameters": { "temperature":TEMPERATURE , "maxOutputTokens":MAX_OUTPUT_TOKENS , "candidateCount":CANDIDATE_COUNT } }
Para enviar a solicitação, escolha uma destas opções:
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/codechat-bison:predict"
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/codechat-bison:predict" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
Resposta
{ "predictions": [ { "citationMetadata": [ { "citations": [] } ], "candidates": [ { "author": "AUTHOR ", "content": "RESPONSE " } ], "safetyAttributes": { "categories": [], "blocked": false, "scores": [] }, "score": float } ] }
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.
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: 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.
Antes de testar essa amostra, siga as instruções de configuração para Java Guia de início rápido da Vertex AI: 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.
Para testar um comando de chat de código usando o Vertex AI Studio no Console do Google Cloud, faça o seguinte:
- Na seção Vertex AI do console do Google Cloud, acesse o Vertex AI Studio.
- Clique em Começar.
- Clique em Chat com código.
- Em Modelo, selecione o modelo com o nome que começa com
codechat-bison
. Um número de três dígitos depois decodechat-bison
indica o número da versão do modelo. - Ajuste a temperatura e o limite de tokens para testar como eles afetam a resposta. Para mais informações, consulte Parâmetros do modelo de chat de código.
- Em Inserir um comando para iniciar uma conversa, digite um comando para iniciar uma conversa sobre o código.
- Clique em Continuar a conversa para enviar o comando para o chat.
- Depois de receber uma resposta, repita as duas etapas anteriores para continuar a conversa.
- Clique em Salvar se quiser salvar um comando.
- Clique em Conferir código para consultar o código Python ou um comando curl para seu comando.
Exemplo de solicitação de chat por código
MODEL_ID="codechat-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': [
{
'messages': [
{
'author': 'user',
'content': 'Hi, how are you?',
},
{
'author': 'system',
'content': 'I am doing good. What Can I help you with in the coding world?',
},
{
'author': 'user',
'content': 'Please help write a function to calculate the min of two numbers',
}
]
}
],
'parameters': {
'temperature': 0.2,
'maxOutputTokens': 1024,
'candidateCount': 1
}
}"
Para saber mais sobre como projetar comandos de bate-papo, consulte Comandos de bate-papo.
Resposta de stream do modelo de chat de código
Para conferir exemplos de solicitações de código e respostas usando a API REST, consulte Exemplos usando a API REST de streaming.
Para conferir exemplos de código de solicitações e respostas usando o SDK da Vertex AI para Python, consulte Exemplos que usam o SDK da Vertex AI para Python para streaming.
A seguir
- Saiba como criar comandos de preenchimento de código.
- Saiba como criar comandos de geração de código.
- Saiba mais sobre as práticas recomendadas de IA responsável e os filtros de segurança da Vertex AI.