Essayer l'API Vertex AI Gemini

Cette page vous explique comment commencer rapidement à envoyer des requêtes à l'API Vertex AI Gemini à l'aide de la console Google Cloud, d'un SDK de langage de programmation ou de l'API REST.

Vous débutez sur Google Cloud ?

Lancez-vous dans Google Cloud

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail. Le processus de configuration ne comporte que trois étapes courtes :

Captures d'écran d'inscription

Pour créer un compte, utilisez le bouton suivant. Lorsque vous avez terminé, revenez sur cette page pour suivre ce tutoriel de débutant. Pour utiliser toutes les fonctionnalités disponibles sur ce site, connectez-vous à l'aide de votre compte.

Créer un compte

Pour en savoir plus sur la configuration dans Google Cloud, consultez la page Lancez-vous dans Google Cloud.

Envoyer une requête à l'API Vertex AI Gemini

Pour afficher les instructions d'envoi d'une requête à l'API Vertex AI Gemini, sélectionnez l'un des onglets suivants :

Python

  1. Sélectionnez un projet Google Cloud en procédant comme suit :
    1. Dans la console Google Cloud, accédez à la page Tableau de bord.

      Accéder à la page "Tableau de bord"

    2. Cliquez sur la liste de sélection de projets en haut de la page. Dans la fenêtre Sélectionner une ressource qui s'affiche, sélectionnez un projet.

    3. Notez l'ID du projet affiché dans la section Informations sur le projet. Vous aurez besoin de l'ID du projet pour les étapes suivantes.
  2. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  3. Dans Cloud Shell, installez ou mettez à jour le SDK Vertex AI pour Python en exécutant la commande suivante :

    pip3 install "google-cloud-aiplatform>=1.38"
    
  4. Envoyez une requête. Remplacez PROJECT_ID par l'ID de votre projet 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
    
    

    Pour en savoir plus sur l'installation, la mise à jour et l'utilisation du SDK Vertex AI pour Python, consultez les pages suivantes : Installer le SDK Vertex AI pour Python et Documentation de référence de l'API SDK Vertex AI pour Python.

Node.js

  1. Sélectionnez un projet Google Cloud en procédant comme suit :
    1. Dans la console Google Cloud, accédez à la page Tableau de bord.

      Accéder à la page "Tableau de bord"

    2. Cliquez sur la liste de sélection de projets en haut de la page. Dans la fenêtre Sélectionner une ressource qui s'affiche, sélectionnez un projet.

    3. Notez l'ID du projet affiché dans la section Informations sur le projet. Vous aurez besoin de l'ID du projet pour les étapes suivantes.
  2. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  3. Dans Cloud Shell, installez ou mettez à jour le SDK Vertex AI pour Node.js en exécutant la commande suivante :

    npm install @google-cloud/vertexai
    
  4. Envoyez une requête. Remplacez PROJECT_ID par l'ID de votre projet 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);
    }

    Pour en savoir plus sur l'installation et l'utilisation du SDK Vertex AI pour Node.js, consultez la documentation de référence du SDK Vertex AI pour Node.js.

Java

  1. Sélectionnez un projet Google Cloud en procédant comme suit:

    1. Dans la console Google Cloud, accédez à la page Tableau de bord.

      Accéder à la page "Tableau de bord"

    2. Cliquez sur la liste de sélection de projets en haut de la page. Dans la fenêtre Sélectionner une ressource qui s'affiche, sélectionnez un projet.

    3. Notez l'ID du projet affiché dans la section Informations sur le projet. Vous aurez besoin de l'ID du projet pour les étapes suivantes.

  2. Configurez votre environnement de développement Java.

  3. Authentifiez-vous en exécutant la commande suivante. Remplacez PROJECT_ID par l'ID du projet Google Cloud et ACCOUNT par votre nom d'utilisateur Google Cloud.

    gcloud config set project PROJECT_ID &&
    gcloud auth login ACCOUNT
    
  4. Ajoutez google-cloud-vertexai comme dépendance :

    <!--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. Envoyez une requête. Choisissez projectID pour l'ID du projet 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();
        }
      }
    }

    Pour en savoir plus sur l'installation et l'utilisation du kit de développement Java Vertex AI (JDK), consultez la documentation de référence sur le JDK Vertex AI.

