Neste post vamos aprender a construir um projeto em Python que se conecta à API do Gemini (Google DeepMind). O objetivo é criar uma aplicação simples que rode no terminal e permita fazer perguntas para a IA.
🖥️ Você pode acessar o código-fonte deste projeto em meu repositório no GitHub
🎯 O que você vai aprender
- Como organizar um projeto Python que consome uma API.
- Como usar variáveis de ambiente para proteger informações sensíveis (como a chave da API).
- Como criar uma classe para centralizar a comunicação com o Gemini.
- Como montar um menu simples para interagir com a IA pelo terminal.
🛠️ Estrutura do Projeto
Nosso projeto tem a seguinte organização:
📂 projeto_gemini
├── ai_client.py # Cliente que conversa com a API do Gemini
├── main.py # Aplicação principal (menu no terminal)
├── requirements.txt # Dependências
└── .env # Variável de ambiente com a API Key
📦 Instalando Dependências
Todas as bibliotecas estão listadas em requirements.txt.
As principais são:
- google-genai → para acessar o Gemini.
- python-dotenv → para carregar variáveis do
.env.
Instale com:
pip install -r requirements.txt
🔑 Configuração da API Key
Para usar a API, você precisa de uma chave fornecida pelo Google.
Essa chave deve ser armazenada no arquivo .env (nunca diretamente no código!):
.env:
API_KEY="sua_chave_aqui"
Esse valor é lido pelo programa em tempo de execução.
⚠️ Importante:
- Não compartilhe esse arquivo em repositórios públicos.
- Sempre use .gitignore para proteger seu .env.
🧩 O Cliente de IA (ai_client.py)
A classe PythonAI centraliza a comunicação com o Gemini:
from google import genai
class PythonAI:
def __init__(self, api_key, model="gemini-2.5-flash"):
self.client = genai.Client(api_key=api_key)
self.model = model
def ask(self, prompt):
prompt += " Responda em até 250 caracteres."
response = self.client.models.generate_content(
model=self.model,
contents=prompt
)
return response.text
O que está acontecendo aqui?
- Criamos um cliente (genai.Client) usando nossa chave de API.
- Definimos o modelo que vamos usar (gemini-2.5-flash).
- No método ask, enviamos a pergunta (prompt) e recebemos a resposta da IA.
- Limitamos a resposta a 250 caracteres para não ficar muito longa.
🎛️ A Aplicação Principal (main.py)
O main.py é responsável pela interação com o usuário.
Ele mostra um menu no terminal, onde é possível escolher entre fazer
uma pergunta ou sair do programa.
if __name__ == "__main__":
load_dotenv()
api_key = os.getenv("API_KEY")
if not api_key:
raise ValueError("Defina a variável API_KEY no .env")
app = Application(api_key=api_key)
app.menu()
Antes de rodar o menu, o código faz três coisas importantes:
- Carrega as variáveis de ambiente com
load_dotenv(). - Busca a chave da API usando
os.getenv("API_KEY"). - Valida se a chave existe — se não existir, o programa exibe um erro e não continua.
Somente depois disso o programa cria a aplicação (Application) e
inicia o menu.
Esse fluxo garante que só conseguimos interagir com a IA se a chave
estiver corretamente configurada.
class Application:
def __init__(self, api_key):
self.ai = PythonAI(api_key)
def menu(self):
print("Bem-vindo ao PythonAI!")
print("=========================")
while True:
print("Escolha uma das opções:")
print("1 - Perguntar para a AI.")
print("0 - Sair.")
print("=========================")
try:
op = int(input("Opção: "))
except ValueError:
print("Entrada inválida! Digite apenas números.")
continue
if op == 1:
prompt = input("Faça uma pergunta: ")
response = self.ai.ask(prompt)
print(response)
elif op == 0:
print("Até mais!")
break
else:
print("Opção inválida!")
print("=========================")
▶️ Executando o Projeto
Com tudo configurado, basta rodar:
python main.py
Exemplo prático:
Bem-vindo ao PythonAI!
=========================
Escolha uma das opções:
1 - Perguntar para a AI.
0 - Sair.
=========================
Opção: 1
Faça uma pergunta: Qual a capital da França?
Resposta: Paris.
📌 Conclusão e Próximos Passos
Esse projeto é um ponto de partida simples, mas poderoso. Você aprendeu a:
- Configurar um projeto Python com variáveis de ambiente.
- Criar um cliente de IA.
- Fazer uma aplicação de linha de comando para interagir com o Gemini.
👉 Possíveis evoluções:
- Criar uma versão web (com Flask ou Django).
- Construir uma interface gráfica (com Tkinter/PyQt).
- Integrar com chatbots em sites.