Utilizando a API do Google Gemini | Prof. Pablo A. Sampaio's website
Dominando a API do Google Gemini com Python: Um Guia Completo para Desenvolvedores
A inteligência artificial generativa está redefinindo o desenvolvimento de software. Se até pouco tempo atrás a OpenAI dominava o centro das atenções com o ChatGPT e seus modelos GPT, hoje o cenário se diversificou com a entrada de concorrentes robustos. Entre eles, o Google Gemini se destaca, não apenas por sua capacidade de competir de igual para igual com o GPT-4, mas também por oferecer uma API extremamente flexível e um ecossistema que integra texto, imagem, áudio e vídeo.
Neste artigo, vamos além da interface web do Gemini e mergulhamos no mundo do desenvolvimento prático. Você aprenderá como configurar seu ambiente, obter uma chave de API, fazer suas primeiras chamadas usando Python e explorar funcionalidades avançadas como o uso de imagens, áudio e configuração de parâmetros. Se você é um desenvolvedor, estudante de IA ou curioso que já brincou com APIs de LLMs, este guia foi feito para você.
Configuração Inicial: Do Console do Google ao seu IDE
Antes de escrevermos qualquer linha de código, precisamos preparar o terreno. A API do Gemini é acessada por meio do Google AI Studio (anteriormente MakerSuite) ou do Vertex AI, dependendo do seu nível de necessidade. Para começar de forma gratuita e simples, vamos usar o AI Studio.
1. Obtenha sua chave de API
- Acesse makersuite.google.com.
- Faça login com sua conta Google.
- Clique em “Criar chave de API”. Você receberá uma chave como
AIzaSy.... - Copie essa chave e jamais a compartilhe – armazene em variáveis de ambiente ou em um arquivo
.env.
2. Instale o SDK Python do Google Gemini
O Google oferece um SDK oficial (google-generativeai). Instale via pip:
pip install google-generativeai
Prepare seu código:
import google.generativeai as genai
import os
genai.configure(api_key=os.environ["GEMINI_API_KEY"])
Simples, não? Agora podemos começar a criar.
Primeiros Passos: Gerando Texto com o Modelo Gemini
A API do Gemini expõe diferentes modelos. Para tarefas de texto, o modelo gemini-1.5-flash é rápido e barato; o gemini-1.5-pro é mais pesado e preciso. Vamos usar o Flash para demonstração.
Exemplo básico: completar um prompt
model = genai.GenerativeModel('gemini-1.5-flash')
prompt = "Explique o conceito de machine learning em um parágrafo curto."
response = model.generate_content(prompt)
print(response.text)
A resposta virá como texto puro, pronta para ser usada. Simples, mas podemos ir além.
Configurando parâmetros para controle fino
Assim como com o GPT, podemos ajustar a criatividade das respostas. O Gemini expõe parâmetros como temperature, top_p, top_k, max_output_tokens e candidate_count.
response = model.generate_content(
"Escreva um conto de duas frases sobre um robô que aprendeu a sentir saudade.",
generation_config=genai.types.GenerationConfig(
candidate_count=1,
max_output_tokens=100,
temperature=0.9,
top_p=0.5,
top_k=16
)
)
print(response.text)
- temperature: controla a aleatoriedade. 0.0 é determinístico, 1.0 é criativo.
- top_p: amostragem por núcleo (nucleus sampling).
- top_k: amostragem entre os k tokens mais prováveis.
- candidate_count: quantas respostas gerar (máximo 4).
Indo Além do Texto: Gemini Multimodal
Uma das maiores vantagens do Gemini em relação a concorrentes (como o GPT-4) é sua capacidade nativa de processar imagens, áudio e vídeo diretamente no prompt, sem precisar de pré-processamento complexo. O modelo gemini-1.5-flash e o pro já suportam essa multimodalidade.
Exemplo: Analisar uma imagem (URL)
Suponha que temos uma foto de um cachorro. Queremos que a IA descreva a raça e a emoção do animal.
import requests
from PIL import Image
# URL pública de uma imagem (ou carregue localmente)
image_url = "https://upload.wikimedia.org/wikipedia/commons/4/47/American_Eskimo_Dog.jpg"
img = Image.open(requests.get(image_url, stream=True).raw)
model = genai.GenerativeModel('gemini-1.5-flash')
response = model.generate_content(["Descreva o cachorro na imagem. Qual raça? Qual emoção parece estar demonstrando?", img])
print(response.text)
Resultado esperado: "A imagem mostra um cão de pelagem branca e densa, da raça American Eskimo Dog (Spitz Alemão). Ele parece feliz e brincalhão, com a língua para fora."
Exemplo: Processar áudio diretamente
Você pode enviar um arquivo de áudio (MP3, WAV, FLAC) e pedir para transcrever, resumir ou extrair informações. Basta usar o método correto de carregamento.
audio_file = genai.upload_file("audio_entrevista.mp3")
model = genai.GenerativeModel('gemini-1.5-flash')
response = model.generate_content(["Ouça este áudio e me dê um resumo dos principais tópicos discutidos.", audio_file])
print(response.text)
A API cuida do upload automático para o servidor do Google. Fantástico para criar aplicações de transcrição ou análise de reuniões.
Usando o SDK Python Além do Chat: Streaming e Histórico de Conversas
O SDK do Google Gemini oferece um objeto ChatSession para manter conversas com contexto. Mas você também pode usá-lo de forma mais granular, gerenciando o histórico manualmente.
Exemplo: Chat com memória
model = genai.GenerativeModel('gemini-1.5-flash')
chat = model.start_chat(history=[])
while True:
user_input = input("Você: ")
if user_input.lower() == 'sair':
break
response = chat.send_message(user_input)
print(f"Gemini: {response.text}")
O histórico é automaticamente armazenado na sessão. Extremamente útil para chatbots e assistentes.
Streaming para respostas em tempo real
Para reduzir a latência percebida, use streaming:
response = model.generate_content("Escreva um artigo curto sobre Python.", stream=True)
for chunk in response:
print(chunk.text, end="")
Segurança e Limites: O Que Você Precisa Saber
Ao usar a API gratuita do Google Gemini, existem limites de requisições por minuto (RPM) e tokens por minuto (TPM). O plano gratuito oferece 60 requisições por minuto e 1 milhão de tokens por minuto (no caso do Flash) – o que é bastante generoso. Para uso profissional, o Vertex AI oferece planos pagos com maior escalabilidade.
Além disso, a API possui filtros de segurança integrados que podem bloquear certos conteúdos. Você pode ajustar os limites de segurança via parâmetros safety_settings, mas isso requer configuração explícita.
Conclusão
A API do Google Gemini é uma ferramenta poderosa e acessível para desenvolvedores que desejam incorporar inteligência artificial generativa em seus projetos. Com suporte nativo a texto, imagem, áudio e vídeo, além de um SDK Python enxuto e documentado, ela se posiciona como uma alternativa viável – e em muitos aspectos superior – ao ecossistema da OpenAI.
Seja para criar chatbots, sistemas de análise multimídia, assistentes de código ou ferramentas de tradução, o Gemini oferece flexibilidade, escalabilidade e integração com o ecossistema Google Cloud. Comece hoje mesmo, explore a documentação oficial e veja até onde sua criatividade pode levar.
Lembre-se: o futuro da programação é conversacional e multimodal. E com o Gemini, esse futuro está ao alcance de algumas linhas de Python.