Testar a API Vertex AI Gemini

Nesta página, você vai aprender a enviar solicitações com rapidez para a API Vertex AI Gemini usando o console do Google Cloud, um SDK de linguagem de programação ou a API REST.

Ainda não conhece o Google Cloud?

Configuração do Google Cloud

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos ganham US$ 300 em créditos para executar, testar e implantar cargas de trabalho. O processo de configuração tem apenas três etapas curtas:

Capturas de tela de inscrição

Use o botão a seguir para criar uma conta. Depois, volte a esta página para concluir este tutorial para iniciantes. Para usar todos os recursos disponíveis neste site, faça login usando sua conta.

Crie uma conta

Para mais informações sobre como configurar o Google Cloud, consulte Configurar no Google Cloud.

Enviar uma solicitação para a API Vertex AI Gemini

Para conferir as instruções de envio de uma solicitação à API Vertex AI Gemini, selecione uma das seguintes guias:

Python

  1. Para selecionar um projeto do Google Cloud, faça isto:
    1. No console do Google Cloud, abra a página Painel.

      Acessar a página "Painel"

    2. Clique na lista de seleção de projetos na parte superior da página. Na janela Selecionar um recurso exibida, selecione um projeto.

    3. Anote o ID do projeto exibido na seção Informações do projeto. Você precisará do ID do projeto para as próximas etapas.
  2. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  3. No Cloud Shell, instale ou atualize o SDK da Vertex AI para Python executando o seguinte comando:

    pip3 install "google-cloud-aiplatform>=1.38"
    
  4. Envie uma solicitação. Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

    # TODO(developer): Vertex AI SDK - uncomment below & run
    # pip3 install --upgrade --user google-cloud-aiplatform
    # gcloud auth application-default login
    
    import vertexai
    from vertexai.generative_models import GenerativeModel, Part
    
    # Initialize Vertex AI
    vertexai.init(project=project_id, location=location)
    # Load the model
    multimodal_model = GenerativeModel(model_name="gemini-1.0-pro-vision-001")
    # Query the model
    response = multimodal_model.generate_content(
        [
            # Add an example image
            Part.from_uri(
                "gs://generativeai-downloads/images/scones.jpg", mime_type="image/jpeg"
            ),
            # Add an example query
            "what is shown in this image?",
        ]
    )
    print(response)
    return response.text
    
    

    Para mais informações sobre como instalar, atualizar e usar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python e a documentação de referência da API do SDK da Vertex AI para Python.

Node.js

  1. Para selecionar um projeto do Google Cloud, faça isto:
    1. No console do Google Cloud, abra a página Painel.

      Acessar a página "Painel"

    2. Clique na lista de seleção de projetos na parte superior da página. Na janela Selecionar um recurso exibida, selecione um projeto.

    3. Anote o ID do projeto exibido na seção Informações do projeto. Você precisará do ID do projeto para as próximas etapas.
  2. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  3. No Cloud Shell, instale ou atualize o SDK da Vertex AI para Node.js executando o seguinte comando:

    npm install @google-cloud/vertexai
    
  4. Envie uma solicitação. Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

    const {VertexAI} = require('@google-cloud/vertexai');
    
    /**
     * TODO(developer): Update these variables before running the sample.
     */
    async function createNonStreamingMultipartContent(
      projectId = 'PROJECT_ID',
      location = 'us-central1',
      model = 'gemini-1.0-pro-vision',
      image = 'gs://generativeai-downloads/images/scones.jpg',
      mimeType = 'image/jpeg'
    ) {
      // Initialize Vertex with your Cloud project and location
      const vertexAI = new VertexAI({project: projectId, location: location});
    
      // Instantiate the model
      const generativeVisionModel = vertexAI.getGenerativeModel({
        model: model,
      });
    
      // For images, the SDK supports both Google Cloud Storage URI and base64 strings
      const filePart = {
        fileData: {
          fileUri: image,
          mimeType: mimeType,
        },
      };
    
      const textPart = {
        text: 'what is shown in this image?',
      };
    
      const request = {
        contents: [{role: 'user', parts: [filePart, textPart]}],
      };
    
      console.log('Prompt Text:');
      console.log(request.contents[0].parts[1].text);
    
      console.log('Non-Streaming Response Text:');
      // Create the response stream
      const responseStream =
        await generativeVisionModel.generateContentStream(request);
    
      // Wait for the response stream to complete
      const aggregatedResponse = await responseStream.response;
    
      // Select the text from the response
      const fullTextResponse =
        aggregatedResponse.candidates[0].content.parts[0].text;
    
      console.log(fullTextResponse);
    }

    Para mais informações sobre como instalar e usar o SDK da Vertex AI para Node.js, consulte a documentação de referência do SDK da Vertex AI para Node.js.