Go

  1. Sélectionnez un projet Google Cloud en procédant comme suit :
    1. Dans la console Google Cloud, accédez à la page Tableau de bord.

      Accéder à la page "Tableau de bord"

    2. Cliquez sur la liste de sélection de projets en haut de la page. Dans la fenêtre Sélectionner une ressource qui s'affiche, sélectionnez un projet.

    3. Notez l'ID du projet affiché dans la section Informations sur le projet. Vous aurez besoin de l'ID du projet pour les étapes suivantes.
  2. Préparez votre environnement pour le développement Go.
  3. Consultez les packages Go de l'API Vertex AI disponibles pour identifier celui qui répond le mieux aux besoins de votre projet :

    • Package cloud.google.com/go/vertexai (recommandé)

      vertexai est un package créé manuellement qui permet d'accéder aux fonctionnalités courantes.

      Ce package est recommandé comme point de départ pour la plupart des développeurs qui utilisent l'API Vertex AI. Pour accéder à des fonctionnalités qui ne sont pas encore couvertes par ce package, utilisez plutôt le package aiplatform généré automatiquement.

    • Package cloud.google.com/go/aiplatform

      aiplatform est un package généré automatiquement.

      Ce package est destiné aux projets nécessitant un accès aux fonctionnalités de l'API Vertex AI et à des fonctionnalités qui ne sont pas encore fournies par le package vertexai créé manuellement.

  4. Installez le package Go souhaité en fonction des besoins de votre projet en exécutant l'une des commandes suivantes :

    # 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. Envoyez une requête. Remplacez PROJECT_ID par l'ID de votre projet 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
    }
    

    Pour en savoir plus sur l'installation et l'utilisation du SDK Vertex AI pour Go, consultez la documentation de référence du SDK Vertex AI pour Go.

C#

Avant d'essayer cet exemple, suivez les instructions de configuration pour C# décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI C#.

Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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. Sélectionnez un projet Google Cloud en procédant comme suit:

    1. Dans la console Google Cloud, accédez à la page Tableau de bord.

      Accéder à la page "Tableau de bord"

    2. Cliquez sur la liste de sélection de projets en haut de la page. Dans la fenêtre Sélectionner une ressource qui s'affiche, sélectionnez un projet.

    3. Notez l'ID du projet affiché dans la section Informations sur le projet. Vous aurez besoin de l'ID du projet pour les étapes suivantes.

  2. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

  3. Configurez des variables d'environnement en saisissant les informations suivantes. Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.

    MODEL_ID="gemini-1.0-pro-vision"
    PROJECT_ID="PROJECT_ID"
    
  4. Provisionnez le point de terminaison :

    gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT_ID
    
  5. Envoyez une requête en saisissant la commande curl suivante :

    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. Si vous êtes invité à autoriser Cloud Shell, cliquez sur Authorize (Autoriser).

    Le modèle renvoie une réponse. Notez que la réponse est générée par section, et chaque section est évaluée séparément pour garantir la sécurité.

Console

Utilisez Vertex AI Studio pour concevoir et itérer rapidement vos requêtes. Une fois que votre requête est prête, vous pouvez obtenir son code dans l'un des langages de programmation compatibles.

  1. Sélectionnez un projet Google Cloud en procédant comme suit :
    1. Dans la console Google Cloud, accédez à la page Tableau de bord.

      Accéder à la page "Tableau de bord"

    2. Cliquez sur la liste de sélection de projets en haut de la page. Dans la fenêtre Sélectionner une ressource qui s'affiche, sélectionnez un projet.

  2. Dans la console Google Cloud, accédez à la page Studio Vertex AI.

    Vertex AI Studio

  3. Cliquez sur Multimodale.

  4. Sous Exemples de requêtes, recherchez la requête intitulée Extraire du texte à partir d'images, puis cliquez sur Ouvrir.

    La page de requête s'ouvre, et la requête est renseignée dans le champ Requête.

  5. Envoyez la requête en cliquant sur Envoyer.

    Le modèle renvoie une réponse.

  6. Affichez le code équivalent de cette requête en cliquant sur Obtenir le code.

Étapes suivantes