Como Começar a Desenvolver com a API do Google Gemini: Um Guia Prático

Se você é desenvolvedor, engenheiro de DevOps ou SRE, provavelmente já usou o Gemini (ou outro LLM) para tirar dúvidas, gerar um comando kubectl ou até mesmo para “debugar” um código.

Mas há uma grande diferença entre usar o chat e construir com o modelo por trás dele.

O verdadeiro poder para nós, desenvolvedores, está na API do Gemini. Ela permite que você integre o poder da IA generativa diretamente em seus aplicativos, scripts de automação e pipelines de CI/CD.

Neste guia prático, vamos parar de conversar com a interface web e começar a “dar ordens” via código. Vamos construir.

O que vamos cobrir:

  • API vs. Chat: A diferença crucial.
  • O Ambiente: Como obter sua chave de API gratuita no Google AI Studio.
  • O “Hello, World!”: Sua primeira chamada de API com Python (prompt de texto).
  • O “UAU!” da Multimodalidade: Fazer perguntas sobre imagens (ex: screenshots de erros).

Vamos focar no Google AI Studio, que é a forma mais rápida e direta de começar (e possui um free tier generoso). Deixaremos o Vertex AI (a plataforma enterprise) para outro dia.


1. Preparando o Ambiente: Sua Chave para a IA

Antes de escrever qualquer código, você precisa de uma chave de API.

  1. Acesse o Google AI Studio: Vá para aistudio.google.com.
  2. Faça login com sua conta Google.
  3. Obtenha sua Chave: No menu à esquerda, clique em “Get API key“.
  4. Crie uma Chave: Clique em “Create API key in new project“. Copie a chave gerada.

⚠️ Alerta de Segurança: NUNCA “hardcode” sua chave! Não coloque a chave direto no seu código. A melhor prática é usar variáveis de ambiente.

Em seu terminal (Linux/macOS), faça:

Bash

export GOOGLE_API_KEY='SUA_CHAVE_API_AQUI'

(No Windows, use set GOOGLE_API_KEY=SUA_CHAVE_API_AQUI)

Agora, vamos instalar o SDK do Google para Python:

Bash

pip install google-generativeai

2. “Hello, World!” com Gemini (Prompt de Texto)

Vamos fazer nossa primeira requisição. Crie um arquivo chamado app_texto.py.

Este script vai carregar sua chave de API do ambiente, se conectar ao modelo gemini-pro (ótimo para tarefas de texto) e fazer uma pergunta.

app_texto.py

Python

import google.generativeai as genai
import os

# Configura a API Key - Pega da variável de ambiente
try:
    genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
except KeyError:
    print("Erro: A variável de ambiente GOOGLE_API_KEY não foi definida.")
    exit(1)

# Inicializa o modelo
# Usamos 'gemini-pro' para prompts de texto simples
model = genai.GenerativeModel('gemini-pro')

# Pergunta que queremos fazer
prompt = "Qual comando 'kubectl' lista todos os pods em todos os namespaces?"

# Envia o prompt para o modelo
response = model.generate_content(prompt)

# Imprime a resposta
print("Sua pergunta:")
print(prompt)
print("-" * 30)
print("Resposta do Gemini:")
print(response.text)

Para rodar:

Bash

python app_texto.py

Resultado esperado:

Sua pergunta:
Qual comando 'kubectl' lista todos os pods em todos os namespaces?
------------------------------
Resposta do Gemini:
`kubectl get pods --all-namespaces`

ou

`kubectl get pods -A`

Simples assim! Você acabou de executar sua primeira integração. O objeto response contém outros metadados, mas response.text é o que queremos na maioria das vezes.


3. O Poder da Multimodalidade: Mais que Palavras

O grande diferencial do Gemini é ser multimodal. Ele entende texto, imagens, áudio e vídeo em um único prompt.

Vamos usar o modelo gemini-pro-vision para enviar uma imagem (como um screenshot de erro ou um gráfico) e fazer uma pergunta sobre ela.

Primeiro, instale a biblioteca Pillow para ajudar a manipular imagens:

Bash

pip install pillow

Agora, pegue uma imagem (ex: grafico.png ou erro.jpg) e coloque na mesma pasta. Crie o arquivo app_imagem.py.

app_imagem.py

Python

import google.generativeai as genai
import os
import PIL.Image  # Importa a biblioteca Pillow

# Configura a API Key
try:
    genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
except KeyError:
    print("Erro: A variável de ambiente GOOGLE_API_KEY não foi definida.")
    exit(1)

# Carrega a imagem do disco
try:
    img = PIL.Image.open('sua-imagem.jpg') # <-- TROQUE O NOME AQUI
except FileNotFoundError:
    print("Erro: Arquivo 'sua-imagem.jpg' não encontrado.")
    exit(1)

# Inicializa o modelo 'gemini-pro-vision'
model = genai.GenerativeModel('gemini-pro-vision')

# O prompt agora é uma LISTA:
# contendo o texto e a imagem
prompt_parts = [
    "O que este screenshot de erro está me dizendo? Seja técnico.",
    img,
]

# Envia o prompt multimodal
response = model.generate_content(prompt_parts)

print("Resposta do Gemini Vision:")
print(response.text)

Para rodar (depois de salvar uma imagem como sua-imagem.jpg):

Bash

python app_imagem.py

Imagine as possibilidades:

  • Enviar um screenshot de um dashboard do Grafana e perguntar: “Quais métricas estão anômalas?”
  • Enviar um log de erro e perguntar: “Qual a causa raiz provável?”
  • Enviar um diagrama de arquitetura e pedir: “Gere um template de Terraform para esta infra.”

4. Casos de Uso Práticos para Devs e DevOps

Agora que você sabe o como, aqui estão algumas ideias para o porquê. Você pode usar essa API para:

  • Automação de Ops: Criar um bot de Slack que recebe um log de erro, envia para a API do Gemini e responde com a sugestão de correção.
  • Geração de Configs: “Gere um Dockerfile otimizado para uma aplicação Flask.”
  • Geração de Testes: “Dado este bloco de código Python, escreva os testes unitários (pytest) para ele.”
  • Revisão de Código (PRs): Integrar com um GitHub Action para fazer um “primeiro review” em um Pull Request, buscando por bugs comuns ou código “smells”.
  • Análise de Logs: “Dado este log de 500 linhas do Nginx, resuma os 3 erros mais comuns.”

Conclusão: Qual o Próximo Passo?

Hoje, você foi de um usuário do Gemini para um desenvolvedor com o Gemini.

Você aprendeu a configurar seu ambiente, obter uma chave de API, fazer um prompt de texto simples e, o mais importante, usar o poder da multimodalidade para analisar imagens.

O próximo passo é pegar um problema real do seu dia a dia. Aquela tarefa manual chata? Aquele log que você nunca entende de primeira? Tente automatizá-lo ou analisá-lo com a API.

O que você vai construir? Deixe nos comentários!