A paisagem da inteligência artificial está evoluindo rapidamente, com a Geração Aumentada de Recuperação (RAG) emergindo como uma técnica fundamental. A RAG capacita os sistemas de IA a fornecer respostas mais informadas e contextualmente relevantes, integrando perfeitamente as capacidades dos modelos de IA generativa com fontes de dados externas. Esta abordagem transcende as limitações de depender apenas da base de conhecimento pré-existente de um modelo. Neste artigo, mergulhamos no potencial transformador de conectores de dados personalizados dentro do Amazon Bedrock Knowledge Bases, mostrando como eles simplificam a criação de workflows RAG que aproveitam dados de entrada personalizados. Esta funcionalidade permite que o Amazon Bedrock Knowledge Bases ingira dados de streaming, permitindo que os desenvolvedores adicionem, atualizem ou excluam informações dinamicamente dentro de suas bases de conhecimento por meio de chamadas diretas de API.
Considere as inúmeras aplicações onde a ingestão de dados em tempo real é crítica: analisar padrões de clickstream, processar transações de cartão de crédito, interpretar dados de sensores da Internet das Coisas (IoT), conduzir análise de logs e monitorar preços de commodities. Em tais cenários, tanto os dados atuais quanto as tendências históricas desempenham um papel vital na tomada de decisões informadas. Tradicionalmente, a incorporação de tais entradas de dados críticas exigia a organização dos dados em uma fonte de dados suportada, seguida pela iniciação ou agendamento de um trabalho de sincronização de dados. A duração deste processo variou dependendo da qualidade e do volume dos dados. No entanto, com conectores de dados personalizados, as organizações podem ingerir rapidamente documentos específicos de fontes de dados personalizadas sem a necessidade de uma sincronização completa e ingerir dados de streaming sem depender do armazenamento intermediário. Esta abordagem minimiza atrasos e elimina a sobrecarga de armazenamento, levando a um acesso mais rápido aos dados, latência reduzida e desempenho aprimorado do aplicativo.
Com a ingestão de streaming por meio de conectores personalizados, o Amazon Bedrock Knowledge Bases pode processar dados de streaming sem a necessidade de fontes de dados intermediárias. Isso permite que os dados se tornem disponíveis quase em tempo real. Essa capacidade segmenta e converte automaticamente os dados de entrada em embeddings usando o modelo Amazon Bedrock escolhido, armazenando tudo no banco de dados vetorial de back-end. Este processo simplificado se aplica a bancos de dados novos e existentes, permitindo que você se concentre na criação de aplicativos de IA sem o ônus de orquestrar chunking de dados, geração de embedding ou provisionamento e indexação de armazenamento de vetores. Além disso, a capacidade de ingerir documentos específicos de fontes de dados personalizadas reduz a latência e diminui os custos operacionais, eliminando os requisitos de armazenamento intermediário.
Amazon Bedrock: Uma Fundação para IA Generativa
O Amazon Bedrock é um serviço totalmente gerenciado que oferece uma seleção diversificada de modelos de fundação (FMs) de alto desempenho de empresas líderes de IA como Anthropic, Cohere, Meta, Stability AI e Amazon, acessíveis por meio de uma API unificada. Este serviço abrangente fornece uma ampla gama de capacidades que permitem que você desenvolva aplicativos de IA generativa com recursos robustos de segurança, privacidade e IA responsável. Com o Amazon Bedrock, você pode explorar e avaliar FMs de primeira linha para seu caso de uso específico, personalizá-los em particular com seus próprios dados usando técnicas como ajuste fino e RAG, e construir agentes inteligentes que podem executar tarefas usando seus sistemas e fontes de dados empresariais.
Amazon Bedrock Knowledge Bases: Aumentando a IA com Conhecimento
O Amazon Bedrock Knowledge Bases capacita as organizações a construir pipelines RAG totalmente gerenciados que enriquecem as respostas da IA com informações contextuais derivadas de fontes de dados privadas. Isso leva a interações mais relevantes, precisas e personalizadas. Ao aproveitar o Amazon Bedrock Knowledge Bases, você pode criar aplicativos que são aprimorados pelo contexto obtido ao consultar uma base de conhecimento. Acelera o tempo de lançamento no mercado, abstraindo as complexidades da construção de pipelines e fornecendo uma solução RAG pronta para uso. Isso reduz o tempo de desenvolvimento de seus aplicativos.
Conectores personalizados: A chave para a ingestão de streaming perfeita
O Amazon Bedrock Knowledge Bases oferece suporte para conectores personalizados e ingestão de dados de streaming. Isso permite adicionar, atualizar e excluir dados em sua base de conhecimento por meio de chamadas diretas de API, oferecendo flexibilidade e controle sem precedentes.
Construindo um Analisador de Preços de Ações de IA Generativa com RAG: Uma Visão Geral da Solução
Neste artigo, demonstramos uma arquitetura RAG usando o Amazon Bedrock Knowledge Bases, conectores personalizados e tópicos criados com o Amazon Managed Streaming for Apache Kafka (Amazon MSK) para permitir que os usuários analisem as tendências de preços das ações. O Amazon MSK é um serviço de streaming de dados que simplifica o gerenciamento da infraestrutura e das operações do Apache Kafka, facilitando a execução de aplicativos Apache Kafka no Amazon Web Services (AWS). A solução permite a análise em tempo real do feedback do cliente por meio de embeddings vetoriais e modelos de linguagem grandes (LLMs).
Componentes Arquiteturais
A arquitetura consiste em dois componentes principais:
Workflow de Pré-processamento de Dados de Streaming:
- Um arquivo .csv contendo dados de preços de ações é carregado em um tópico MSK, simulando entrada de streaming.
- Isso aciona uma função AWS Lambda.
- A função ingere os dados consumidos em uma base de conhecimento.
- A base de conhecimento utiliza um modelo de embeddings para transformar os dados em um índice vetorial.
- O índice vetorial é armazenado em um banco de dados vetorial dentro da base de conhecimento.
Execução em Tempo de Execução Durante Consultas do Usuário:
- Os usuários enviam consultas sobre os preços das ações.
- O modelo de fundação usa a base de conhecimento para encontrar respostas relevantes.
- A base de conhecimento retorna os documentos relevantes.
- O usuário recebe uma resposta com base nesses documentos.
Design de Implementação: Um Guia Passo a Passo
A implementação envolve as seguintes etapas principais:
- Configuração da Fonte de Dados: Configure um tópico MSK para transmitir preços de ações de entrada.
- Configuração do Amazon Bedrock Knowledge Bases: Crie uma base de conhecimento no Amazon Bedrock usando a opção de criação rápida de um novo armazenamento de vetores, que provisiona e configura automaticamente o armazenamento de vetores.
- Consumo e Ingestão de Dados: Sempre que os dados chegam ao tópico MSK, acione uma função Lambda para extrair índices de ações, preços e informações de timestamp e alimenta o conector personalizado para o Amazon Bedrock Knowledge Bases.
- Teste a Base de Conhecimento: Avalie a análise de feedback do cliente usando a base de conhecimento.
Passo a Passo da Solução: Construindo sua Ferramenta de Análise de Ações
Siga as instruções nas seções abaixo para construir uma ferramenta de análise de ações de IA generativa usando o Amazon Bedrock Knowledge Bases e conectores personalizados.
Configurando a Arquitetura: Implantando o Modelo do CloudFormation
Para implementar esta arquitetura, implante o modelo do AWS CloudFormation deste repositório GitHub em sua conta da AWS. Este modelo implanta os seguintes componentes:
- Nuvens privadas virtuais (VPCs), sub-redes, grupos de segurança e funções do AWS Identity and Access Management (IAM).
- Um cluster MSK hospedando um tópico de entrada do Apache Kafka.
- Uma função Lambda para consumir dados de tópico do Apache Kafka.
- Um bloco de notas do Amazon SageMaker Studio para configuração e habilitação.
Criando um Tópico do Apache Kafka: Configurando o Fluxo de Dados
No cluster MSK pré-criado, os brokers já estão implantados e prontos para uso. O próximo passo é conectar-se ao cluster MSK e criar o tópico de fluxo de teste usando uma instância de terminal do SageMaker Studio. Siga as instruções detalhadas em Criar um tópico no cluster Amazon MSK.
As etapas gerais são:
- Baixe e instale o cliente Apache Kafka mais recente.
- Conecte-se à instância do broker do cluster MSK.
- Crie o tópico de fluxo de teste na instância do broker.
Criando uma Base de Conhecimento no Amazon Bedrock: Conectando-se aos seus Dados
Para criar uma base de conhecimento no Amazon Bedrock, siga estas etapas:
- No console do Amazon Bedrock, na página de navegação esquerda, em Ferramentas do construtor, escolha Bases de Conhecimento.
- Para iniciar a criação da base de conhecimento, no menu suspenso Criar, escolha Base de conhecimento com armazenamento de vetores, conforme mostrado na captura de tela a seguir.
- No painel Fornecer detalhes da base de conhecimento, insira
BedrockStreamIngestKnowledgeBase
como o Nome da base de conhecimento. - Em Permissões do IAM, escolha a opção padrão, Criar e usar uma nova função de serviço, e (opcional) forneça um Nome da função de serviço, conforme mostrado na captura de tela a seguir.
- No painel Escolher fonte de dados, selecione Personalizado como a fonte de dados onde seu conjunto de dados está armazenado
- Escolha Próximo, conforme mostrado na captura de tela a seguir
- No painel Configurar fonte de dados, insira
BedrockStreamIngestKBCustomDS
como o Nome da fonte de dados. - Em Estratégia de análise, selecione Analisador padrão do Amazon Bedrock e para Estratégia de chunking, escolha Chunking padrão. Escolha Próximo, conforme mostrado na captura de tela a seguir.
- No painel Selecionar modelo de embeddings e configurar armazenamento de vetores, para Modelo de embeddings, escolha Titan Text Embeddings v2. Para Tipo de embeddings, escolha Embeddings vetoriais de ponto flutuante. Para Dimensões vetoriais, selecione 1024, conforme mostrado na captura de tela a seguir. Certifique-se de que você solicitou e recebeu acesso ao FM escolhido no Amazon Bedrock. Para saber mais, consulte Adicionar ou remover acesso aos modelos de fundação do Amazon Bedrock.
- No painel Banco de dados de vetores, selecione Criar rapidamente um novo armazenamento de vetores e escolha a nova opção Amazon OpenSearch Serverless como o armazenamento de vetores.
- Na próxima tela, revise suas seleções. Para finalizar a configuração, escolha Criar.
- Em alguns minutos, o console exibirá sua base de conhecimento recém-criada.
Configurando o Consumidor Apache Kafka do AWS Lambda: Acionando a Ingestão de Dados
Agora, configure a função Lambda do consumidor para ser acionada assim que o tópico Apache Kafka de entrada receber dados usando chamadas de API.
- Configure o ID da Base de Conhecimento do Amazon Bedrock criado manualmente e seu ID de Fonte de Dados personalizada como variáveis de ambiente dentro da função Lambda. Quando você usa o notebook de amostra, os nomes e IDs de função referidos serão preenchidos automaticamente.
Mergulho Profundo: Revelando o Poder do Amazon Bedrock Knowledge Bases com Conectores Personalizados para Ingestão de Dados em Tempo Real
A convergência de IA generativa e fluxos de dados em tempo real está desbloqueando oportunidades sem precedentes para as empresas obterem insights mais profundos, automatizarem processos críticos e fornecerem experiências personalizadas. O Amazon Bedrock Knowledge Bases, juntamente com conectores personalizados, está na vanguarda desta revolução, permitindo que as organizações integrem perfeitamente dados de streaming de diversas fontes como o Apache Kafka em seus aplicativos baseados em IA.
Esta capacidade transcende as limitações dos métodos tradicionais de ingestão de dados, que frequentemente envolvem processos complexos de organização, transformação e sincronização. Com conectores personalizados, os dados podem ser ingeridos diretamente no Knowledge Base quase em tempo real, eliminando a latência e capacitando os modelos de IA a reagir dinamicamente às condições variáveis.
Casos de Uso em Diversas Indústrias
Os benefícios desta abordagem são abrangentes e aplicáveis a uma ampla gama de indústrias.
- Serviços Financeiros: Bancos e empresas de investimento podem aproveitar dados de mercado em tempo real e fluxos de transações de clientes para detectar fraudes, personalizar recomendações de investimento e automatizar estratégias de negociação. Imagine um sistema baseado em IA que analisa transações de cartão de crédito em tempo real, sinalizando atividades suspeitas e evitando compras fraudulentas antes que elas ocorram.
- Varejo: As empresas de e-commerce podem analisar dados de clickstream e feeds de mídia social para entender o comportamento do cliente, personalizar recomendações de produtos e otimizar estratégias de preços. Isso permite ajustes dinâmicos em campanhas de marketing e gerenciamento de inventário com base na demanda em tempo real.
- Manufatura: Os fabricantes podem usar dados de sensores de IoT de equipamentos de fábrica para prever necessidades de manutenção, otimizar processos de produção e melhorar a qualidade do produto. Por exemplo, um sistema de IA pode analisar dados de vibração de uma máquina para identificar possíveis falhas antes que elas levem a tempo de inatividade dispendioso.
- Assistência Médica: Os hospitais podem analisar fluxos de dados de pacientes para detectar sinais precoces de doença, personalizar planos de tratamento e melhorar os resultados dos pacientes. O monitoramento em tempo real de sinais vitais pode alertar a equipe médica sobre mudanças críticas na condição de um paciente, permitindo uma intervenção mais rápida e um melhor atendimento.
Principais Benefícios: Além dos Dados em Tempo Real
As vantagens de usar o Amazon Bedrock Knowledge Bases com conectores personalizados vão além de simplesmente ingerir dados em tempo real.
- Latência Reduzida: Ao eliminar a necessidade de armazenamento intermediário e processos de sincronização, as organizações podem reduzir significativamente o tempo que leva para disponibilizar os dados para os modelos de IA. Isso leva a tempos de resposta mais rápidos e aplicativos mais dinâmicos.
- Custos Operacionais Mais Baixos: Os conectores personalizados reduzem os custos operacionais, eliminando a necessidade de gerenciar e manter pipelines de dados complexos. Isso libera recursos valiosos que podem ser investidos em outras áreas do negócio.
- Qualidade de Dados Aprimorada: Ao ingerir dados diretamente da fonte, as organizações podem garantir que seus modelos de IA estejam trabalhando com as informações mais precisas e atualizadas. Isso leva a melhores insights e resultados mais confiáveis.
- Maior Flexibilidade: Os conectores personalizados permitem que as organizações se conectem a uma ampla gama de fontes de dados, independentemente de seu formato ou localização. Isso fornece a flexibilidade para aproveitar todos os seus ativos de dados, independentemente de onde estejam armazenados.
- Desenvolvimento Simplificado: O Amazon Bedrock Knowledge Bases oferece uma experiência de desenvolvimento simplificada, abstraindo as complexidades da ingestão e gerenciamento de dados. Isso permite que os desenvolvedores se concentrem na criação de aplicativos de IA que entregam valor real para os negócios.
Mergulho Mais Profundo: Conectores Personalizados Sob o Capô
Para apreciar totalmente o poder dos conectores personalizados, é importante entender como eles funcionam. Um conector personalizado é essencialmente um trecho de código que permite que o Amazon Bedrock Knowledge Bases se conecte a uma fonte de dados específica. Este código é responsável por extrair dados da fonte, transformá-los em um formato compatível com o Knowledge Base e ingeri-los no sistema.
- Integração de API: Os conectores personalizados normalmente interagem com fontes de dados por meio de APIs. Essas APIs fornecem uma maneira padronizada de acessar dados e realizar operações.
- Transformação de Dados: A transformação de dados é uma etapa crítica no processo. Os conectores personalizados geralmente precisam transformar os dados de seu formato nativo em um formato compatível com o Knowledge Base. Isso pode envolver a conversão de tipos de dados, a limpeza de dados e o enriquecimento de dados com informações adicionais.
- Ingestão de Streaming: A chave para a ingestão de dados em tempo real é a capacidade de transmitir dados continuamente. Os conectores personalizados geralmente usam APIs de streaming para receber dados à medida que são gerados, permitindo atualizações quase em tempo real para o Knowledge Base.
- Segurança: A segurança é uma preocupação primordial ao conectar-se a fontes de dados. Os conectores personalizados precisam ser projetados com a segurança em mente, garantindo que os dados sejam protegidos tanto em trânsito quanto em repouso.
Conclusão: Abraçando o Futuro da IA com Dados em Tempo Real
O Amazon Bedrock Knowledge Bases com conectores personalizados representa um avanço significativo no campo da IA. Ao permitir que as organizações integrem perfeitamente fluxos de dados em tempo real em seus aplicativos de IA, esta tecnologia desbloqueia uma riqueza de novas oportunidades para inovação e crescimento dos negócios. À medida que a IA continua a evoluir, a capacidade de aproveitar dados em tempo real se tornará cada vez mais crítica. O Amazon Bedrock Knowledge Bases está posicionado para ser um facilitador chave desta tendência, capacitando as organizações a construir soluções de IA que sejam mais dinâmicas, responsivas e inteligentes do que nunca.