Este projeto foi desenvolvido para o hackathon do Google, com o objetivo de demonstrar o uso avançado do BigQuery AI para processar e analisar dados não estruturados de múltiplas fontes (PDFs, imagens, áudios, logs de chat). A solução combina três abordagens principais:
- AI Architect (Generative AI) - Processamento e geração de conteúdo com modelos de linguagem
- Semantic Detective (Vector Search) - Busca semântica usando embeddings vetoriais
- Multimodal Pioneer (Object Tables) - Indexação e análise de dados multimodais
├── program/
│ ├── data/ # Dados de exemplo e testes
│ ├── notebooks/ # Notebooks de implementação
│ │ └── main_implementation.ipynb # Notebook principal
│ └── bq-sql/ # Scripts SQL estruturados
│ ├── 00_schemas.sql # Criação de schemas e controle
│ ├── 01_object_tables.sql # Ingestão multimodal
│ ├── 02_extract.sql # Extração de texto
│ ├── 03_chunking.sql # Chunking inteligente
│ ├── 04_embeddings.sql # Geração de embeddings
│ ├── 05_search_proc.sql # Busca semântica
│ ├── 06_generate_actions.sql # Sumarização estruturada
│ ├── 07_sched_queries.sql # Operações programadas
│ ├── 08_metrics_views.sql # Métricas e monitoramento
│ ├── 09_evals_guardrails.sql # Avaliação e guardrails
│ └── 10_demo_script.sql # Demonstração completa
├── samples/ # Exemplos do Google Cloud
├── evaluation/ # Critérios de avaliação
├── README.md # Documentação principal
├── implantação.md # Instruções de implantação
└── Plano.md # Planejamento do projeto
- Sumarização automática de documentos PDF
- Análise de sentimentos em logs de chat
- Classificação automática de conteúdo
- Extração de palavras-chave e temas
- Geração de embeddings para imagens e áudios
- Análise combinada de texto e conteúdo visual
- Indexação de múltiplos formatos de arquivo
- Busca cruzada entre diferentes tipos de mídia
- Criação de índices vetoriais para busca eficiente
- Consultas em linguagem natural
- Ranking de resultados por relevância semântica
- Agrupamento de conteúdo relacionado
- Relatórios executivos automatizados
- Detecção de padrões e tendências
- Métricas de impacto e performance
- Recomendações baseadas em dados
-
Google Cloud Platform
- BigQuery (principal plataforma de análise)
- Vertex AI (modelos de linguagem e embeddings)
- Cloud Storage (armazenamento de arquivos)
-
BigQuery AI Functions
- AI.GENERATE / AI.GENERATE_TABLE
- ML.GENERATE_EMBEDDING
- VECTOR_SEARCH
- OBJECT_REF e Object Tables
- Conta no Google Cloud Platform
- Projeto GCP configurado
- APIs necessárias ativadas:
- BigQuery API
- Vertex AI API
- Cloud Storage API
- BigQuery Connection API
- Configure o ambiente GCP seguindo as instruções em
implantação.md - Ative as APIs necessárias:
- BigQuery API
- Vertex AI API
- Cloud Storage API
- BigQuery Connection API
# Execute o script completo em program/bq-sql/10_demo_script.sql
# Este script demonstra todo o pipeline automaticamenteExecute os scripts SQL em ordem:
- Configuração:
program/bq-sql/00_schemas.sql - Ingestão:
program/bq-sql/01_object_tables.sql - Extração:
program/bq-sql/02_extract.sql - Chunking:
program/bq-sql/03_chunking.sql - Embeddings:
program/bq-sql/04_embeddings.sql - Busca:
program/bq-sql/05_search_proc.sql - Sumarização:
program/bq-sql/06_generate_actions.sql
# Use o notebook program/notebooks/main_implementation.ipynb
# para uma experiência interativa com explicações detalhadas-- Buscar problemas similares
CALL `seu-projeto.ei_ops.search_similar`('impressora offline', 5);-- Gerar resumo estruturado
CALL `seu-projeto.ei_ops.search_and_summarize`('problema de rede', 5, GENERATE_UUID());-- Ver métricas de performance
SELECT * FROM `seu-projeto.ei_ops.v_latency`;
-- Ver custos
SELECT * FROM `seu-projeto.ei_ops.v_job_costs`;- Scheduled Queries: Configure as queries programadas usando
program/bq-sql/07_sched_queries.sql - Monitoramento: Configure alertas baseados nas views em
program/bq-sql/08_metrics_views.sql - Guardrails: Implemente validações usando
program/bq-sql/09_evals_guardrails.sql
Este projeto atende a todos os critérios do hackathon:
- Implementação Técnica (35%): Uso avançado do BigQuery AI
- Inovação/Criatividade (25%): Solução abrangente para dados não estruturados
- Demo/Apresentação (20%): Notebooks e documentação clara
- Artefatos (20%): Código público e documentação completa
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.
Para mais informações, entre em contato através do GitHub.