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:
import google.generativeai as genai
genai.configure(api_key="GEMINI_API_KEY")
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("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:
import google.generativeai as genai
import PIL.Image
genai.configure(api_key="GEMINI_API_KEY")
model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open("/path/to/organ.png")
response = model.generate_content(["Tell me about this instrument", organ])
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 e, em vez disso, usar 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.
import google.generativeai as genai
genai.configure(api_key="GEMINI_API_KEY")
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Explain how AI works", stream=True)
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:
import google.generativeai as genai
genai.configure(api_key="GEMINI_API_KEY")
model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
history=[
{"role": "user", "parts": "Hello"},
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response2 = chat.send_message("How many paws are in my house?")
print(response2.text)
Também é possível usar o streaming com chat, conforme mostrado no exemplo a seguir:
import google.generativeai as genai
genai.configure(api_key="GEMINI_API_KEY")
model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
history=[
{"role": "user", "parts": "Hello"},
{"role": "model", "parts": "Great to meet you. What would you like to know?"},
]
)
response = chat.send_message("I have 2 dogs in my house.", stream=True)
for chunk in response:
print(chunk.text, end="")
response2 = chat.send_message("How many paws are in my house?", stream=True)
for chunk in response2:
print(chunk.text, end="")
print(chat.history)
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.
import google.generativeai as genai
genai.configure(api_key="GEMINI_API_KEY")
model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
"Explain how AI works",
generation_config = genai.GenerationConfig(
max_output_tokens=1000,
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 ao modelo mais contexto para entender a tarefa, gerar respostas mais personalizadas e aderir 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:
model=genai.GenerativeModel(
model_name="gemini-1.5-flash",
system_instruction="You are a cat. Your name is Neko.")
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.