Coba Vertex AI Gemini API

Halaman ini menunjukkan cara untuk mulai mengirim permintaan ke Vertex AI Gemini API dengan cepat menggunakan Konsol Google Cloud, SDK bahasa pemrograman, atau REST API.

Baru menggunakan Google Cloud

Melakukan penyiapan di Google Cloud

Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload. Proses penyiapannya hanya memerlukan tiga langkah singkat:

Screenshot pendaftaran

Gunakan tombol berikut untuk membuat akun. Setelah selesai, kembali ke halaman ini untuk menyelesaikan tutorial pemula ini. Untuk menggunakan semua fitur yang tersedia di situs ini, login menggunakan akun Anda.

Buat akun

Untuk mengetahui informasi selengkapnya tentang cara melakukan penyiapan di Google Cloud, lihat Melakukan penyiapan di Google Cloud.

Mengirim permintaan ke Vertex AI Gemini API

Untuk melihat petunjuk cara mengirim permintaan ke Vertex AI Gemini API, pilih salah satu tab berikut:

Python

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Di Cloud Shell, instal atau update Vertex AI SDK untuk Python dengan menjalankan perintah berikut:

    pip install "google-cloud-aiplatform>=1.38"
    

Kirim permintaan perintah. Ganti PROJECT_ID dengan ID project Google Cloud Anda.

# 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

def generate_text(project_id: str, location: str) -> str:
    # Initialize Vertex AI
    vertexai.init(project=project_id, location=location)
    # Load the model
    multimodal_model = GenerativeModel("gemini-1.0-pro-vision")
    # 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

Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Vertex AI SDK untuk Python API.

Node.js

  1. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

    Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.

  2. Di Cloud Shell, instal atau update Vertex AI SDK untuk Node.js dengan menjalankan perintah berikut:

    npm install @google-cloud/vertexai
    

Kirim permintaan perintah. Ganti PROJECT_ID dengan ID project Google Cloud Anda.

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);
}

Untuk mengetahui informasi selengkapnya tentang penginstalan dan penggunaan Vertex AI Node.js SDK, lihat dokumentasi referensi Vertex AI SDK untuk Node.js.

Java

  1. Menyiapkan Java Development Environment.
  2. Autentikasi dengan menjalankan perintah berikut. Ganti PROJECT_ID dengan project ID Google Cloud Anda dan ACCOUNT dengan nama pengguna Google Cloud Anda.

    gcloud config set project PROJECT_ID &&
    gcloud auth login ACCOUNT
    
  3. Tambahkan google-cloud-vertexai sebagai dependensi Anda:

    <!--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'
    

Kirim permintaan perintah. Tetapkan projectID ke project ID Google Cloud Anda.

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://generativeai-downloads/images/scones.jpg";

      GenerativeModel model = new GenerativeModel(modelName, vertexAI);
      GenerateContentResponse response = model.generateContent(ContentMaker.fromMultiModalData(
          PartMaker.fromMimeTypeAndData("image/jpg", imageUri),
          "What's in this photo"
      ));

      return response.toString();
    }
  }
}

Untuk mengetahui informasi selengkapnya tentang penginstalan dan penggunaan Java Development Kit (JDK) Vertex AI, lihat dokumentasi referensi Vertex AI JDK.

Go

  1. Siapkan lingkungan Anda untuk pengembangan Go.
  2. Tinjau paket Vertex AI API Go yang tersedia untuk menentukan paket mana yang paling sesuai dengan kebutuhan project Anda:

    • Paket cloud.google.com/go/vertexai (direkomendasikan)

      vertexai adalah paket yang ditulis manusia yang memberikan akses ke kemampuan dan fitur umum.

      Paket ini direkomendasikan sebagai titik awal bagi sebagian besar developer yang membangun aplikasi dengan Vertex AI API. Untuk mengakses kemampuan dan fitur yang belum dicakup oleh paket ini, gunakan aiplatform yang dihasilkan secara otomatis.

    • Paket: cloud.google.com/go/aiplatform

      aiplatform adalah paket yang dibuat secara otomatis.

      Paket ini ditujukan untuk project yang memerlukan akses ke kemampuan dan fitur Vertex AI API yang belum disediakan oleh paket vertexai buatan manusia.

  3. Instal paket Go yang diinginkan berdasarkan kebutuhan project Anda dengan menjalankan salah satu perintah berikut:

    # Human authored package. Recommended for most developers.
    go get cloud.google.com/go/vertexai
    
    # Auto-generated package. go get cloud.google.com/go/aiplatform

Kirim permintaan perintah. Ganti PROJECT_ID dengan ID project Google Cloud Anda.

import (
	"context"
	"encoding/json"
	"fmt"
	"io"

	"cloud.google.com/go/vertexai/genai"
)

var projectId = "PROJECT_ID"
var region = "us-central1"

func tryGemini(w io.Writer, projectId string, region string, modelName string) error {

	ctx := context.Background()
	client, err := genai.NewClient(ctx, projectId, region)
	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, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintln(w, string(rb))
	return nil
}

Untuk mengetahui informasi selengkapnya tentang cara menginstal dan menggunakan Vertex AI SDK untuk Go, lihat dokumentasi referensi Vertex AI SDK untuk Go.

C#

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan C# di Panduan memulai Vertex AI menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API C# Vertex AI.

Untuk melakukan autentikasi ke Vertex AI, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.


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. Di konsol Google Cloud, aktifkan Cloud Shell.

    Aktifkan Cloud Shell

  2. Konfigurasikan variabel lingkungan dengan memasukkan perintah berikut. Ganti PROJECT_ID dengan ID project Google Cloud Anda.

    MODEL_ID="gemini-1.0-pro-vision"
    PROJECT_ID="PROJECT_ID"
    
  3. Sediakan endpoint:

    gcloud beta services identity create --service=aiplatform.googleapis.com --project=PROJECT_ID
    
  4. Kirim permintaan perintah dengan memasukkan perintah curl berikut:

    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."
          }
        ]
      }
    }'
    
  5. Jika diminta untuk memberikan otorisasi pada Cloud Shell, klik Authorize.

    Model akan menampilkan respons. Perhatikan bahwa respons dibuat di bagian dengan setiap bagian dievaluasi secara terpisah demi keamanan.

Konsol

Gunakan Vertex AI Studio untuk mendesain dan melakukan iterasi pada perintah Anda dengan cepat. Setelah perintah siap, Anda bisa mendapatkan kode untuk perintah tersebut dalam bahasa pemrograman yang didukung.

  1. Di konsol Google Cloud, buka halaman Vertex AI Studio.

    Vertex AI Studio

  2. Klik Multimodal.

  3. Di bagian Contoh perintah, cari perintah berjudul Ekstrak teks dari gambar, lalu klik Buka.

    Halaman perintah akan terbuka dan perintah akan diisi di kolom Prompt.

  4. Kirim perintah dengan mengklik Kirim.

    Model akan menampilkan respons.

  5. Lihat kode yang setara dengan permintaan perintah ini dengan mengklik Dapatkan kode.

Langkah selanjutnya