Rocha Amazônica fornece uma ampla gama de modelos da Amazon e de fornecedores terceirizados, incluindo Anthropic, AI21, Meta, Cohere e Stability AI, e cobre uma ampla variedade de casos de uso, incluindo geração de texto e imagem, incorporação, bate-papo, agentes de alto nível com raciocínio e orquestração e muito mais. Bases de conhecimento para Amazon Bedrock permite que você crie aplicativos de geração aumentada de recuperação (RAG) personalizados e de alto desempenho com base em armazenamentos de vetores da AWS e de terceiros usando modelos da AWS e de terceiros. As bases de conhecimento do Amazon Bedrock automatizam a sincronização de seus dados com seu armazenamento de vetores, incluindo a comparação dos dados quando eles são atualizados, o carregamento e a fragmentação de documentos, bem como a incorporação semântica. Ele permite que você personalize perfeitamente seus prompts RAG e estratégias de recuperação – nós fornecemos a atribuição da fonte e cuidamos do gerenciamento de memória automaticamente. As Bases de Conhecimento são completamente sem servidor, então você não precisa gerenciar nenhuma infraestrutura e, ao usar Bases de Conhecimento, você só será cobrado pelos modelos, bancos de dados vetoriais e armazenamento que usar.
RAG é uma técnica popular que combina o uso de dados privados com grandes modelos de linguagem (LLMs). O RAG começa com uma etapa inicial para recuperar documentos relevantes de um armazenamento de dados (mais comumente um índice vetorial) com base na consulta do usuário. Em seguida, emprega um modelo de linguagem para gerar uma resposta considerando tanto os documentos recuperados quanto a consulta original.
Nesta postagem, demonstramos como construir um fluxo de trabalho RAG usando bases de conhecimento do Amazon Bedrock para um caso de uso de descoberta de medicamentos.
Visão geral das bases de conhecimento do Amazon Bedrock
As bases de conhecimento do Amazon Bedrock oferecem suporte a uma ampla variedade de tipos de arquivos comuns, incluindo .txt, .docx, .pdf, .csv e muito mais. Para permitir a recuperação eficaz de dados privados, uma prática comum é primeiro dividir esses documentos em partes gerenciáveis. A Base de Conhecimento implementou uma estratégia de agrupamento padrão que funciona bem na maioria dos casos para permitir que você comece mais rapidamente. Se você quiser mais controle, as Bases de Conhecimento permitem controlar a estratégia de agrupamento por meio de um conjunto de opções pré-configuradas. Você pode controlar o tamanho máximo do token e a quantidade de sobreposição a ser criada entre os blocos para fornecer um contexto coerente à incorporação. As bases de conhecimento do Amazon Bedrock gerenciam o processo de sincronização de dados do seu Serviço de armazenamento simples da Amazon (Amazon S3), divide-o em partes menores, gera embeddings de vetores e armazena os embeddings em um índice de vetor. Esse processo vem com comparação inteligente, rendimento e gerenciamento de falhas.
Em tempo de execução, um modelo de incorporação é usado para converter a consulta do usuário em um vetor. O índice vetorial é então consultado para localizar documentos semelhantes à consulta do usuário, comparando os vetores do documento com o vetor de consulta do usuário. Na etapa final, documentos semanticamente semelhantes recuperados do índice vetorial são adicionados como contexto para a consulta original do usuário. Ao gerar uma resposta para o usuário, os documentos semanticamente semelhantes são solicitados no modelo de texto, juntamente com a atribuição da fonte para rastreabilidade.
As bases de conhecimento do Amazon Bedrock oferecem suporte a vários bancos de dados vetoriais, incluindo Amazon OpenSearch sem servidor, Aurora Amazônica, Pinecone e Redis Enterprise Cloud. As APIs Retrieve e RetrieveAndGenerate permitem que seus aplicativos consultem diretamente o índice usando uma sintaxe unificada e padrão sem precisar aprender APIs separadas para cada banco de dados vetorial diferente, reduzindo a necessidade de escrever consultas de índice personalizadas em seu armazenamento de vetores. A API Retrieve pega a consulta recebida, converte-a em um vetor de incorporação e consulta o armazenamento de back-end usando os algoritmos configurados no nível do banco de dados vetorial; a API RetrieveAndGenerate usa um LLM configurado pelo usuário fornecido pelo Amazon Bedrock e gera a resposta final em linguagem natural. O suporte nativo à rastreabilidade informa ao aplicativo solicitante sobre as fontes usadas para responder a uma pergunta. Para implementações empresariais, as Bases de Conhecimento suportam Serviço de gerenciamento de chaves AWS criptografia (AWS KMS), AWS CloudTrail integração e muito mais.
Nas seções a seguir, demonstramos como construir um fluxo de trabalho RAG usando bases de conhecimento para Amazon Bedrock, apoiado pelo mecanismo de vetor OpenSearch Serverless, para analisar um conjunto de dados de ensaio clínico não estruturado para um caso de uso de descoberta de medicamentos. Esses dados são ricos em informações, mas podem ser muito heterogêneos. O manuseio adequado de terminologia e conceitos especializados em diferentes formatos é essencial para detectar insights e garantir a integridade analítica. Com as bases de conhecimento do Amazon Bedrock, você pode acessar informações detalhadas por meio de consultas simples e naturais.
Crie uma base de conhecimento para o Amazon Bedrock
Nesta seção, demonstramos o processo de criação de uma base de conhecimento para o Amazon Bedrock por meio do console. Conclua as seguintes etapas:
- No console Amazon Bedrock, em Orquestração no painel de navegação, escolha Base de conhecimento.
- Escolha Criar base de conhecimento.
- No Detalhes da base de conhecimento seção, insira um nome e uma descrição opcional.
- No Permissões do IAM seção, selecione Criar e usar uma nova função de serviço.
- Escolha Função de nome de serviço, insira um nome para sua função, que deve começar com
AmazonBedrockExecutionRoleForKnowledgeBase_
. - Escolha Próximo.
- No Fonte de dados seção, insira um nome para sua fonte de dados e o URI S3 onde o conjunto de dados está localizado. As bases de conhecimento suportam os seguintes formatos de arquivo:
- Texto simples (.txt)
- Remarcação (.md)
- Linguagem de marcação de hipertexto (.html)
- Documento do Microsoft Word (.doc/.docx)
- Valores separados por vírgula (.csv)
- Planilha do Microsoft Excel (.xls/.xlsx)
- Formato de documento portátil (.pdf)
- Debaixo Configurações adicionais¸ escolha sua estratégia de chunking preferida (para esta postagem, escolhemos Segmentação de tamanho fixo) e especifique o tamanho do bloco e a sobreposição em porcentagem. Alternativamente, você pode usar as configurações padrão.
- Escolha Próximo.
- No Modelo de incorporações seção, escolha o modelo Titan Embeddings do Amazon Bedrock.
- No Banco de dados de vetores seção, selecione Crie rapidamente um novo armazenamento de vetores, que gerencia o processo de configuração de um armazenamento de vetores.
- Escolha Próximo.
- Revise as configurações e escolha Criar base de conhecimento.
- Aguarde a conclusão da criação da base de conhecimento e confirme se seu status é Pronto.
- No Fonte de dados seção, ou no banner na parte superior da página ou no pop-up na janela de teste, escolha sincronização para acionar o processo de carregamento de dados do bucket S3, dividindo-os em partes do tamanho especificado, gerando embeddings de vetores usando o modelo de incorporação de texto selecionado e armazenando-os no armazenamento de vetores gerenciado pelas bases de conhecimento do Amazon Bedrock.
A função de sincronização oferece suporte à ingestão, atualização e exclusão de documentos do índice vetorial com base em alterações em documentos no Amazon S3. Você também pode usar o StartIngestionJob
API para acionar a sincronização por meio do AWS SDK.
Quando a sincronização for concluída, o histórico de sincronização mostrará o status Concluído.
Consulte a base de conhecimento
Nesta seção, demonstramos como acessar informações detalhadas na base de conhecimento por meio de consultas simples e naturais. Usamos um conjunto de dados sintéticos não estruturados que consiste em arquivos PDF, o número de página de cada um variando de 10 a 100 páginas, simulando um plano de ensaio clínico de um novo medicamento proposto, incluindo métodos de análise estatística e formulários de consentimento dos participantes. Usamos as bases de conhecimento do Amazon Bedrock retrieve_and_generate
e retrieve
APIs com Integração Amazon Bedrock LangChain.
Antes de escrever scripts que usam a API Amazon Bedrock, você precisará instalar a versão apropriada do AWS SDK em seu ambiente. Para scripts Python, este será o SDK da AWS para Python (Boto3):
Além disso, habilite o acesso ao modelo Amazon Titan Embeddings e ao Anthropic Claude v2 ou v1. Para obter mais informações, consulte Acesso ao modelo.
Gere perguntas usando Amazon Bedrock
Podemos usar o Anthropic Claude 2.1 para Amazon Bedrock para propor uma lista de perguntas a serem feitas no conjunto de dados do ensaio clínico:
Usar a API Amazon Bedrock RetrieveAndGenerate
Para uma experiência RAG totalmente gerenciada, você pode usar as bases de conhecimento nativas do Amazon Bedrock RetrieveAndGenerate
API para obter as respostas diretamente:
A fonte de informação citada pode ser obtida por meio do seguinte código (com parte da saída redigida por questões de brevidade):
Ao passar o ID da sessão do RetrieveAndGenerate
API, você pode preservar o contexto da conversa e fazer perguntas de acompanhamento. Por exemplo, sem o contexto, se você pedir mais detalhes da resposta anterior, talvez ela não consiga responder corretamente:
Mas ao passar o ID da sessão, o pipeline RAG é capaz de identificar o contexto correspondente e retornar respostas relevantes:
A tabela a seguir mostra as respostas recuperadas para todas as perguntas correspondentes.
Questão | Resposta |
Qual é o objetivo do estudo? Certifique-se de compreender os objetivos da pesquisa e o que os procedimentos do estudo implicarão. | O objetivo do estudo é testar se o lítio é eficaz na prevenção da violência autodirigida suicida repetida em pacientes com depressão ou transtorno bipolar. |
Quais são os riscos e benefícios potenciais? O formulário deve explicar todos os riscos, efeitos colaterais ou desconfortos previsíveis que você pode sentir ao participar. | Os possíveis riscos ou desconfortos incluem: as perguntas da entrevista que causam desconforto, efeitos colaterais da medicação de lítio, como náuseas, fezes moles, sede, alterações na micção, tremores, dores de cabeça, sudorese, fadiga, diminuição da concentração, erupção cutânea, alterações na tireoide, agravamento da acne /psoríase, toxicidade do lítio e riscos se a medicação for interrompida repentinamente. Os benefícios potenciais são que os testes podem levar a novas informações para ajudar o participante, e o lítio pode ajudar a prevenir a violência autodirigida suicida repetida para aqueles com depressão ou transtorno bipolar. |
O que envolverá a participação? Obtenha detalhes sobre quais exames, medicamentos, mudanças no estilo de vida ou procedimentos você realizará, quanto tempo levará e quanto tempo durará o estudo. | A participação envolverá o preenchimento de uma entrevista e questionários cobrindo pensamentos, comportamentos, tratamento de saúde mental, medicamentos, uso de álcool e drogas, apoio doméstico e social e compreensão do estudo de pesquisa. Isso leva cerca de duas horas e pode ser feito em várias sessões, pessoalmente e por telefone. Se for elegível para o estudo completo, haverá cerca de 20 visitas de estudo durante um ano. Isso envolverá tomar a medicação do estudo, verificar os sinais vitais, preencher questionários, revisar os efeitos colaterais e continuar os cuidados médicos e de saúde mental normais. |
Existem custos ou pagamentos? Pergunte se você será responsável por quaisquer custos relacionados ao estudo ou se será pago pela participação. | Sim, existem custos e pagamentos discutidos nos resultados da pesquisa. Você não será cobrado por nenhum tratamento ou procedimento que faça parte do estudo. No entanto, você ainda terá que pagar quaisquer co-pagamentos habituais do VA para cuidados e medicamentos não relacionados ao estudo. Você não será pago pela participação, mas o estudo reembolsará despesas relacionadas à participação, como transporte, estacionamento, etc. Os valores e o processo de reembolso serão fornecidos. |
Como minha privacidade será protegida? O formulário deve explicar como as suas informações pessoais de saúde serão mantidas confidenciais antes, durante e depois do estudo. | Sua privacidade será protegida através da realização de entrevistas em particular, mantendo anotações escritas em arquivos e escritórios trancados, armazenando informações eletrônicas em arquivos criptografados e protegidos por senha e obtendo um Certificado de Confidencialidade do Departamento de Saúde e Serviços Humanos para evitar a divulgação de informações que o identifiquem. . As informações que o identificam podem ser compartilhadas com os médicos responsáveis pelos seus cuidados ou para auditorias e avaliações de agências governamentais, mas palestras e documentos sobre o estudo não irão identificá-lo. |
Consultar usando a API Amazon Bedrock Retrieve
Para personalizar seu fluxo de trabalho RAG, você pode usar a API Retrieve para buscar os blocos relevantes com base em sua consulta e passá-los para qualquer LLM fornecido pelo Amazon Bedrock. Para usar a API Retrieve, defina-a da seguinte forma:
Recupere o contexto correspondente (com parte da saída redigida por questões de brevidade):
Extraia o contexto do modelo de prompt:
Importe os módulos Python e configure o modelo de prompt de resposta a perguntas no contexto e, em seguida, gere a resposta final:
Consulta usando integração Amazon Bedrock LangChain
Para criar um aplicativo de perguntas e respostas personalizado completo, o Knowledge Bases for Amazon Bedrock oferece integração com LangChain. Para configurar o recuperador LangChain, forneça o ID da base de conhecimento e especifique o número de resultados a serem retornados da consulta:
Agora configure o LangChain RetrievalQA e gere respostas a partir da base de conhecimento:
Isto irá gerar respostas correspondentes semelhantes às listadas na tabela anterior.
limpar
Certifique-se de excluir os seguintes recursos para evitar cobranças adicionais:
Conclusão
O Amazon Bedrock oferece um amplo conjunto de serviços profundamente integrados para potencializar aplicações RAG de todas as escalas, facilitando o início da análise dos dados da sua empresa. As bases de conhecimento do Amazon Bedrock integram-se aos modelos básicos do Amazon Bedrock para criar pipelines escalonáveis de incorporação de documentos e serviços de recuperação de documentos para potencializar uma ampla variedade de aplicativos internos e voltados para o cliente. Estamos entusiasmados com o futuro e seu feedback desempenhará um papel vital na orientação do progresso deste produto. Para saber mais sobre os recursos do Amazon Bedrock e das bases de conhecimento, consulte Base de conhecimento do Amazon Bedrock.
Sobre os autores
Marcos Roy é o principal arquiteto de aprendizado de máquina da AWS, ajudando os clientes a projetar e criar soluções de IA/ML. O trabalho de Mark abrange uma ampla variedade de casos de uso de ML, com interesse principal em visão computacional, aprendizado profundo e dimensionamento de ML em toda a empresa. Ele ajudou empresas em muitos setores, incluindo seguros, serviços financeiros, mídia e entretenimento, saúde, serviços públicos e manufatura. Mark possui seis certificações da AWS, incluindo a certificação de especialidade de ML. Antes de ingressar na AWS, Mark foi arquiteto, desenvolvedor e líder de tecnologia por mais de 25 anos, incluindo 19 anos em serviços financeiros.
Mani Khanuja é líder de tecnologia – Generative AI Specialists, autora do livro – Applied Machine Learning and High Performance Computing on AWS e membro do Conselho de Administração da Women in Manufacturing Education Foundation Board. Ela lidera projetos de aprendizado de máquina (ML) em vários domínios, como visão computacional, processamento de linguagem natural e IA generativa. Ela ajuda os clientes a construir, treinar e implantar grandes modelos de aprendizado de máquina em escala. Ela fala em conferências internas e externas como re:Invent, Women in Manufacturing West, webinars no YouTube e GHC 23. Em seu tempo livre, ela gosta de fazer longas corridas na praia.
Dr. Baichuan Sun, atualmente atuando como arquiteto sênior de soluções de IA/ML na AWS, concentra-se em IA generativa e aplica seu conhecimento em ciência de dados e aprendizado de máquina para fornecer soluções de negócios práticas baseadas em nuvem. Com experiência em consultoria de gestão e arquitetura de soluções de IA, ele aborda uma série de desafios complexos, incluindo visão computacional robótica, previsão de séries temporais e manutenção preditiva, entre outros. Seu trabalho é baseado em uma sólida experiência em gerenciamento de projetos, pesquisa e desenvolvimento de software e atividades acadêmicas. Fora do trabalho, o Dr. Sun gosta de viajar e passar tempo com a família e amigos.
Derrick Choo é arquiteto de soluções sênior na AWS, focado em acelerar a jornada dos clientes para a nuvem e transformar seus negócios por meio da adoção de soluções baseadas em nuvem. Sua experiência é em desenvolvimento de aplicativos full stack e aprendizado de máquina. Ele ajuda os clientes a projetar e construir soluções completas que abrangem interfaces de usuário front-end, aplicativos IoT, API e integrações de dados e modelos de aprendizado de máquina. Nas horas vagas, gosta de passar tempo com a família e experimentar fotografia e videografia.
Frank winkler é arquiteto de soluções sênior e especialista em IA generativa na AWS, baseado em Cingapura, com foco em aprendizado de máquina e IA generativa. Ele trabalha com empresas nativas digitais globais para arquitetar produtos e serviços escalonáveis, seguros e econômicos na AWS. Nas horas vagas, ele passa o tempo com o filho e a filha e viaja para curtir as ondas da ASEAN.
Nihir Chadderwala é arquiteto sênior de soluções de IA/ML na equipe global de saúde e ciências biológicas. Sua experiência está na construção de soluções baseadas em Big Data e IA para problemas de clientes, especialmente nas áreas biomédica, ciências biológicas e saúde. Ele também está entusiasmado com a interseção da ciência da informação quântica e da IA e gosta de aprender e contribuir para esse espaço. Nas horas vagas, ele gosta de jogar tênis, viajar e aprender cosmologia.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/use-rag-for-drug-discovery-with-knowledge-bases-for-amazon-bedrock/