A implementação de uma arquitetura de dados moderna fornece um método escalável para integrar dados de fontes diferentes. Ao organizar os dados por domínios de negócios em vez de infraestrutura, cada domínio pode escolher ferramentas que atendam às suas necessidades. As organizações podem maximizar o valor da sua arquitetura de dados moderna com soluções generativas de IA e, ao mesmo tempo, inovar continuamente.
Os recursos de linguagem natural permitem que usuários não técnicos consultem dados por meio de conversação em inglês, em vez de SQL complexo. No entanto, a concretização de todos os benefícios exige a superação de alguns desafios. Os modelos de IA e de linguagem devem identificar as fontes de dados apropriadas, gerar consultas SQL eficazes e produzir respostas coerentes com resultados incorporados em escala. Eles também precisam de uma interface de usuário para questões de linguagem natural.
No geral, implementar uma arquitetura de dados moderna e técnicas generativas de IA com a AWS é uma abordagem promissora para coletar e disseminar insights importantes de dados diversos e expansivos em escala empresarial. A oferta mais recente de IA generativa da AWS é Rocha Amazônica, que é um serviço totalmente gerenciado e a maneira mais fácil de criar e dimensionar aplicativos generativos de IA com modelos básicos. A AWS também oferece modelos básicos por meio de JumpStart do Amazon SageMaker as Amazon Sage Maker pontos finais. A combinação de grandes modelos de linguagem (LLMs), incluindo a facilidade de integração que o Amazon Bedrock oferece, e uma infraestrutura de dados escalonável e orientada a domínio posiciona isso como um método inteligente de aproveitar as informações abundantes contidas em vários bancos de dados analíticos e data lakes.
Na postagem, mostramos um cenário em que uma empresa implantou uma arquitetura de dados moderna com dados residentes em vários bancos de dados e APIs, como dados legais em Serviço de armazenamento simples da Amazon (Amazon S3), recursos humanos em Serviço de banco de dados relacional da Amazon (Amazon RDS), vendas e marketing em Amazon RedShift, dados do mercado financeiro em uma solução de data warehouse de terceiros em Floco de nevee dados do produto como uma API. Esta implementação visa aumentar a produtividade da análise de negócios, dos proprietários de produtos e dos especialistas do domínio de negócios da empresa. Tudo isto conseguido através da utilização de IA generativa nesta arquitetura de malha de domínio, que permite à empresa atingir os seus objetivos de negócio de forma mais eficiente. Esta solução tem a opção de incluir LLMs do JumpStart como um endpoint do SageMaker, bem como modelos de terceiros. Fornecemos aos usuários corporativos um meio de fazer perguntas baseadas em fatos, sem ter um conhecimento subjacente dos canais de dados, abstraindo assim as complexidades de escrever consultas SQL simples a complexas.
Visão geral da solução
Uma arquitetura de dados moderna na AWS aplica inteligência artificial e processamento de linguagem natural para consultar vários bancos de dados analíticos. Ao usar serviços como Amazon Redshift, Amazon RDS, Snowflake, Amazona atena e Cola AWS, ele cria uma solução escalável para integrar dados de diversas fontes. Usando LangChain, uma biblioteca poderosa para trabalhar com LLMs, incluindo modelos básicos do Amazon Bedrock e JumpStart em Estúdio Amazon SageMaker notebooks, é construído um sistema onde os usuários podem fazer perguntas de negócios em inglês natural e receber respostas com dados extraídos dos bancos de dados relevantes.
O diagrama a seguir ilustra a arquitetura.
A arquitetura híbrida usa vários bancos de dados e LLMs, com modelos básicos do Amazon Bedrock e JumpStart para identificação de fontes de dados, geração de SQL e geração de texto com resultados.
O diagrama a seguir ilustra as etapas específicas do fluxo de trabalho para nossa solução.
As etapas são as seguintes:
- Um usuário empresarial fornece um prompt de pergunta em inglês.
- Um rastreador do AWS Glue está programado para ser executado em intervalos frequentes para extrair metadados de bancos de dados e criar definições de tabela no Catálogo de dados do AWS Glue. O Catálogo de Dados é inserido na Sequência de Cadeia 1 (veja o diagrama anterior).
- LangChain, uma ferramenta para trabalhar com LLMs e prompts, é usada em notebooks Studio. LangChain requer a definição de um LLM. Como parte da Sequência de Cadeia 1, o prompt e os metadados do Catálogo de Dados são passados para um LLM, hospedado em um endpoint SageMaker, para identificar o banco de dados e a tabela relevantes usando LangChain.
- O prompt e o banco de dados e a tabela identificados são passados para a Sequência de Cadeia 2.
- LangChain estabelece uma conexão com o banco de dados e executa a consulta SQL para obter os resultados.
- Os resultados são repassados ao LLM para gerar uma resposta em inglês com os dados.
- O usuário recebe uma resposta em inglês ao seu prompt, consultando dados de diferentes bancos de dados.
As seções a seguir explicam algumas das principais etapas com o código associado. Para se aprofundar na solução e no código de todas as etapas mostradas aqui, consulte o GitHub repo. O diagrama a seguir mostra a sequência de etapas seguidas:
Pré-requisitos
Você pode usar qualquer banco de dados compatível com SQLAlchemy para gerar respostas de LLMs e LangChain. Porém, esses bancos de dados devem ter seus metadados registrados no AWS Glue Data Catalog. Além disso, você precisará ter acesso aos LLMs por meio do JumpStart ou de chaves API.
Conecte-se a bancos de dados usando SQLAlchemy
LangChain usa SQLAlchemy para se conectar a bancos de dados SQL. Inicializamos a função SQLDatabase do LangChain criando um mecanismo e estabelecendo uma conexão para cada fonte de dados. A seguir está um exemplo de como se conectar a um Edição compatível com o Amazon Aurora MySQL banco de dados sem servidor e inclua apenas a tabela funcionários:
A seguir, construímos prompts usados pela Chain Sequence 1 para identificar o banco de dados e o nome da tabela com base na pergunta do usuário.
Gere modelos de prompt dinâmicos
Usamos o Catálogo de dados do AWS Glue, que foi projetado para armazenar e gerenciar informações de metadados, para identificar a fonte de dados para uma consulta do usuário e criar prompts para a sequência de cadeia 1, conforme detalhado nas etapas a seguir:
- Construímos um Catálogo de Dados rastreando os metadados de múltiplas fontes de dados usando o Conexão JDBC usado na demonstração.
- Com a biblioteca Boto3, construímos uma visão consolidada do Catálogo de Dados a partir de múltiplas fontes de dados. Veja a seguir um exemplo de como obter os metadados da tabela funcionários do Data Catalog para o banco de dados Aurora MySQL:
Um Catálogo de Dados consolidado possui detalhes sobre a fonte de dados, como esquema, nomes de tabelas e nomes de colunas. A seguir está um exemplo da saída do Catálogo de Dados consolidado:
- Passamos o Catálogo de Dados consolidado para o modelo de prompt e definimos os prompts usados pelo LangChain:
Sequência de cadeia 1: detecte metadados de origem para a consulta do usuário usando LangChain e um LLM
Passamos o modelo de prompt gerado na etapa anterior para o prompt, juntamente com a consulta do usuário ao modelo LangChain, para encontrar a melhor fonte de dados para responder à pergunta. LangChain usa o modelo LLM de nossa escolha para detectar metadados de origem.
Use o código a seguir para usar um LLM do JumpStart ou de modelos de terceiros:
O texto gerado contém informações como o banco de dados e os nomes das tabelas nas quais a consulta do usuário é executada. Por exemplo, para a consulta do usuário “Nomeie todos os funcionários com data de nascimento neste mês”, generated_text
tem a informação database == rdsmysql
e database.table == rdsmysql.employees
.
A seguir, passamos os detalhes do domínio de recursos humanos, do banco de dados Aurora MySQL e da tabela de funcionários para a sequência de cadeia 2.
Sequência de cadeia 2: recuperar respostas das fontes de dados para responder à consulta do usuário
Em seguida, executamos a cadeia de banco de dados SQL do LangChain para converter texto em SQL e executamos implicitamente o SQL gerado no banco de dados para recuperar os resultados do banco de dados em uma linguagem simples e legível.
Começamos definindo um modelo de prompt que instrui o LLM a gerar SQL em um dialeto sintaticamente correto e, em seguida, executá-lo no banco de dados:
Por fim, passamos o LLM, a conexão do banco de dados e o prompt para a cadeia de banco de dados SQL e executamos a consulta SQL:
Por exemplo, para a consulta do usuário “Nomeie todos os funcionários com data de nascimento neste mês”, a resposta é a seguinte:
limpar
Depois de executar a arquitetura de dados moderna com IA generativa, certifique-se de limpar todos os recursos que não serão utilizados. Desligue e exclua os bancos de dados usados (Amazon Redshift, Amazon RDS, Snowflake). Além disso, exclua os dados no Amazon S3 e interrompa todas as instâncias de notebook do Studio para não incorrer em cobranças adicionais. Se você usou o JumpStart para implantar um LLM como um endpoint em tempo real do SageMaker, exclua o endpoint por meio do console do SageMaker ou do Studio.
Conclusão
Nesta postagem, integramos uma arquitetura de dados moderna com IA generativa e LLMs no SageMaker. Esta solução usa vários modelos básicos de texto para texto do JumpStart, bem como modelos de terceiros. Esta abordagem híbrida identifica fontes de dados, escreve consultas SQL e gera respostas com resultados de consulta. Ele usa Amazon Redshift, Amazon RDS, Snowflake e LLMs. Para melhorar a solução, você poderia adicionar mais bancos de dados, uma UI para consultas em inglês, engenharia imediata e ferramentas de dados. Isso poderia se tornar uma maneira inteligente e unificada de obter insights de vários armazenamentos de dados. Para se aprofundar na solução e no código mostrado nesta postagem, confira o GitHub repo . Além disso, consulte Rocha Amazônica para casos de uso de IA generativa, modelos básicos e grandes modelos de linguagem.
Apêndice
Solicitações de exemplo
Domínio | Banco de dados/API | Prompt | SQL (gerado por LLM) | saída |
Sales & Marketing | Amazon RedShift | Quantas vendas de ingressos existem? | SELECT COUNT(*) AS total_sales FROM tickit.sales; |
There are 172,456 ticket sales. |
Sales & Marketing | Amazon RedShift | Qual foi a comissão total pela venda de ingressos no ano de 2008? | SELECT SUM(commission) AS total_commission FROM tickit.sales WHERE EXTRACT(YEAR FROM saletime) = 2008 |
The total commission for ticket sales in the year 2008 was $16,614,814.65. |
Legal | S3 | Quantas fraudes aconteceram no ano de 2023? | SELECT count(*) FROM claims WHERE extract(year from write_time) = 2023 AND fraud = 1; |
There were 164 fraud claims in 2023. |
Legal | S3 | Quantas apólices foram reivindicadas este ano? | SELECT count(*) FROM claims; |
There were 5000 claims made this year. |
Recursos Humanos | Amazon Aurora MySQL | Nomeie todos os funcionários com data de nascimento neste mês | SELECT * FROM employees WHERE MONTH(birth_date) = MONTH(CURRENT_DATE()); |
The employees with birthdays this month are: Christian Koblick Tzvetan Zielinski Kazuhito Cappelletti Yinghua Dredge |
Recursos Humanos | Amazon Aurora MySQL | Quantos funcionários foram contratados antes de 1990? | SELECT COUNT(*) AS 'Number of employees hired before 1990' FROM employees WHERE hire_date < '1990-01-01' |
29 employees were hired before 1990. |
Finanças e Investimentos | Floco de neve | Quais ações tiveram o melhor e o pior desempenho em maio de 2013? | SELECT name, MAX(close) AS max_close, MIN(close) AS min_close FROM all_stocks_5yr WHERE date BETWEEN '2013-05-01' AND '2013-05-31' GROUP BY name ORDER BY max_close DESC, min_close ASC |
The stock that performed the best in May 2013 was AnySock1 (ASTOCK1) with a maximum closing price of $842.50. The stock that performed the worst was AnySock2 (ASTOCK2) with a minimum closing price of $3.22. |
Finanças e Investimentos | Floco de neve | Qual é o volume médio de ações negociadas em julho de 2013? | SELECT AVG(volume) AS average_volume FROM all_stocks_5yr WHERE date BETWEEN '2013-07-01' AND '2013-07-31' |
The average volume of stocks traded in July 2013 was 4,374,177 |
Produto – Clima | API | Como está o clima agora em Nova York em graus Fahrenheit? |
Sobre os autores
Navneet Tuteja é especialista em dados da Amazon Web Services. Antes de ingressar na AWS, Navneet trabalhou como facilitador para organizações que buscam modernizar suas arquiteturas de dados e implementar soluções abrangentes de IA/ML. Ela é formada em engenharia pela Thapar University e tem mestrado em estatística pela Texas A&M University.
Sovik Kumar Nath é um arquiteto de soluções AI/ML da AWS. Ele tem uma vasta experiência no desenvolvimento de soluções completas de aprendizado de máquina e análise de negócios em finanças, operações, marketing, saúde, gerenciamento da cadeia de suprimentos e IoT. Sovik publicou artigos e detém uma patente em monitoramento de modelo ML. Ele tem mestrado duplo pela University of South Florida, University of Fribourg, Suíça, e bacharelado pelo Indian Institute of Technology, Kharagpur. Fora do trabalho, Sovik gosta de viajar, fazer passeios de balsa e assistir a filmes.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- EVM Finanças. Interface unificada para finanças descentralizadas. Acesse aqui.
- Grupo de Mídia Quântica. IR/PR Amplificado. Acesse aqui.
- PlatoAiStream. Inteligência de Dados Web3. Conhecimento Amplificado. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/reinventing-the-data-experience-use-generative-ai-and-modern-data-architecture-to-unlock-insights/
- :tem
- :é
- :não
- :onde
- $3
- $UP
- 1
- 100
- 11
- 12
- 13
- 16
- 2008
- 2013
- 2023
- 22
- 32
- 50
- 5000
- 7
- 8
- 9
- a
- abundante
- Acesso
- Alcançar
- alcançado
- adicionar
- Adição
- Adicionalmente
- contra
- AI
- AI / ML
- visa
- Todos os Produtos
- permitir
- juntamente
- tb
- Amazon
- Amazon RDS
- Amazon RedShift
- Amazon Web Services
- an
- analítica
- e
- responder
- respostas
- qualquer
- api
- CHAVES DE API
- APIs
- aplicações
- abordagem
- apropriado
- arquitetura
- SOMOS
- artigos
- artificial
- inteligência artificial
- AS
- associado
- At
- aurora
- média
- AWS
- Cola AWS
- baseado
- BE
- tornam-se
- antes
- abaixo
- Benefícios
- MELHOR
- entre
- construir
- construído
- negócio
- by
- CAN
- capacidades
- casos
- catálogo
- cadeia
- desafios
- canais
- acusações
- verificar
- escolha
- Escolha
- Cidades
- afirmou
- reivindicações
- Fechar
- encerramento
- código
- COERENTE
- Coluna
- colunas
- combinação
- de referência
- Empresa
- compatível
- integrações
- complexidades
- compreensivo
- Contato
- da conexão
- cônsul
- não contenho
- contém
- continuamente
- conversação
- converter
- correta
- Correspondente
- poderia
- rastreador
- crio
- cria
- Criar
- dados,
- infraestrutura de dados
- banco de dados
- bases de dados
- Data
- mais profunda
- definido
- definição
- definições
- Grau
- implantar
- implantado
- projetado
- concepção
- detalhado
- detalhes
- diferente
- díspar
- diferente
- domínio
- domínios
- duplo
- down
- desenhado
- dinâmico
- cada
- facilidade
- maneira mais fácil é
- Eficaz
- eficientemente
- ou
- incorporado
- colaboradores
- permite
- end-to-end
- Ponto final
- Motor
- Engenharia
- Inglês
- aumentar
- Empreendimento
- estabelece
- estabelecendo
- exemplo
- expansivo
- vasta experiência
- especialistas
- Explicação
- extenso
- Experiência Extensiva
- extrato
- Facilitador
- financiar
- financeiro
- Financial Market
- Encontre
- Primeiro nome
- florida
- seguido
- seguinte
- segue
- Escolha
- Foundation
- fraude
- freqüente
- da
- cheio
- totalmente
- função
- mais distante
- gerar
- gerado
- gera
- geração
- generativo
- IA generativa
- ter
- OFERTE
- dado
- aconteceu
- Ter
- ter
- he
- saúde
- Herói
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- detém
- hospedado
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTML
- http
- HTTPS
- humano
- Recursos Humanos
- HÍBRIDO
- identificação
- identificado
- identifica
- identificar
- if
- ilustra
- executar
- implementação
- implementação
- melhorar
- in
- incluir
- Incluindo
- indiano
- INFORMAÇÕES
- Infraestrutura
- inovando
- entrada
- insights
- em vez disso
- Instituto
- integrar
- integrado
- integração
- Inteligência
- Inteligente
- Interface
- para dentro
- iot
- IT
- ESTÁ
- juntando
- jpg
- Julho
- Chave
- chaves
- Conhecimento
- língua
- grande
- mais recente
- aprendizagem
- Legal
- Biblioteca
- como
- LLM
- olhar
- máquina
- aprendizado de máquina
- moldadas
- fazer
- gerencia
- gerenciados
- de grupos
- muitos
- mercado
- Dados de mercado
- Marketing
- mestre
- Maximizar
- máximo
- Posso..
- significar
- média
- malha
- metadados
- método
- mínimo
- ML
- modelo
- modelos
- EQUIPAMENTOS
- modernizar
- monitoração
- Mês
- mais
- Filmes
- múltiplo
- devo
- mysql
- nome
- nomes
- natural
- Processamento de linguagem natural
- você merece...
- Cria
- Novo
- New York
- Cidade de Nova Iorque
- não técnico
- caderno
- agora
- número
- objetivos
- of
- oferecendo treinamento para distância
- Oferece
- on
- só
- Operações
- Opção
- or
- organizações
- organização
- A Nossa
- Fora
- saída
- lado de fora
- proprietários
- parte
- passar
- passou
- patente
- realizada
- platão
- Inteligência de Dados Platão
- PlatãoData
- políticas
- abertas
- Publique
- poderoso
- anterior
- preço
- em processamento
- produzir
- Produto
- produtividade
- promissor
- fornecer
- fornece
- publicado
- consultas
- questão
- Frequentes
- em vez
- em tempo real
- percebendo
- clientes
- receber
- recebe
- registrado
- relevante
- exige
- Recursos
- resposta
- respostas
- Resultados
- retorno
- certo
- Execute
- sábio
- vendas
- Salvar
- escalável
- Escala
- cenário
- programado
- seções
- Vejo
- busca
- Seqüência
- Serverless
- serviço
- Serviços
- ela
- mostrar
- mostrando
- Shows
- Encerre
- simples
- solução
- Soluções
- alguns
- Alguém
- fonte
- Fontes
- Sul
- Sul da Flórida
- especialista
- específico
- começo
- estatística
- Passo
- Passos
- estoque
- Ações
- Dê um basta
- armazenamento
- loja
- lojas
- estudo
- tal
- terno
- supply
- cadeia de suprimentos
- gestão da cadeia de abastecimento
- Suíça
- .
- mesa
- tomar
- técnicas
- Tecnologia
- modelo
- texas
- do que
- que
- A
- as informações
- A fonte
- deles
- então
- Lá.
- assim
- Este
- deles
- De terceiros
- dados de terceiros
- isto
- este ano
- Através da
- bilhete
- venda de ingressos
- para
- ferramenta
- ferramentas
- Total
- negociadas
- Viagens
- ui
- subjacente
- unificado
- universidade
- destravar
- usar
- usava
- Utilizador
- Interface de Usuário
- usuários
- usos
- utilização
- utilizado
- valor
- vário
- Ver
- volume
- foi
- assistindo
- Caminho..
- we
- Clima
- web
- serviços web
- BEM
- foram
- qual
- enquanto
- precisarão
- de
- dentro
- sem
- Atividades:
- trabalhou
- de gestão de documentos
- trabalhar
- o pior
- escrita
- ano
- Iorque
- Vocês
- investimentos
- zefirnet