Java

  1. Para selecionar um projeto do Google Cloud, faça isto:

    1. No Console do Google Cloud, abra a página Painel.

      Ir para a página "Painel"

    2. Clique na lista de seleção de projetos na parte superior da página. Na janela Selecionar um recurso exibida, selecione um projeto.

    3. Anote o ID do projeto exibido na seção Informações do projeto. Você precisará do ID do projeto para as próximas etapas.

  2. Configure seu ambiente de desenvolvimento do Java.

  3. Execute o seguinte comando para autenticar. Substitua PROJECT_ID pelo ID do projeto do Google Cloud e ACCOUNT pelo nome de usuário do Google Cloud.

    gcloud config set project PROJECT_ID &&
    gcloud auth login ACCOUNT
    
  4. Adicione google-cloud-vertexai como dependência:

    <!--If you are using Maven with BOM, add the following in your pom.xml-->
    <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>com.google.cloud</groupId>
          <artifactId>libraries-bom</artifactId>
          <version>26.32.0</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-vertexai</artifactId>
      </dependency>
    </dependencies>
    
    <!--If you are using Maven without BOM, add the following to your pom.xml-->
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-vertexai</artifactId>
      <version>0.4.0</version>
    </dependency>
    
    <!--If you are using Gradle without BOM, add the following to your build.gradle-->
    implementation 'com.google.cloud:google-cloud-vertexai:0.4.0'
    
  5. Envie uma solicitação. Defina projectID como o ID do projeto do Google Cloud.

    import com.google.cloud.vertexai.VertexAI;
    import com.google.cloud.vertexai.api.GenerateContentResponse;
    import com.google.cloud.vertexai.generativeai.ContentMaker;
    import com.google.cloud.vertexai.generativeai.GenerativeModel;
    import com.google.cloud.vertexai.generativeai.PartMaker;
    import java.io.IOException;
    
    public class Quickstart {
    
      public static void main(String[] args) throws IOException {
        // TODO(developer): Replace these variables before running the sample.
        String projectId = "your-google-cloud-project-id";
        String location = "us-central1";
        String modelName = "gemini-1.0-pro-vision";
    
        String output = quickstart(projectId, location, modelName);
        System.out.println(output);
      }
    
      // Analyzes the provided Multimodal input.
      public static String quickstart(String projectId, String location, String modelName)
          throws IOException {
        // Initialize client that will be used to send requests. This client only needs
        // to be created once, and can be reused for multiple requests.
        try (VertexAI vertexAI = new VertexAI(projectId, location)) {
          String imageUri = "gs://cloud-samples-data/vertex-ai/llm/prompts/landmark1.png";
    
          GenerativeModel model = new GenerativeModel(modelName, vertexAI);
          GenerateContentResponse response = model.generateContent(ContentMaker.fromMultiModalData(
              PartMaker.fromMimeTypeAndData("image/png", imageUri),
              "What's in this photo"
          ));
    
          return response.toString();
        }
      }
    }

    Para mais informações sobre como instalar e usar o Kit de desenvolvimento em Java da Vertex AI (JDK), consulte a documentação de referência do Vertex AI JDK.

Go

  1. Para selecionar um projeto do Google Cloud, faça isto:
    1. No console do Google Cloud, abra a página Painel.

      Acessar a página "Painel"

    2. Clique na lista de seleção de projetos na parte superior da página. Na janela Selecionar um recurso exibida, selecione um projeto.

    3. Anote o ID do projeto exibido na seção Informações do projeto. Você precisará do ID do projeto para as próximas etapas.
  2. Prepare seu ambiente para o desenvolvimento para Go.
  3. Revise os pacotes disponíveis da API Vertex AI em Go para determinar qual pacote atende melhor às necessidades do seu projeto:

    • Pacote cloud.google.com/go/vertexai (recomendado)

      vertexai é um pacote criado por humanos que fornece acesso a recursos e capabilities comuns.

      Esse pacote é recomendado como ponto de partida para a maioria dos desenvolvedores que criam usando a API Vertex AI. Para acessar recursos e capabilities ainda não cobertos por esse pacote, use o aiplatform gerado automaticamente.

    • Pacote cloud.google.com/go/aiplatform

      aiplatform é um pacote gerado automaticamente.

      Esse pacote é destinado a projetos que exigem acesso a recursos e capabilities da API Vertex AI ainda não fornecidos pelo pacote vertexai criado por humanos.

  4. Instale o pacote Go desejado com base nas necessidades do seu projeto executando um dos seguintes comandos:

    # Human authored package. Recommended for most developers.
    go get cloud.google.com/go/vertexai
    
    # Auto-generated package. go get cloud.google.com/go/aiplatform
  5. Envie uma solicitação. Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

    import (
    	"context"
    	"encoding/json"
    	"fmt"
    	"io"
    
    	"cloud.google.com/go/vertexai/genai"
    )
    
    func tryGemini(w io.Writer, projectID string, location string, modelName string) error {
    	// location := "us-central1"
    	// modelName := "gemini-1.0-pro-vision-001"
    
    	ctx := context.Background()
    	client, err := genai.NewClient(ctx, projectID, location)
    	if err != nil {
    		return fmt.Errorf("error creating client: %w", err)
    	}
    	gemini := client.GenerativeModel(modelName)
    
    	img := genai.FileData{
    		MIMEType: "image/jpeg",
    		FileURI:  "gs://generativeai-downloads/images/scones.jpg",
    	}
    	prompt := genai.Text("What is in this image?")
    
    	resp, err := gemini.GenerateContent(ctx, img, prompt)
    	if err != nil {
    		return fmt.Errorf("error generating content: %w", err)
    	}
    	rb, err := json.MarshalIndent(resp, "", "  ")
    	if err != nil {
    		return fmt.Errorf("json.MarshalIndent: %w", err)
    	}
    	fmt.Fprintln(w, string(rb))
    	return nil
    }
    

    Para mais informações sobre como instalar e usar o SDK da Vertex AI para Go, consulte a documentação de referência do SDK da Vertex AI para Go.

