Ejemplo asíncrono para generar contenido con un modelo de IA multimodal

El código de ejemplo muestra cómo usar modelos de IA generativa con la función asíncrona.

Código de ejemplo

Go

Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go de Vertex AI.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

import (
	"context"
	"fmt"
	"io"

	"google.golang.org/genai"
)

// generateWithTextAsyncStream shows how to stream a text generation response.
func generateWithTextAsyncStream(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.5-flash"

	contents := []*genai.Content{
		{
			Role: "user",
			Parts: []*genai.Part{
				{Text: "Compose a song about the adventures of a time-traveling squirrel."},
			},
		},
	}

	for resp, err := range client.Models.GenerateContentStream(ctx, modelName, contents, &genai.GenerateContentConfig{
		ResponseModalities: []string{"TEXT"}}) {
		if err != nil {
			return fmt.Errorf("failed to generate content: %w", err)
		}

		chunk := resp.Text()

		fmt.Fprintln(w, chunk)
	}

	// Example output (streamed piece by piece):
	// (Verse 1)
	// Pip was a squirrel, a regular chap,
	//Burying acorns, enjoying a nap.
	//One sunny morning, beneath the old pine,
	//He dug up a thing, incredibly fine.
	//A tiny contraption, with gears and a gleam,
	//It pulsed with a power, a
	// time-traveling dream.
	//He nudged it with curiosity, twitching his nose,
	//And *poof!* went the world, as everyone knows...
	//
	//(Chorus)
	//Oh, Pip the squirrel, with his bushy brown tail,
	//Through the time stream he'd often sail!
	// ...

	return nil
}

Java

Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.


import com.google.genai.Client;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;
import java.util.concurrent.CompletableFuture;

public class TextGenerationAsyncWithText {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    generateContent(modelId);
  }

  // Generates text asynchronously with text input
  public static String generateContent(String modelId) {
    // 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 (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      CompletableFuture<GenerateContentResponse> asyncResponse =
          client.async.models.generateContent(
              modelId, "Compose a song about the adventures of a time-traveling squirrel.", null);

      String response = asyncResponse.join().text();
      System.out.print(response);
      // Example response:
      // (Verse 1)
      // In an oak tree, so leafy and green,
      // Lived Squeaky the squirrel, a critter unseen.
      // Just burying nuts, a routine so grand,
      // ...

      return response;
    }
  }
}

Python

Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python de Vertex AI.

Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.

from google import genai
from google.genai.types import GenerateContentConfig, HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))
model_id = "gemini-2.5-flash"

response = await client.aio.models.generate_content(
    model=model_id,
    contents="Compose a song about the adventures of a time-traveling squirrel.",
    config=GenerateContentConfig(
        response_modalities=["TEXT"],
    ),
)

print(response.text)
# Example response:
# (Verse 1)
# Sammy the squirrel, a furry little friend
# Had a knack for adventure, beyond all comprehend

Siguientes pasos

Para buscar y filtrar ejemplos de código de otros Google Cloud productos, consulta el Google Cloud navegador de ejemplos.