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.