C#

Antes de testar essa amostra, siga as instruções de configuração para C# 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 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.


using Google.Api.Gax.Grpc;
using Google.Cloud.AIPlatform.V1;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

public class GeminiQuickstart
{
    public async Task<string> GenerateContent(
        string projectId = "your-project-id",
        string location = "us-central1",
        string publisher = "google",
        string model = "gemini-1.0-pro-vision"
    )
    {
        // Create client
        var predictionServiceClient = new PredictionServiceClientBuilder
        {
            Endpoint = $"{location}-aiplatform.googleapis.com"
        }.Build();

        // Prompt
        string prompt = "What's in this photo";
        string imageUri = "gs://generativeai-downloads/images/scones.jpg";

        // Initialize request argument(s)
        var content = new Content
        {
            Role = "USER"
        };
        content.Parts.AddRange(new List<Part>()
        {
            new() {
                Text = prompt
            },
            new() {
                FileData = new() {
                    MimeType = "image/png",
                    FileUri = imageUri
                }
            }
        });

        var generateContentRequest = new GenerateContentRequest
        {
            Model = $"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}",
            GenerationConfig = new GenerationConfig
            {
                Temperature = 0.4f,
                TopP = 1,
                TopK = 32,
                MaxOutputTokens = 2048
            }
        };
        generateContentRequest.Contents.Add(content);

        // Make the request, returning a streaming response
        using PredictionServiceClient.StreamGenerateContentStream response = predictionServiceClient.StreamGenerateContent(generateContentRequest);

        StringBuilder fullText = new();

        // Read streaming responses from server until complete
        AsyncResponseStream<GenerateContentResponse> responseStream = response.GetResponseStream();
        await foreach (GenerateContentResponse responseItem in responseStream)
        {
            fullText.Append(responseItem.Candidates[0].Content.Parts[0].Text);
        }

        return fullText.ToString();
    }
}

REST

  1. Para selecionar um projeto do Google Cloud, faça isto:

    1. No Console do Google Cloud, abra a página Painel.

      Ir para a página "Painel"

    2. Clique na lista de seleção de projetos na parte superior da página. Na janela Selecionar um recurso exibida, selecione um projeto.

    3. Anote o ID do projeto exibido na seção Informações do projeto. Você precisará do ID do projeto para as próximas etapas.

  2. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

  3. Insira o comando abaixo para configurar as variáveis de ambiente. Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

    MODEL_ID="gemini-1.0-pro-vision"
    PROJECT_ID="PROJECT_ID"
    
  4. Provisione o endpoint:

    gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT_ID
    
  5. Digite o seguinte comando curl para enviar uma solicitação de prompt:

    curl \
    -X POST \
    -H "Authorization: Bearer $(gcloud auth application-default 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}:streamGenerateContent -d \
    $'{
      "contents": {
        "role": "user",
        "parts": [
          {
          "fileData": {
            "mimeType": "image/jpeg",
            "fileUri": "gs://generativeai-downloads/images/scones.jpg"
            }
          },
          {
            "text": "Describe this picture."
          }
        ]
      }
    }'
    
  6. Se for preciso autorizar o Cloud Shell, clique em Autorizar.

    O modelo retorna uma resposta. A resposta é gerada em seções, e cada uma delas é avaliada separadamente quanto à segurança.

Console

Use o Vertex AI Studio para criar e iterar rapidamente seus comandos. Depois que o comando estiver pronto, será possível acessá-lo em qualquer uma das linguagens de programação compatíveis.

  1. Para selecionar um projeto do Google Cloud, faça isto:
    1. No console do Google Cloud, abra a página Painel.

      Acessar a página "Painel"

    2. Clique na lista de seleção de projetos na parte superior da página. Na janela Selecionar um recurso exibida, selecione um projeto.

  2. No console do Google Cloud, acesse a página Vertex AI Studio.

    Vertex AI Studio

  3. Clique em Multimodal.

  4. Em Exemplos de comandos, localize o comando Extrair texto das imagens e clique em Abrir.

    A página de solicitação é aberta e o comando é preenchido no campo Prompt.

  5. Envie o comando clicando em Enviar.

    O modelo retorna uma resposta.

  6. Confira o código equivalente a essa solicitação de solicitação clicando em Ver código.

A seguir