Acelere o seu aprendizado com IA GenerativaOrigem da Inteligência Artificial
1950 - Alan Turing - Filme: O Jogo da Imitação
Questionamento: Quando os computadores serão capazes de imitar os seres humanos de maneira tão precisa que se torne impossível distinguir entre ambos?
Teste Jogo da Imitação
Em uma sala haveria apenas você e um computador. Em outra sala poderia haver ou não uma outra pessoa falando com você. No final do experimento o intuito era responder se estava conversando com um humano ou uma máquina. Isso permitiu ele conjunto de conversas de perguntas e repostas, muitas padronizações eram comuns.
1956 - John McCarthy - em uma conferência citou Inteligência Artificial, consulta de perguntas e respostas baseado nas análise das coletas de dados uma "inteligência imitada". Artificial significa montada para parecer ser aquilo, não é real é uma simulação.
1966 - Joseph Weizenbaum - primeiro chatbot do mundo conhecido como Eliza. Processamento de linguagem natural por meio de substituição de palavras por padrão. Exemplo: teclado autocomplete do celular. Conforme conversava aumentava o dicionário de repertório de Eliza por meio do Machine Learning = Aprendizado de Máquina.
1972 - Parry foi criado pelo Kenneth Colby projeto realizado pela Universidade de Stanford. A máquina sempre começa com pouco vocabulário depois ao ser enriquecida criasse o Modelo de Linguagem.
IBM lançou a IBM Watson sistema de treinamento de modelo de linguagem com o tipo de vocabulário com o tipo de conversa. Aprimorando o PNL - processamento de linguagem natural. Computador passou a ter uma enciclopédia de dados e permitir a comunicação entre o computador e o ser humano pela linguagem natural.
2018 - criação do ChatGPT, captura de alta gama de informações na internet antes privado agora público,
Machine Learning
A máquina não sabe o que é uma maça. Ela não guarda a imagem da maça para saber identifica-la. O que ela guarda são Parâmetros de Reconhecimento daquilo que são "tokens" ele pega os padrões daquilo e são mais estatísticos de probabilidade.
Semelhante a quando somos pequenos, não entendemos as coisas e depois que assimilamos ao repetir e saber mais que reconhecemos o que é. Quanto maior os parâmetros melhor a qualidade do resultado. Existem Modelos Especialistas, como nesse caso foi apenas o de maça. Ele não sabe o que é cadeira ou uma pera. Apenas em maças pois são focadas nisso. O efeito de estar comunicado com elas vai deixando o vocabulário delas maior e ela vai conseguir falar com você melhor criando um Grande Modelo de Linguagem (Large Language Model - LLM) e existem também SLM (Small Language Models). Existem esses modelos já treinados por outras pessoas Open source.
Deep Learning
Te mostro uma revista de Pokémon, ao ver você associa outras coisas relacionadas a revista. Lembranças de infância, nostalgia, lembrado de algum jogo de vídeo game, coleção de cartas. Acontece que não te mostrei uma nostalgia, não te mostrei um vídeo game ou cartas. Você montou isso dentro da sua cabeça através de conexões neurais. Exemplo uma música, um cheiro ou um lugar que faz lembrar daquela pessoa ou filme. Tem coisas que apenas para nós aquilo vai fazer sentido. Fazemos uma rede de conexões neurais que não necessariamente são lógicas. São inputs que não foram diretamente declarados eles foram inferidos.
"Inferência é um processo de raciocínio no qual se chega a uma conclusão, ou seja, a um conhecimento desconhecido, a abrir de premissas ou observações que são consideradas verdadeiras"
Nós seres humanos vai muito além ao mostrar uma revista Pokémon se mostrasse isso a máquina, então como iriamos simular isso?
Para isso foram criados os neurônios artificiais. Exemplo: Filme lembra um sentimento que lembra outras reflexões, ou lembra uma pessoa que também lembra outras lembranças.
Quando fazemos uma pergunta a inteligência artificial também busca outros contextos relacionados a aquilo. O Deep Learning são conhecimentos mais profundo que são conectadas com outras coisas e vai ter o efeito de rede.
Inteligência Artificial Generativa, Generative AI, Gen AI
Algo de criar ou produzir algo novo, IA estava no foco de identificar, encontrar padrões. Agora a inteligência Artificial não reconhece apenas coisas, mas sim consegue criar novas, ou seja, tem a capacidade Generativa. Atualmente a IA são Multimodal, capazes de entender e criar com texto, músicas, imagem, vídeos, áudios. Tem jogos, livros, sites sendo escritos por Gen IA por meio do Vibe Coding/Writing, basicamente desenvolvendo algo em conjunto com a IA.
Tem profissões que não existiam a um tempo atrás e que agora existe como Engenheiros de Prompt, especialistas em escrever prompts com contexto completos e gerar algo novo. Agora temos Cibersegurança + AI profissionais forenses através de estudos de marca d'água ocultas, padrões de movimento e comunicação. Existem pessoas escrevendo e-books, livros de colorir e vendendo na Amazon sem saber se foi gerado pelo Artista ou por IA. Possibilitando ser um automatizador de processos, criando Agentes de IA para criar o núcleo de uma empresa mais completa.
A pergunta que fica é: O que você vai construir agora que você tem o poder ilimitado nas suas mãos? A única limitação é a sua imaginação.
LLMs - São inteligências artificiais treinadas para entender, gerar e manipular linguagem natural em diversos contextos. Como se fosse o Sheldon em versões melhoradas associado um elemento em vários outros contextos. Grande capacidade de lidar vários contextos fora do seu ambiente natural, treinados com grande quantidade de dados com capacidade de generalização e escalabilidade. Eles analisam contextos e padrões ao retornar a mensagem, ele também pode ser multitarefa respondendo concomitantemente cada questionamento ou tarefa a ser executada.
Exemplo de ChatBots: ChatGPT oferecido pela OpenAi, Microsoft Copilot, Bing Chat oferecido pela Microsoft e Bard oferecido pelo Google.
Em especial, a OpenAI possui uma documentação extremamente robusca incluino API (Opção no Postman https://www.postman.com/devrel/openai -> opção de Create Fork). Documentação: https://platform.openai.com/docs
Exemplo Geração de Imagens: Bing Image Creator, Leonardo AI, Midjourney. Essas IAs se baseiam em um conceito chamado Stable Diffusion, forma de treinar os modelos para que eles sejam artistas. A própria OpenAI também tem o DALI.
Exemplo dentro do VSCode: Github Copilot.
Exemplo IAs de Fala e Avatares Virtuais: sintetização de voz como Eleven Labs, avatares virtuais como D-ID ou HeyGen.
Exemplo formação de slides: Gamma.app
O alto consumo de energia dos LLMs tem impacto ambiental e financeiro significativo.
Outras aplicações: BERT (IA da Google), Cloud (focado em segurança e ética), Lama (IA da Meta), Ministrol, Gemini, Palme, Falcon...
Programação assistida usando assistentes como Github Copilot, AMazon CodeWhisper, Tab9 ajudam desenvolvedores a escerver códigos de forma mais rápida e eficiente.
Treinamento da IA, exemplo chatbot, onde você o prepara para gerar de acordo com os inputs do cliente em cenários do seu dia-a-dia de acordo com o seu modelo de negócio.
Ao criar novo conteúdo sempre vai ter uma ideia de roteiro, chamada de marketing e a IA pode ajudar a gerar conteúdos.
Engenharia de Prompts - Quando fizer um pedido para pizzaria querendo uma pizza, ele vai fazer outras perguntas pois seu pedido não foi bem detalhado. É aí que a engenharia de prompts entra. Ao escrever um e-mail para um cliente, ele validar um e-mail generalizado podendo não atender a sua necessidade para algo específico. De generalizado ser específico, quanto mais claro e específico melhor o resultado da IA. Prompts são instruções/comandos que você dá para a IA e a engenharia formula esses prompts de forma eficaz para obter a resposta que realmente precisa.
https://platform.openai.com/tokenizer
Converte o texto em sequência de tokens, unidade básica que podem ser palavras, partes de palavras ou caracteres. A quantidade de Tokens varia de acordo com o modelo e o idioma que ele está processando. Tokens são convertidos em baggings que são representações vetoriais que capturam o seu significado após isso passa por camadas de redes neurais transformadores e o modelo aplica essas operações para entender o contexto. Então o modelo gera uma distribuição de probabilidades para tentar prever o próximo token.
Como os modelos lembram do que foi dito? De maneira geral não entendem o que foi dito após terminar a interação, porém conseguem manter o contexto por meio da "janela de contexto" que é um limite de tokens que o modelo pode processar simultaneamente. Cada modelo possui uma janela de contexto diferente, quando o limite de tokens são atingidos, os antigos são descartados para os novos. Como se fosse uma lousa na sala de aula, após estar cheio de informações apaga para dar lugar as novas informações. Exemplo: "O que é uma manga?Explique.", ele vai dar uma resposta genérica. "O que é suco?" ele vai entender que está relacionado a bebida. Ao perguntar novamente ""O que é uma manga? Explique" ele vai dar mais informações sobre a bebida.
Elementos essenciais de um bom prompt: instrução clara sem ambiguidades. Instrução Inicial (Ação que deseja), Contexto Adequado (Enriquecer instrução), Exemplos (Estilos como referência), Dados de Entrada (Entidades essenciais) e Formato da Saída (Especificar o formato de texto, imagem ou determinar limites).
Possibilidade de criar prompts em diferentes contextos seja para criar conteúdo para rede social, revisão de textos, etc... Espero que esteja motivado em explorar cada vez mais essa capacidade de modelos de linguagem.
Exemplo te uso que poderia usar no cotidiano:
Exemplo 1: Planejamento de Metas Pessoais
Template
Crie um plano detalhado de desenvolvimento pessoal para os próximos [período de tempo] considerando as seguintes características:
Foco: [área de interesse ou hobby]
Objetivos: [objetivos específicos]
Limitações de tempo: [disponibilidade semanal ou diária)
Recursos financeiros: [orçamento disponível]
Estruture o plano com:
1. Metas especificas e mensuráveis.
2. Recursos de aprendizado dentro orçamento disponível.
3. Cronograma semanal adaptado à disponibilidade.
4. Métricas de acompanhamento para medir o progresso.
5. Identificação de possíveis obstáculos e estratégias de superação.
Exemplo 2: Preparação para Entrevistas de Emprego
Preparação para entrevistas de emprego com simulação de entrevista, análise de perguntas, estratégias de resposta e identificação de pontos de melhoria.
Template
Simule una entrevista de emprego para o cargo de [cargo desejado], considerando:
- Perfil: [perfil profissional, experiência e qualificações)
-Descrição da vaga: [detalhes do cargo, como responsabilidades, habilidades e qualificações necessárias)
- Empresa: [tipo de empresa, seter ou foco principal)
Nivel de senioridade: [nivel de experiência esperado)
Passo 1: Pergunta Inicial
Pergunte a primeira pergunta mais provável de ser feita na entrevista.
Passo 2: Resposta do Usuário 2.
O usuário responde à pergunta
Passo 3: Feedback 3.
Após cada resposta do usuário, forneça feedback detalhado sobre a resposta: O que foi bom.
O que pode ser melhorado.
Sugestões para aprimorar a resposta com exemplos contextualizados.
Dicas de como melhorar ainda mais a performance na entrevista.
Passo 4: Continuar com as Perguntas 4.
Continue o processo, fazendo uma pergunta por vez e oferecendo feedback após cada resposta.
Para as instruções damos aos modelos são consideradas: Prompts Enviesados, Alucinações, Considerações Éticas e Privacidade Segurança. Profissionais das áreas de segurança com a IA implementar práticas alinhado a princípios como Imparcialidade, Confiabilidade, Segurança, Privacidade, Inclusão, Transparência e Responsabilidade.
Algumas dicas: Não façam perguntas que possam fabricar dados, tenha algum conhecimento do assunto que você quer saber; Se possível forneça um knowledge base ()
Exploração de outros conceitos como Técnicas de Engenharia de Prompts e Parâmetros de Inferência, configurações de referência que influenciam a maneira como o modelo gera previsões ou respostas.
Componentes de um Prompt Eficaz
Instruções: Orientam o modelo sobre a tarefa a ser realizada, como "Resuma o texto abaixo em três frases objetivas".
Exemplos (Few-shot Learning): Apresentam pares de entrada e saída esperados, ensinando o modelo um comportamento ou formato ideal. Onde o prompt fornece exemplos para guiar a resposta.
Contexto ou Configuração: Define o papel do modelo (persona) e o cenário para simplificar explicações técnicas, por exemplo, "Você é um assistente de IA que simplifica explicações técnicas para iniciantes em tecnologia".
Restrições ou Limitações: Limitam a resposta em termos de extensão ou escopo, como "Responda em até 50 palavras, sem incluir opiniões ou dados fictícios".
Conteúdo Principal: O texto central para processamento, como um parágrafo ou documento, que o modelo deve analisar, traduzir ou resumir.
Indicações: Guiam o modelo para gerar saídas específicas, usando estímulos como "Liste pontos principais" ou "Responda como um parágrafo único".
Formato de Saída: Especifica a forma da resposta, como "Apresente no formato JSON" ou "Liste os resultados como uma sequência de tópicos claros".
Conteúdo de Suporte: Dados extras que auxiliam na tarefa, como datas ou preferências, por exemplo, "Use o contexto atual de dezembro de 2024 nas respostas".
A imagem fornecida ilustra várias técnicas de engenharia de prompt, que é o processo de estruturar instruções para modelos de linguagem de IA (como o ChatGPT) a fim de obter respostas mais precisas e relevantes.
Instruções Claras: Garantir que as orientações sejam objetivas, detalhadas e colocadas no início do prompt para maior clareza.
Preparar a Saída: Definir palavras ou frases no final do prompt que ajudem a moldar o formato da resposta, tornando-a mais estruturada e clara.
Solicitação de Cadeia de Pensamento (Chain-of-Thought): Instruir o modelo a responder passo a passo, explicando o raciocínio até chegar à conclusão final, o que melhora a capacidade de resolver problemas complexos. Prompt do tipo zero-shot, ele não fornece exemplos e é útil quando o modelo deve generalizar com base apenas na instrução.
Especificar Estrutura de Saída: Indicar o formato exato da resposta, como JSON ou listas, para obter resultados organizados.
Guardrails: Técnicas para limitar respostas, evitando conteúdos prejudiciais, irrelevantes ou incorretos, alinhando o modelo a padrões éticos e garantindo a segurança e reprodutibilidade do sistema.
Adicionar Sintaxe Clara: Organizar o prompt com formatações como listas, títulos ou tabelas, tornando as instruções mais visuais e compreensíveis.
Dividir a Tarefa: Quebrar uma tarefa complexa em várias etapas menores, facilitando para o modelo responder de forma lógica e organizada.
Repetir Instruções no Final: Reforçar as orientações no final do prompt para garantir que o modelo compreenda e siga a tarefa proposta sem desvios.
Ajude a criar uma proposta de conteúdos chamado "TecHikari". Um empresa de desenvolvimento de sites. O conteúdo será onde o público tomam decisões para aplicar no cotidiano e se manterão informados de assuntos relacionando 5 principais: Tecnologia, Educação, Política, Meio Ambiente e Saúde. Quero que inclua informações unindo as características do Japão e o Brasil, monetizar o meu conteúdo em redes sociais. O conteúdo deve incluir:
- Uma introdução ao conteúdo
- Os principais assuntos
- Uma descrição do público-alvo
---
Lembre-se, após a geração revise a proposta de "TecHikari" para garantir que inclua todas as seções: introdução, assuntos e público alvo.
---
Certifique-se de que a proposta seja prática e simples de implementar para o cotidiano. Evite assuntos complexos ou irreais.
Organize a proposta no seguinte formato:
- Nome da proposta
- Introdução ao Conteúdo
- Assuntos Principais
- Público-Alvo
- Estilo Gráfico ou Visual
- Conclusão
---
Explique por que os assuntos escolhidos são interessantes para o público-alvo e como elas se alinham ao tema de desenvolvimento de sites.
---
Crie os assuntos dos temas em formato de tópicos e sugira referências de conteúdos como inspiração em seus formatos com objetivo de engajar meu público-alvo.
Microsoft Copilot. Crie uma imagem de site misterioso com efeitos do espaço, estilo pixel, cenário de site profissional. Gere uma personagem feminina em pixel art, para um desenho.
GPT significa Generative Pre-trained Transformer, por meio dele é possível compreender, gerar e traduzir textos com precisão. Cases de criação de reels (Português e Inglês) para uma Aceleração Internacional criado usando IAs Generativas.
| Área | Aplicações da IA | Benefícios Principais |
|---|
| Robótica e Automação | Robôs inteligentes em linhas de produção; sistemas autônomos capazes de tomar decisões | Aumento da eficiência; maior segurança; redução de riscos em tarefas perigosas |
| Saúde | Análise de dados médicos; identificação precoce de doenças; desenvolvimento de tratamentos personalizados | Diagnósticos mais rápidos e precisos; tratamentos mais eficazes; medicina personalizada |
| Finanças | Análise de risco; previsão de mercado; detecção de fraudes em tempo real | Melhor tomada de decisão; processos mais eficientes; maior segurança financeira |
| Marketing | Análise de dados de consumidores; personalização de campanhas; automação de tarefas repetitivas | Maior engajamento; aumento de conversão; foco em estratégias criativas |
| Visão Geral da IA | Uso da IA como apoio à atividade humana, não como substituição | Aumento da produtividade; transformação e evolução das profissões |
Aprendizagem Baseada em Projetos (PBL) é sobre interagir em grandes ideias e criar soluções tangíveis.
O Aprendizado Baseado em Projetos é sobre imergir em grandes ideias e criar soluções tangíveis. Neste método, você constrói projetos práticos que refletem problemas e desafios do mundo real. Esses projetos não apenas aumentam seu conhecimento, mas também demonstram suas competências.
Desenvolvimento de Habilidades
Estrutura de Exemplo Github ReadME
- Título do Projeto som descrição
- Objetivo do que faz o repositório
- Ferramentas utilizadas com sua respectiva Imagem
- Percurso Tabela
Nº | Etapas | Materiais de Apoio
- Desafios
- Instruções em (PT/BR) e (EN/US)
- Utilitários
badges, card stats, card streak states
- Contribua: Star, Forks Issues
Fonte de verdade única: quando você pesquisa e tem coisas que se contradizem você vê essa necessidade. Exemplo: caderno de anotações que mantem na mesa, o que achar interessante é marcado nesse caderno (notebooks), só que ao invés de caderno, suas anotações podem ser analisadas por meio de AI. NotebookLM faz isso.
"Nunca me sinto completamente satisfeita ao entender algo; pois, por mais que eu entenda bem, o que compreendo é apenas uma fração ínfima de tudo o que desejo compreender."
Introdução ao Excel 365
Analista MIS - Management Information Systems
Analisa diferentes dados que existem no sistema da empresa
Analista de Planejamento
Gerenciar grandes eventos que vão acontecer na empresa, gestão de recursos financeiros ou em outras áreas específicas
Foco em criar relatórios, transformação de dados e informações
Pasta de Trabalho (workbook)
Planilha (worksheet/sheets)
Células (Cells)
Intervalo (Range) - é um conjunto de células selecionadas
-> D6:G6 (seleção do intervalo inteiro)
-> D6;G6 (células específicas)
-> D5:E5; D6:E6 (combinação de intervalos)
O que acontece ao congelar células em uma fórmula?
A fórmula não altera a célula selecionada mesmo que arrastada.
Qual é a principal função do menu de contexto no Excel 365?
Oferecer opções relacionadas ao elemento selecionado.
Banco de Dados Relacionais (SQL)
Introdução e conceitos básicos
Banco de dados - coleção organizada de informações ou dados.
Tipos de Banco de Dados:
- Relacionais/SQL
- Não Relacionais/NoSQL (Not OnlySQL)
- Orientado a Objetos
- Hierárquico ...
SGBD - Banco de dados por si só não é autocontrolado, precisamos de um sisitema de gerenciamento de banco de dados, criando bancos manipulando dados, consultas e acesso.
SGBD - Funcionalidades básicas: Create, Read, Update, Delete.
Estrutura de um BD Relacionado:
- Chaves primárias: identificadores únicos
- Chaves estrangeiras: sinaliza relacionamento entre as informações entre as tabelas.
Características:
- Relacionamento entre tabelas (informações relacionadas entre si)
- Linguagem de Consulta Estruturada (SQL)
- Integridade referencial (dependência de dados para segurança de tabelas para não ter dados órfãos)
- Normalização de dados (coluna única)
- Segurança (acesso a informação relevante para cada usuário)
- Flexibilidade e extensibilidade (possibilidade de alteração)
- Suporte a transações ACID - Atomicidade (garantia de operações de uma transação sejam executadas com sucesso), Consistência (sai de um estado consistente para outro também), Isolamento (cada transação não interfere nas transações concorrentes), Durabilidade (sucesso da transação comitada, essa informação não vai voltar) - garantia da consistência da informação no banco de dados.
SQL (Structured Query Language) é uma linguagem de consulta padronizada usado em interagir com o banco de dados.
DQL - Linguagem de Consulta de Dados (SELECT)
DML - Linguagem de Manipulação de Dados (INSERT, UPDATE e DELETE)
DDL - Linguagem de Definição de Dados (CREATE, ALTER, DROP)
DCL - Linguagem de Controle de Dados (GRANT, REVOKE)
DTL - Linguagem de Transação de Dados (BEGIN, COMMIT, ROLLBACK)
Sintaxe Básica: Nomenclatura
- Nomes devem começar com uma letra ou caractere de sublinhado ( _ )
- *** Os nomes podem conter letras, números e caracteres de sublinhado ( _ )
- Sensibilidade a maiúsculas e minúsculas
MER e DER: Modelagem de Banco de Dados
Modelo Entidade-Relacionamento (MER) é representado através de diagramas chamados Diagramas Entidade-Relacionamento (DER).
Entidade: nomeadas com substantivos concretos ou abstratos que representem de forma clara sua função dentro do domínio.
Atributos: características ou propriedades das entidades. Descrevem informações específicas sobre a entidade. Anotação UML para representação.
Relacionamentos: representam as associações entre entidades.
Cardinalidade (tipos de relacionamentos):
- Relacionamento 1-1 (um para um)
- Relacionamento 1-n ou 1-* (um para muitos)
- Relacionamento n-n ou *-* (muitos para muitos)
Criando diagramas com IA: https://app.quickdatabasediagrams.com
Tabelas: armazena dados de forma organizada. Cada tabela em um banco de dados relacional tem um nome único e é dividida em colunas e linhas.
Colunas: estrutura dentro de uma tabela que representa um atributo específico dos dados armazenados. Cada coluna tem um nome único e um tipo de dados associado que define o tipo de informação que pode ser armazenado nela, como números, textos, datas, etc...
Registros: linha ou tupla, é uma instância individual de dados em uma tabela.
Comando: CREATE TABLE
CREATE TABLE {{nome}}
{{coluna}} {{tipo}} {{opções}} COMMENT
{{'COMENTARIO'}};
Tipos de Dados: pode variar muito entre os diversos SGBD, os mais comuns são:
Inteiro (Integer)
Decimal/Numérico (Decimal/Numeric)
Caractere/Varchar (Character/Varchar)
Data/Hora (Date/Time)
Booleano (Boolean)
Texto longo (Text)
Comando: CREATE TABLE - Opções
Restrições de valor:
NOT NULL
UNIQUE
DEFAULT
Chaves primárias e estrangeiras
Auto Incremento
"Falar é fácil. Mostre-me o código!" - Linus Torvalds
Comando: INSERT
INSERT INTO {{nome_tabela}}
([coluna1, coluna2, ...]) *** pode ocultar as colunas
VALUES ([valor_coluna1, valor_coluna2, ...])
Comando: SELECT
SELECT {{lista_colunas}} FROM tabela;
Onde * retorna todas as colunas
Comando: SELECT com WHERE
SELECT {{lista_colunas}} FROM tabela WHERE {{condicao}};
Comando: SELECT - Operadores
= (igualdade)
<> ou != (desigualdade)
> (maior que)
< (menor que)
>= (maior ou igual que)
<= (menor ou igual que)
LIKE (comparação de padrões)
IN (pertence a uma lista de valores)
BETWEEN (dentro de um intervalo)
AND (e lógico)
OR (ou lógico)
Comando: Update
UPDATE {{tabela}} SET {{coluna1}} = {{novo_valor1}},
{{coluna2}} = {{novo_valor2}} WHRE {{condicao}};
Coluna endereço por exemplo e separar por cidade, estado, país:
UPDATE {{table}}
SET {{nova_coluna}} = SUBSTRING_INDEX(SUBSTRING_INDEX({{coluna}}, ',', 1), ',', -1),
SUBSTRING_INDEX(SUBSTRING_INDEX({{coluna}}, ',', 2), ',', -1);
Comando: Delete
DELETE FROM {{tabela}} WHERE {{condicao}};
Comando: DROP TABLE
remove uma tabela existente de um banco de dados relacional, excluindo permanentemente a tabela.
DROP TABLE {{tabela}};
Comnado: ALTER TABLE
modifica estrutura de uma tabela existente de um banco de dados.
ALTER TABLE {{tabela}} RENAME {{novo_nome_tabela}};
ALTER TABLE {{tabela}} MODIFY COLUMN {{coluna}} {{tipo}};
Chave primária:
- Identifica exclusivamente
- Não pode conter valores nulos (NULL)
- Uma tabela pode ter apenas uma chave primária
- estabelece e mantem integridade dos dados entre tabelas relacionadas.
- pode ser nula (NOT NULL); ** registro órfão
- possível ter mais de uma (ou nenhuma) em uma tabela
ALTER TABLE {{tabela}}
MODIFY COLUMN {{coluna}} {{tipo}} AUTO_INCREMENT, ADD PRIMARY KEY ({coluna});
ALTER TABLE {{tabela}}
ADD {{coluna}} {{tipo}};
Chaves Estrangeiras - Restrições ON DELETE especifica o que acontece com os registros dependentes quando um registro pai é excluído.
ON UPDATE define o comportamento dos registros dependentes quando um registro pai é atualizado.
CASCATE, SET NULL, SET DEFAULT e RESTRICT
Normalização de dados: processo no qual se organiza e estrutura um banco de dados relacional de forma a eliminar redundâncias e anomalias, garantindo a consistência e integridade dos dados. Existem no total 6 mas foi citado apenas 3.
Formas Normais - 1FN: Atomicidade de dados
1FN cada valor em uma tabela deve ser atômico, ou seja, indivisível. Nenhum campo deve conter múltiplos valores ou listas.
2FN estabelece que uma tabela deve estar na 1FN. Todos os atributos não chaves devem depender totalmente da chave primária.
Observação: Se a tabela tem uma chave primária simples não existe a possibilidade de termos dependência parcial e portanto ela já se encontra na 2FN.
3FN tabela deve estar na 2F. Nenhuma coluna não-chave depender de outra coluna não-chave. Exemplo: Relação Estado -> Cidade.
combina duas ou mais tabelas relacionadas em uma única consulta. Tipos: INNER JOIN, LEFT JOIN ou LEFT OUTER JOIN, RIGHT JOIN ou RIGHT OUTER JOIN, FULL JOIN ou FULL OUTER JOIN.
INNER JOIN: retorna apenas linhas que têm correspondência em ambas as tabelas envolvidas na junção. Junção é feita com base em uma condição de igualdade especificada na cláusula ON.
SELECT * FROM {{tabela1}}
INNER JOIN {{tabela2}} ON tabela1.coluna = tabela2.coluna;
LEFT JOIN: retorna apenas linhas da tabela à esquerda da junção e as linhas correspondentes da tabela à direita. Se não houver correspondência, os valores da tabela à direita serão NULL.
SELECT * FROM {{tabela1}}
LEFT JOIN {{tabela2}} ON tabela1.coluna = tabela2.coluna;
RIGHT JOIN: retorna apenas linhas da tabela à direita da junção e as linhas correspondentes da tabela à esquerda. Se não houver correspondência, os valores da tabela à esquerda serão NULL.
SELECT * FROM {{tabela1}}
RIGHT JOIN {{tabela2}} ON tabela1.coluna = tabela2.coluna;
FULL JOIN: retorna todas linhas de ambas as tabelas envolvidas na junção, combinando-as com base em uma condição de igualdade. Se não houver correspondência, os valores ausentes serão preenchidos com NULL.
SELECT * FROM {{tabela1}}
FULL JOIN {{tabela2}} ON tabela1.coluna = tabela2.coluna;
Sub Consultas: Realiza consultas mais complexas permitindo que você use resultado de uma consultas como entrada para outra consulta. Consultas aninhadas dentro de outras consultas. Podem ser usadas em várias partes de uma consulta:
SELECT, FROM, WHERE, HAVING, JOIN
SELECT * FROM {{tabela1}}
WHERE {{coluna1}} NOT IN (SELECT {{coluna2}} FROM {{tabela2}});
SELECT {{coluna}} (SELECT COUNT(*) FROM {{tabela}} WHERE {{coluna}} = {{tabela}}.{{coluna}}) AS nome_consulta FROM {{tabela}};
Funções Agregadas
COUNT: Conta o número de registros.
SUM: Soma os valores de uma coluna numérica.
AVG: Calcula a média dos valores de uma coluna numérica.
MIN: Retorna o valor mínimo de uma coluna.
MAX: Retorna o valor máximo de uma coluna.
SELECT COUNT(*) FROM {{tabela}};
SELECT COUNT(*) AS total_tabela FROM {{tabela}};
Agrupamento de Resultados
SELECT... FROM...GROUP BY
SELECT COUNT(*) FROM {{tabela}}
GROUP BY {{coluna}};
Ordenação de Resultados
SELECT... FROM...ORDER BY
Consultas Avançadas - Índices de Busca
Permite examinar as operações realizadas, as tabelas acessadas, os índices utilizados e outras informações importantes para identificar possíveis melhorias de desempenho.
EXPLAIN SELECT * FROM {{tabela}} ...
Análise do Plano de Execução
select_type: "SIMPLE", "SUBQUERY", "JOIN"
table
type: "ALL", "INDEX" entre outros
CREATE INDEX {{nome_index}}
ON {{tabela}} ({{coluna1, coluna2, ...}});
possible_keys: os índices possíveis que podem ser utilizados na operação.
key: índice utilizado na operação, se aplicável.
key_len: comprimento do índice utilizado.
ref: colunas ou constantes usadas para acessar o índice
rows
Inrodução Banco de Dados Relacionais (SQL)
Introdução BD
Tipos de Dados
Orientado a Objetos
Não relacionados (MongoDB, Redis)
Relacionados SQL (SGBD)
Exemplos: MySQL, SQLite, MariaDB
CRUD (Create, Read, Update, Delete)
Estrutura (Banco de Dados, Tabela, Coluna, Registro)
Características
Relacionamentos entre as tabelas
Linguagem Estrutural
Integridade Referencial
Normalização
Segurança
Flexibilidade e Extensibilidade
ACID (Atomicidade, Consistência, Isolamento, Durabilidade)
MER e DER
Entidades e Atributos
Relacionamentos (Cardinalidade)
Conceitos básicos SQL
DQL
SELECT
WHERE
LIMIT
ORDER BY
OFFSET
Consultas Aninhadas
JOIN (INNER, LEFT, RIGHT)
EXPLAIN
Agrupamento de resultados com GROUP BY
Restrição de grupos com HAVING
DDL
CREATE
ALTER (ADD COLUMN, ADD INDEX)
DML (INSERT, UPDATE, DELETE)
DCL (GRANT, REVOKE)
DTL (BEGIN, COMMIT, ROLLBACK)
ORM mapeamento entre o objeto e o relacional. Cada linguagem de programação tem seu ORM adequado.
E-cards assets/
image1.webp
db_scripts/
migration/
001_migration_seeds.sql
seeds/
001_initial_seeds.sql
002_bulk_cards_1.sql
003_bulk_cards_2.sql
to_migration.ps1 (extensão nativo Windows PowerSheel)
tables/
001_create_tables.sql (script sql CREATE)
views/
001_view_cards.sql
prompts/
tcg-cards.txt
readme.md
tcg-cards.txt obs: retirar depois [modelo]
[ação]
create a script to create a table in postgresql. otimize the varchar fields to perfect size. never use comments in my scripts please. create another tables and link to tbl_cards - create a table to separate type - create a table to separate stage.
[contexto]
- the first table is a table to save a pokemon tcg cards
- the second table is a table to save collections set
connect to tables with FOREIGN KEY
[informações]
first table tbl_cards: id, hp, name, type, stage, info, attack, damage, weak, ressis, retreat, cardNumberInCollection, fk: tableCollectionId
second table tbl_collections: id, collectionSetName, realease Date, totalCardsInCollection
[SCRIPT PROMPT]
consider tables below: (paste de script 001_create_tables.sql )
create a initial seed to all tables, generate inserts scripts. generate 10 inserts records to table tbl_cards.
Migration: união de todos os scripts e gera de uma vez.
Evite SELECT * (asterisco) pois torna o sistema menos performático.
Views: Consultar e apresentar dados de uma ou mais tabelas de forma personalizada, sem armazená-los permanentemente.
to_migration.ps1
#Pegar o diretório atual
$scriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
#Arquivo saída com todos sql
$outputFile = Join-Path -Path $scriptDirectory -ChildPath "migration.sql"
#Verifica se o arquivo já existe, se existir deleta
if (Test-Path $outputFile){
Remove-Item $outputFile
}
#Pega Conteúdo dos arquivos
$sqlFiles = Get-ChildItem -Path $scriptDirectory -Filter *.sql -File | Sort-Object Name
#Concatena Arquivos
foreach($file in $sqlFiles){
Get-Content $file.FullName | Out-File -Append -FilePath $outputFile "GO" | Out-File -Append -FilePath $outputFile
}
#Mensagem de concluído
Write-Host "Todos os arquivos foram combinados em $outputFile"
[SCRIPT PROMPT]
consider tables below: (paste de script 001_create_tables.sql ).
traga todas as informações da tbl_cards, substituindo pelos nomes das chaves estrangeiras. salve isso em uma view para o postgresql. Dado a view 'vw_cards_info', faça um select, mas não faça o select * faça chamando campo por campo.
Formação Power BI Analyst
Certificação PowerBI: PL300
Abordagem Top/Down: começa com visualização de dados por meio de recursos gráficos e depois tratar os dados (visualização, análise, coleta e transformação)
Primeiros Passos:
- Primeiros Passos com DAX
- Explorando a UX
- Data Analystics com PowerBI
- Gerenciamento de workspaces e datasets
Mercado de data
- Engenheiro de Dados
- Desenho/Construção/Sustentação das soluções de dados/ETL
Extração de dados de fontes heterogêneas
Disponibilizar os dados para serem consumidos pelos analistas e cientistas
- Cientista de dados
- Modelagem, reconhecimento de padrões / predição
- Analista de dados
- Criação de dashboards
- Apresentação visual dos dados
Dados x Informações x Conhecimento
Dados: matéria-prima são fatos brutos e isolados, não possuem valor
- não estruturados
- estruturados
Informações: São dados organizados e contextualizados, representação do cenário
Conhecimento: É a informação processada (inteligência), interpretada e aplicada com base em experiência.
Decisão: A partir do conhecimento aplicar decisões. A inteligência influencia diretamente na tomada de decisão.
Business Intelligence consiste em uma área composta por estratégias e tecnologias utilizadas pelas empresas a fim de realizar análise de dados e gerenciamento das informações.
OBJETIVO: transformar dados em conhecimento
ENTENDIMENTO: fatores conhecidos e não conhecidos
FOCO: operações e melhorias.
Criar relatórios para monitoramento, análise de comportamento, previsibilidade ...
Big Data 4V: Volume, Variedade, Velocidade, Veracidade -> Valor
Tipos de análise em BI: Descritiva, Diagnóstica, Preditiva , Prescritivo
- Descritiva: 1ª análise caracteriza. Entender o comportamento dos dados.
- Diagnóstica: Encontrar relações de causa e efeito no cenário descrito pelos dados. Processo probabilístico.
- Preditiva: prever um cenário, tendências Data Science
- Prescritivo: resolução de um problema Data Science.
Aplicar BI: coleta de informações, estruturação (transformação), representação visual (relatórios, gráficos)
Processo: Problema de negócio, perguntas sobre o contexto, escolha o tipo de análise, utilize as ferramentas.
ETL - Extract, Transform e Load
Processo de “Load": A transferência de dados para o sistema de destino ou armazenamento final após a transformação.
tidraw.com
Conhecendo a Linguagem de Programação Python
Aprendizagem baseada em Problemas (PBL)
Resolução de problemas reais enquanto aprende.
Lógica de programação: permite transformar problemas em soluções claras e ordenadas através de passos lógicos e algoritmos.
Pensamento Computacional: mapa que te ajuda a encontrar caminhos para resolver desafios, projetos sistemas e compreender comportamentos.
Introdução à Inteligência Artificial
IA Geral + IA Restrita + Machine Learning
Visão Computacional
Sensoriamento + Processamento de Imagens + Análise: Machine Learning
Machine Learning: objetivo do aprendizado de máquina é programar computadores para aprender um determinado comportamento ou padrão automaticamente a partir de exemplos ou observações. DATASETS (Transfer Learning - treinamento para o sistema)
Exemplo de Aprendizado: Aprendizado por Reforço
Três leis de Asimov
- Primeira Lei: Um robô não pode ferir um ser humano ou, por omissão, permitir que um ser humano sofra algum mal.
- Segunda Lei: Um robô deve obedecer às ordens que lhe sejam dadas por seres humanos, exceto nos casos em que tais ordens contrariem a Primeira Lei.
- Terceira Lei: Um robô deve proteger sua própria existência, desde que tal proteção não entre em conflito com a Primeira ou a Segunda Lei.
Qual a diferença entre Machine Learning e IA?
IA (Inteligência Artificial) é o campo amplo que busca criar sistemas inteligentes. Machine Learning é um subcampo da IA onde os sistemas aprendem com dados, em vez de serem programados com regras fixas.
Em resumo: IA é o conceito geral, ML é uma técnica específica dentro da IA. Todo ML é IA, mas nem toda IA é ML.
Processamento de Linguagem Natural (PLN)
Vertente de IA que ajuda o computador a entender, interpretar e manipular a linguagem humana...
Deep Learning para PLN: Sistema de interpretação de linguagem natural
O Google substitui seu sistema de tradução baseado em frases pela Neural Machine Translation (NMT). Isso reduz os erros de tradução em 60%. Ele usa uma rede LSTM profunda com 8 camadas de codificador e 8 de decodificador.
Redes para Rastreamento em imagens: Sensoriamento + Processamento + Análise: Machine Learning
Tipos de Redes: YOLO Sort, Mask-RCNN - detecção de objetos+ rastreamento em função do tempo.
Redes Generativas Algoritmos de Deep Learning: uso de redes generativas para gerar a imagem de um determinado tipo de objeto faz uso de redes neurais.
Análise de Características (Features) DataSet - Base de treino exemplo classe "gatos"
Redes Adversárias: sistema de imitação aplica os conhecimentos para produzir novas, usando características de obras já existentes, enquanto outro sistema de IA avalia a semelhança entre as criações e gera uma classificação. Os resultados não convincentes são retornados ao sistema de imitação para serem aprimorados.
Generative Adversarial Networks (GANs), que são modelos de deep learning usados para gerar dados (como imagens) parecidos com os dados reais a partir de ruído aleatório. GANs são compostos por duas redes neurais (uma geradora e uma discriminadora) que “competem” entre si para aprender a produzir amostras realistas.
Conversando por Voz Com o ChatGPT utilizando Whisper (OpenAI) e Python
- Gravação de áudio do usuário (Python com um pouco de Javascript)
- Reconhecimento de fala com Whisper (Speech To Text da OpenAI)
- Integração com API do ChatGPT
- Sintetizando Voz usando gTTS (Text-To-Speech da Google)
Aplicações educacionais tenham uma possibilidade de serem mais acessíveis através da tecnologia
Comentários
Postar um comentário