Geração de texto

A API Gemini pode gerar saída de texto quando fornece texto, imagens, vídeo e áudio como entrada.

Este guia mostra como gerar texto usando os métodos generateContent e streamGenerateContent. Para saber como trabalhar com os recursos de visão e áudio do Gemini, consulte os guias Vision e Áudio.

Gerar texto com base em uma entrada somente de texto

A maneira mais simples de gerar texto usando a API Gemini é fornecer ao modelo uma única entrada de texto, conforme mostrado neste exemplo:

from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content(
    model="gemini-2.0-flash",
    contents=["How does AI work?"])
print(response.text)

Nesse caso, a instrução ("Explique como a IA funciona") não inclui exemplos de saída, instruções do sistema ou informações de formatação. É uma abordagem zero-shot. Para alguns casos de uso, uma solicitação one-shot ou few-shot pode produzir uma saída mais alinhada às expectativas do usuário. Em alguns casos, também é possível fornecer instruções do sistema para ajudar o modelo a entender a tarefa ou seguir diretrizes específicas.

Gerar texto com base em entradas de texto e imagem

A API Gemini oferece suporte a entradas multimodais que combinam arquivos de texto e mídia. O exemplo a seguir mostra como gerar texto com base em uma entrada de texto e imagem:

from PIL import Image
from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

image = Image.open("/path/to/organ.png")
response = client.models.generate_content(
    model="gemini-2.0-flash",
    contents=[image, "Tell me about this instrument"])
print(response.text)

Gerar um stream de texto

Por padrão, o modelo retorna uma resposta após concluir todo o processo de geração de texto. É possível conseguir interações mais rápidas sem esperar pelo resultado completo. Em vez disso, use o streaming para processar resultados parciais.

O exemplo a seguir mostra como implementar o streaming usando o método streamGenerateContent para gerar texto de um comando de entrada somente texto.

from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content_stream(
    model="gemini-2.0-flash",
    contents=["Explain how AI works"])
for chunk in response:
    print(chunk.text, end="")

Criar uma conversa

O SDK do Gemini permite coletar várias rodadas de perguntas e respostas, permitindo que os usuários avancem gradualmente para as respostas ou recebam ajuda com problemas de várias partes. Esse recurso do SDK oferece uma interface para acompanhar o histórico de conversas, mas, nos bastidores, usa o mesmo método generateContent para criar a resposta.

O exemplo de código a seguir mostra uma implementação básica de chat:

from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

chat = client.chats.create(model="gemini-2.0-flash")
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)
for message in chat._curated_history:
    print(f'role - ', message.role, end=": ")
    print(message.parts[0].text)

Também é possível usar o streaming com chat, conforme mostrado no exemplo a seguir:

from google import genai

client = genai.Client(api_key="GEMINI_API_KEY")

chat = client.chats.create(model="gemini-2.0-flash")
response = chat.send_message_stream("I have 2 dogs in my house.")
for chunk in response:
    print(chunk.text, end="")
response = chat.send_message_stream("How many paws are in my house?")
for chunk in response:
    print(chunk.text, end="")
for message in chat._curated_history:
    print(f'role - ', message.role, end=": ")
    print(message.parts[0].text)

Configurar a geração de texto

Cada comando enviado ao modelo inclui parâmetros que controlam como o modelo gera respostas. Use GenerationConfig para configurar esses parâmetros. Se você não configurar os parâmetros, o modelo usará as opções padrão, que podem variar de acordo com o modelo.

O exemplo a seguir mostra como configurar várias das opções disponíveis.

from google import genai
from google.genai import types

client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content(
    model="gemini-2.0-flash",
    contents=["Explain how AI works"],
    config=types.GenerateContentConfig(
        max_output_tokens=500,
        temperature=0.1
    )
)
print(response.text)

Adicionar instruções do sistema

As instruções do sistema permitem orientar o comportamento de um modelo com base nas suas necessidades e casos de uso específicos.

Ao fornecer instruções do sistema ao modelo, você proporciona mais contexto para que ele entenda a tarefa, gere respostas mais personalizadas e adira a diretrizes específicas sobre toda a interação do usuário com o modelo. Também é possível especificar o comportamento no nível do produto definindo instruções do sistema, separadas dos comandos fornecidos pelos usuários finais.

É possível definir instruções do sistema ao inicializar o modelo:

sys_instruct="You are a cat. Your name is Neko."
client = genai.Client(api_key="GEMINI_API_KEY")

response = client.models.generate_content(
    model="gemini-2.0-flash",
    config=types.GenerateContentConfig(
        system_instruction=sys_instruct),
    contents=["your prompt here"]
)

Em seguida, é possível enviar solicitações ao modelo normalmente.

Para conferir um exemplo completo e interativo de uso de instruções do sistema, consulte o colab de instruções do sistema.

A seguir

Agora que você já aprendeu o básico da API Gemini, tente o seguinte:

  • Compreensão visual: aprenda a usar a compreensão visual nativa do Gemini para processar imagens e vídeos.
  • Entendimento de áudio: aprenda a usar o entendimento de áudio nativo do Gemini para processar arquivos de áudio.