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.
Solicitações de conclusão de código de teste
Para testar solicitações de conclusão de código, escolha um dos métodos a seguir.
REST
Para testar um prompt de conclusão de código com 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.
- PREFIX:
para modelos de código,
prefix
representa o início de um código de programação significativo ou um comando de linguagem natural que descreve o código a ser gerado. O modelo tenta preencher o código entreprefix
esuffix
. - SUFFIX:
para a conclusão do código,
suffix
representa o final de um código de programação significativo. O modelo tenta preencher o código entreprefix
esuffix
. - 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 de
0
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/code-gecko:predict
Corpo JSON da solicitação:
{ "instances": [ { "prefix": "PREFIX", "suffix": "SUFFIX"} ], "parameters": { "temperature": TEMPERATURE, "maxOutputTokens": MAX_OUTPUT_TOKENS, "candidateCount": CANDIDATE_COUNT } }
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/code-gecko: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/code-gecko:predict" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a seguinte.
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 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.
Java
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.
Console
Para testar um comando de preenchimento 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 Prompt de código.
- Em Modelo, selecione o modelo com o nome que começa com
code-gecko
. Um número de três dígitos depois decode-gecko
indica o número da versão do modelo. Por exemplo,code-gecko@002
é o nome da versão dois da versão estável do modelo de preenchimento de código. - Em Comando, digite um código de conclusão do código.
- 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 conclusão de código.
- Clique em Enviar para gerar uma resposta.
- Clique em Salvar se quiser salvar uma solicitação
- Clique em Ver código para ver o código Python ou um comando curl para seu prompt
Exemplo de comando curl
MODEL_ID="code-gecko"
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': [
{ 'prefix': 'def reverse_string(s):',
'suffix': ''
}
],
'parameters': {
'temperature': 0.2,
'maxOutputTokens': 64,
'candidateCount': 1
}
}"
Para saber mais sobre o design de prompts para conclusão de código, consulte Criar prompts para preenchimento de código.
Resposta de stream do modelo de código
Para ver 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.