Este projeto implementa uma Arquitetura Híbrida para extração de dados de livros, combinando fontes gratuitas e APIs de Inteligência Artificial (Gemini) para otimizar custos e garantir a precisão dos dados.
A arquitetura adota a Separação de Responsabilidades (SoC) para minimizar o uso do LLM (alto custo) e maximizar a precisão dos dados canônicos.
| Fase | Objetivo | Fonte Principal | Racional |
|---|---|---|---|
| Fase 1: Estática (Metadados) | Extrair Título, Autor, Editora (Dados Canônicos). | Google Books API (GBA) | Custo Zero e alta precisão para dados estáveis. |
| Fase 2: Dinâmica (Preços) | Extrair APENAS Preço Sem Desconto e Preço Com Desconto (Dados Voláteis). |
Gemini 2.5 Flash + Google Search Grounding | Uso estrito do LLM para a tarefa mais complexa (busca em tempo real). |
O arquivo principal é extrator_livros.py. A automação depende de três arquivos de suporte para rodar.
| Arquivo | Descrição | Exemplo/Detalhe |
|---|---|---|
requirements.txt |
Lista as dependências Python (requests, python-dotenv, tabulate). |
Deve ser instalado via pip install -r requirements.txt. |
.env |
Armazena a chave de API de forma segura (Variável de Ambiente). | Formato obrigatório: GEMINI_API_KEY="SUA_CHAVE_AQUI". |
input_eans.csv |
Lista os códigos de livros para processamento. | Deve conter a coluna ISBN (ou EAN) e um código por linha. |
- Instale Python 3 (se ainda não o fez).
- Instale as dependências listadas no
requirements.txt:pip install -r requirements.txt
- Obtenha sua chave de API do Gemini em Google AI Studio (ou similar).
- Crie e configure a Chave de API no arquivo
.env.
Após a configuração, a execução do script é feita no terminal:
- Preencha os códigos EAN/ISBN no arquivo
input_eans.csv. - Execute o script principal:
python extrator_livros.py
- O resultado será formatado e exibido diretamente no terminal.
Para entender o racional e as regras de contribuição, consulte os arquivos de documentação detalhados:
- ARCHITECTURE.md: Detalha o fluxo das Fases 1 e 2, e as regras críticas de uso da Gemini API (modelo, prompts e grounding).
- DECISION_RECORD.md: Histórico das decisões tomadas (ADR), como a migração para a Arquitetura Híbrida (ADR 001) e o Contrato de Falhas (ADR 003).
- CONTRIBUTING.md: Guia rápido para novos colaboradores com foco nas regras de otimização de custos e estabilidade do pipeline.
O projeto está pronto para sua próxima grande fase: persistência de dados. O objetivo é implementar uma função de exportação para o Google Sheets usando a biblioteca gspread, configurando uma Conta de Serviço (Service Account) para autenticação segura.