Tutorial: API Agent Platform no modo expresso

Com o modo expresso da Gemini Enterprise Agent Platform, você pode testar os principais recursos de IA generativa disponíveis na Agent Platform. Neste tutorial, mostramos como concluir as seguintes tarefas usando a API Agent Platform no modo express:

  • Instale e inicialize o SDK de IA generativa do Google para o modo expresso.
  • Envie uma solicitação para a API Gemini para Google Cloud, incluindo o seguinte:

    • Solicitação de streaming
    • Solicitação não de streaming
    • Solicitação de chamada de função

Antes de começar

Antes de realizar as tarefas descritas neste documento, inscreva-se no modo expresso.

Instalar e inicializar o SDK para o modo expresso

Com o SDK de IA generativa do Google, é possível usar modelos e recursos de IA generativa do Google para criar aplicativos com tecnologia de IA. Ao usar a Agent Platform no modo expresso, instale e inicialize o pacote google-genai para fazer a autenticação usando a chave de API gerada.

Instalar

Para instalar o SDK de IA Generativa do Google no modo expresso, execute os seguintes comandos:

# Developer TODO: If you're using Colab, uncomment the following lines:
# from google.colab import auth
# auth.authenticate_user()

!pip install --upgrade google-genai

Se você estiver usando o Colaboratory, reinicie o ambiente de execução após a instalação, se solicitado.

Inicializar

Configure a chave de API para o modo expresso e inicialize o cliente com enterprise=True. Para detalhes sobre como receber uma chave de API, consulte Visão geral do modo expresso da Agent Platform.

from google import genai
from google.genai import types

# Developer TODO: Replace YOUR_API_KEY with your API key.
API_KEY = "YOUR_API_KEY"

client = genai.Client(
    enterprise=True, api_key=API_KEY
)

Enviar uma solicitação para a API Gemini para Google Cloud

É possível enviar solicitações de streaming ou não streaming para a API Gemini para Google Cloud. As solicitações de streaming retornam a resposta em partes à medida que a solicitação é processada. As solicitações que não são de streaming retornam a resposta completa depois que o processamento termina.

Solicitação de streaming

Para enviar uma solicitação de streaming, chame client.models.generate_content_stream() e imprima cada parte à medida que ela chega:

from google import genai
from google.genai import types

def generate():
  client = genai.Client(enterprise=True, api_key="YOUR_API_KEY")

  config = types.GenerateContentConfig(
      thinking_config=types.ThinkingConfig(
          thinking_level="MEDIUM",
      ),
      seed=5,
      max_output_tokens=1024,
      stop_sequences=["STOP!"],
      safety_settings=[
          types.SafetySetting(
              category="HARM_CATEGORY_HATE_SPEECH",
              threshold="BLOCK_ONLY_HIGH",
          )
      ],
  )
  for chunk in client.models.generate_content_stream(
      model="gemini-3.8-flash",
      contents="Explain bubble sort to me",
      config=config,
  ):
    print(chunk.text, end="")

generate()

Solicitação não de streaming

O exemplo de código a seguir define uma função que envia uma solicitação sem streaming para o Gemini 3.8 Flash (gemini-3.8-flash). Ele mostra como configurar o nível de pensamento, os parâmetros de saída e as configurações de segurança:

from google import genai
from google.genai import types

def generate():
  client = genai.Client(enterprise=True, api_key="YOUR_API_KEY")

  config = types.GenerateContentConfig(
      thinking_config=types.ThinkingConfig(
          thinking_level="MEDIUM",
      ),
      seed=5,
      max_output_tokens=1024,
      stop_sequences=["STOP!"],
      safety_settings=[
          types.SafetySetting(
              category="HARM_CATEGORY_HATE_SPEECH",
              threshold="BLOCK_ONLY_HIGH",
          )
      ],
  )
  response = client.models.generate_content(
      model="gemini-3.8-flash",
      contents="Explain bubble sort to me",
      config=config,
  )
  print(response.text)

generate()

Solicitação de chamada de função

O exemplo de código a seguir declara uma ferramenta de função, envia um comando inicial para o 3.8 Flash, recebe uma parte de chamada de função na resposta e envia o FunctionResponse correspondente de volta ao modelo para gerar uma resposta final:

from google import genai
from google.genai import types

client = genai.Client(enterprise=True, api_key="YOUR_API_KEY")

get_weather_declaration = types.FunctionDeclaration(
    name="get_current_weather",
    description="Gets the current weather in a given city.",
    parameters={
        "type": "OBJECT",
        "properties": {
            "location": {
                "type": "STRING",
                "description": "The city and state, such as Boston, MA.",
            },
            "unit": {
                "type": "STRING",
                "enum": ["C", "F"],
            },
        },
        "required": ["location"],
    },
)
tools = [types.Tool(function_declarations=[get_weather_declaration])]

prompt = "What is the weather in Boston?"
first_response = client.models.generate_content(
    model="gemini-3.8-flash",
    contents=prompt,
    config=types.GenerateContentConfig(tools=tools),
)

function_call = first_response.function_calls[0]
contents = [
    types.Content(role="user", parts=[types.Part(text=prompt)]),
    first_response.candidates[0].content,
    types.Content(
        role="user",
        parts=[
            types.Part(
                function_response=types.FunctionResponse(
                    id=function_call.id,
                    name=function_call.name,
                    response={"weather": "sunny", "temperature": "72F"},
                )
            )
        ],
    ),
]

response = client.models.generate_content(
    model="gemini-3.8-flash",
    contents=contents,
    config=types.GenerateContentConfig(tools=tools),
)
print(response.text)

Limpar

Este tutorial não cria recursos do Google Cloud . Portanto, não é necessário fazer uma limpeza para evitar cobranças.

A seguir