Repositório de aprendizado prático desenvolvido durante cursos e bootcamps na plataforma DIO (Digital Innovation One). Reúne projetos, desafios de código e experimentos nas áreas de Machine Learning, IA Generativa, Engenharia de Dados e Ciência de Dados.
| # | Curso / Bootcamp | Foco Principal |
|---|---|---|
| 01 | Fundamentos de ML e GenAI | Reconhecimento de fala, transcrição com IA |
| 02 | Bootcamp Bradesco: GenAI e Dados | GenAI, SQL, estruturas de dados, agentes inteligentes |
| 03 | Bootcamp TOTVS: Engenharia de Dados e ML | ETL, MongoDB, redes neurais, cloud |
| 04 | Bootcamp Neo4j: Análise de Dados com Grafos | Neo4j, Cypher, grafos, GenAI, embeddings |
| 05 | Machine Learning Specialist | (em andamento) |
Objetivo: Entender como computadores compreendem a linguagem humana por meio de modelos de IA.
📁 fundamentos-ml-genai/exemplo-python-transcrever-audio-ia/
- Transcrição de áudio em tempo real com Google Speech Recognition
- Reconhecimento de comandos de voz para automação de tarefas no sistema operacional
- Integração com a API do Google Speech (
pt-BR)
Python SpeechRecognition PyAudio
Objetivo: Construir soluções práticas com IA Generativa, banco de dados relacional e estruturas de dados em Python.
📁 bradesco-genai-dados/
📁 bradesco-genai-dados/ml-genai-chatgpt-whisper-python/
Pipeline completo de interação por voz com IA:
Microfone → Whisper (STT) → ChatGPT → gTTS (TTS) → Reprodução de áudio
| Etapa | Tecnologia |
|---|---|
| Gravação de áudio | sounddevice + scipy |
| Transcrição (Speech-to-Text) | openai-whisper (local) |
| Geração de resposta | openai API — gpt-3.5-turbo |
| Síntese de voz (Text-to-Speech) | gTTS (Google) |
| Reprodução de áudio | winsound (Windows) |
Configuração:
cd bradesco-genai-dados/ml-genai-chatgpt-whisper-python
cp .env.example .env # adicione sua OPENAI_API_KEY
pip install -r requirements.txt
python main.py
⚠️ Requerffmpeginstalado:choco install ffmpeg(Windows)
📁 bradesco-genai-dados/excel-ao-sql/
- Modelagem e criação de banco de dados relacional
- Manipulação de dados com SQL (DDL, DML, consultas avançadas)
- Processo ETL com Power Query (Excel → banco de dados)
- Geração de schema com auxílio de IA Generativa
📁 bradesco-genai-dados/python-estruturas-dados/
Módulo completo de estruturas de dados com exemplos práticos em Jupyter Notebook e desafios de código em múltiplas linguagens.
| Módulo | Conteúdo |
|---|---|
01-listas/ |
Criação, fatiamento, métodos, compreensão de listas |
02-tuplas/ |
Imutabilidade, desempacotamento, uso prático |
03-conjuntos/ |
Operações de conjunto, deduplicação |
04-dicionarios/ |
Acesso, iteração, dicionários aninhados |
05-funcoes/ |
Funções, parâmetros, escopo, lambdas |
Desafios de código implementados em 5 linguagens:
| Desafio | Python | Java | C# | JavaScript | Kotlin |
|---|---|---|---|---|---|
| Corretora de valores | ✅ | ✅ | ✅ | ✅ | ✅ |
| Saldo diário bancário | ✅ | — | — | — | — |
| Remoção de duplicatas | ✅ | — | — | — | — |
| String maiúsculas | ✅ | — | — | — | — |
📁 bradesco-genai-dados/notebook-lm/
Experimento com a plataforma Google NotebookLM para criar uma base de conhecimento sobre a metodologia de investimentos de Benjamin Graham.
- 🔗 Notebook no NotebookLM
- 🗺️ Mapa mental gerado com IA
- 📄 Apresentação resumo: Investimento Inteligente — Filosofia e Prática
Fork do projeto oficial da DIO: construção de um agente inteligente para o setor financeiro.
Objetivo: Construir base sólida em Python, banco de dados, ETL e cloud, evoluindo até Machine Learning aplicado a desafios reais de mercado.
📁 totvs-fundamentos-eng-dados-e-ml/
📁 totvs-fundamentos-eng-dados-e-ml/analise-dados-excel-copilot/
- Dashboard de vendas Xbox construído no Excel com auxílio do Microsoft Copilot
- Aplicação do método ABCDE para priorização e tomada de decisão
📁 totvs-fundamentos-eng-dados-e-ml/fundamentos-e-tecnicas-de-ml/
| Notebook | Conteúdo |
|---|---|
01_exemplo_estruturas_simples.ipynb |
Estruturas condicionais e de repetição em Python |
02_codigo_python_para_ML.ipynb |
Regressão linear com scikit-learn e matplotlib |
03_rede_neural_do_zero.ipynb |
Rede neural com PyTorch treinada no dataset MNIST |
Arquitetura da rede neural (MNIST):
Input (784) → Linear(128) → ReLU → Linear(64) → ReLU → Linear(10) → LogSoftmax
Otimizador: SGD | Loss: NLLLoss | Epochs: 10
📁 totvs-fundamentos-eng-dados-e-ml/introducao-bd-relacionais-etl/
| Arquivo | Descrição |
|---|---|
02_exemplos_com_mongodb_in_python.py |
CRUD completo no MongoDB com pymongo |
03_fundamentos_de_etl_com_python.py |
Pipeline ETL com Luigi e pandas |
desafio_etl_simples_para_processamento_vendas.py |
ETL de vendas com parsing de entrada |
desafio_transform_etl_de_nomes_para_processos_empresariais.py |
Transformação e normalização de strings |
Pipeline ETL com Luigi:
ExtractTask → TransformTask → LoadTask
(raw_data.csv) → (transformed_data.csv) → (final_data.csv)
MongoDB via Docker:
cd totvs-fundamentos-eng-dados-e-ml/introducao-bd-relacionais-etl
docker-compose up -d📁 totvs-fundamentos-eng-dados-e-ml/introducao-bd-relacionais-etl/desafio-explorando-genAI-etl-python/
Pipeline ETL que integra IA Generativa local (Ollama + LLaMA 3.1) para geração de mensagens de marketing personalizadas:
CSV (UserIDs) → JSON (dados clientes) → LLaMA 3.1 (mensagem personalizada) → JSON atualizado
📁 totvs-fundamentos-eng-dados-e-ml/nocoes-computacao-em-nuvem/
Estudo de caso: proposta de redução de custos de infraestrutura para uma rede de farmácias utilizando serviços AWS.
📁 totvs-fundamentos-eng-dados-e-ml/introducao-ciencia-de-dados-e-python/
- Desafio de decisão automática para aprovação de pedidos com lógica condicional
- Exercícios com operadores estruturais e condicionais
Objetivo: Dominar bancos de dados de grafos com Neo4j, desde a modelagem e consultas Cypher até integrações com Python e IA Generativa, aplicados a casos reais como sistemas de recomendação, análise de redes sociais e busca semântica.
📁 neo4j-analise-de-dados-grafos/
📁 neo4j-analise-de-dados-grafos/fundamentos-de-Neo4j/desafio-modelagem-grafos-servico-streaming/
Modelagem de um serviço de streaming de filmes e séries com banco de dados de grafos, focando em relacionamentos para construção de um sistema de recomendação.
| Entidade (nó) | Relacionamentos |
|---|---|
User, Movie, Series |
WATCHED (com propriedade rating) |
Genre, Actor, Director |
ACTED_IN, DIRECTED, IN_GENRE |
Scripts Cypher implementados: CREATE, MATCH e MERGE com mapeamento completo de nós e arestas.
📁 neo4j-analise-de-dados-grafos/primeiros-passos-com-cypher-e-neo4j/desafio-algoritmo-de-recomendacao-musicas/
Sistema de recomendação de músicas baseado em grafos com três estratégias complementares:
(Usuario) --[ESCUTA]--> (Musica) <--[LANCA]-- (Artista) --[PERTENCE_A]--> (Genero)
(Usuario) --[CURTE]---> (Musica)
(Usuario) --[SEGUE]---> (Artista)
| Estratégia | Descrição |
|---|---|
| Filtragem colaborativa | Músicas ouvidas por usuários com gostos similares |
| Por artistas seguidos | Músicas de artistas seguidos ainda não ouvidas |
| Por gênero curtido | Músicas do mesmo gênero das curtidas pelo usuário |
Stack: Python Neo4j python-dotenv NetworkX Matplotlib
📁 neo4j-analise-de-dados-grafos/modelagem-BD-baseados-em-grafos/desafio-analise-dados-redes-sociais-base-consultas-de-grafos/
Protótipo funcional de análise de rede social respondendo a perguntas complexas sobre interações entre usuários.
| Relacionamento | Tipo | Descrição |
|---|---|---|
SEGUE |
Direcionado | Usuário A segue usuário B |
AMIGO_DE |
Bidirecional | Amizade mútua |
CURTIU |
Direcionado | Usuário A curtiu publicação de B |
Consultas Cypher implementadas:
- Identificação do público-alvo por propriedades demográficas
- Mapeamento de todos os relacionamentos do grafo
- Cálculo do caminho mais curto com
shortestPath - Detecção de amizades em comum via padrão triangular
Stack: Python Neo4j python-dotenv NetworkX Matplotlib
📁 neo4j-analise-de-dados-grafos/integracoes-inteligentes-com-neo4j/
| Notebook/Arquivo | Conteúdo |
|---|---|
integracao_neo4j_python.ipynb |
CRUD com GraphDatabase, constraints de unicidade, cadastro interativo de usuários (Player) |
desafio-entendendo-grafos-rotas-e-relacoes-python/ |
Exploração de rotas e relações em grafos com Python |
📁 neo4j-analise-de-dados-grafos/solucoes-neo4j-e-genAI/
Arquitetura do pipeline de busca semântica:
Texto → SentenceTransformer (all-MiniLM-L6-v2) → Embedding vetorial
→ Neo4j Vector Index → Busca por similaridade de cosseno → Recomendações
Stack: Python Neo4j sentence-transformers python-dotenv
# Clonar o repositório
git clone https://github.com/Ramon-Az/Dio.git
cd Dio
# Criar e ativar ambiente virtual
python -m venv venv
venv\Scripts\activate # Windows
source venv/bin/activate # Linux/macOS
# Instalar todas as dependências
pip install -r requirements.txtPara projetos específicos, consulte os comentários no
requirements.txt.
Dio/
├── fundamentos-ml-genai/
│ └── exemplo-python-transcrever-audio-ia/
├── bradesco-genai-dados/
│ ├── excel-ao-sql/
│ ├── ml-genai-chatgpt-whisper-python/
│ ├── notebook-lm/
│ └── python-estruturas-dados/
├── totvs-fundamentos-eng-dados-e-ml/
│ ├── analise-dados-excel-copilot/
│ ├── fundamentos-e-tecnicas-de-ml/
│ ├── introducao-bd-relacionais-etl/
│ ├── introducao-ciencia-de-dados-e-python/
│ └── nocoes-computacao-em-nuvem/
├── neo4j-analise-de-dados-grafos/
│ ├── fundamentos-de-Neo4j/
│ ├── primeiros-passos-com-cypher-e-neo4j/
│ ├── modelagem-BD-baseados-em-grafos/
│ ├── integracoes-inteligentes-com-neo4j/
│ └── solucoes-neo4j-e-genAI/
└── michine-learne-specialist/
Este repositório é de uso educacional. Os projetos foram desenvolvidos como parte de cursos e bootcamps da plataforma DIO.
