Desenvolvendo soluções de IA Generativa com dados proprietários de forma eficiente e segura - Instituto Eldorado
03 de Junho de 2024

Desenvolvendo soluções de IA Generativa com dados proprietários de forma eficiente e segura

Gabriel

Gabriel Talasso

Autor
Gabriel

Geise Santos

Autor

Nos últimos anos, e até o presente, a Inteligência Artificial (IA) tem proporcionado diversos avanços em aplicações antes inimagináveis, aumentando a eficiência de processos, facilitando tarefas complexas e melhorando a performance de pessoas e organizações nos mais diversos campos. Uma área que tem se destacado é a aplicação de Processamento de Linguagem Natural (Natural Language Processing – NLP, no inglês), a qual se baseia em utilizar os famosos Grandes Modelos de Linguagem (Large Language Model – LLM, no inglês) para a criação de soluções, produtos e aplicações uma vez que esses são capazes de extrair informações, responder perguntas, realizar traduções e outras tarefas mais específicas a depender do problema de negócios. 

Comumente, as aplicações criadas usando LLMs necessitam de contexto específico para se obter respostas mais direcionadas e personalizadas. Muitas vezes, o contexto necessário se encontra em documentos privados de pessoas ou organizações. Por exemplo, para que um Chatbot seja capaz de responder adequadamente e ajudar seus usuários (ex. colaboradores, clientes, parceiros e etc) com questões específicas e internas de um produto é necessário que informações adicionais com especificidades sejam fornecidas ao modelo. Comumente, as aplicações criadas usando LLMs necessitam de contexto específico para melhorar sua eficácia uma vez que se requer respostas mais personalizadas e adaptadas. Nesse cenário, uma famosa técnica nomeada de RAG (do inglês “Retrieval-Augmented Generation”) tem se destacado para fornecer ao modelo conhecimentos adicionais que não foram apresentados durante o treinamento. 

O RAG é utilizado para geração de texto com LLMs e com capacidades de recuperação de informações, permitindo que o modelo gere respostas baseadas em contextos específicos. Para isso o RAG possui diversos componentes, os quais podem ser adaptados e modificados a depender da complexidade da solução sendo desenvolvida.  

A seguir pode-se ver um exemplo do RAG para uma aplicação de Chatbot com dados privados, permitindo a melhora na qualidade da resposta: 

Cada passo desse diagrama possui customizações possíveis de acordo com a aplicação ou até mesmo para permitir a realização de diferentes tarefas. Por exemplo, existem diversas técnicas de busca pelas informações, variando desde a forma de representar os documentos (dependendo se eles são apenas texto, ou são compostos por imagens, áudios ou tabelas) até os mecanismos para identificar qual deles seriam mais relevantes através da análise de similaridade com a requisição feita, ou modificar o tamanho da recuperação, retornando apenas partes do texto em vez de documentos inteiros.  

Ainda é possível agir em outros componentes como por exemplo técnicas de engenharia de Prompt para melhorar o entendimento do LLM sobre os dados retornados, ou até mesmo mudar o modelo a depender de necessidades de custo, eficiência e performance (tanto em qualidade da resposta como em tempo de processamento). 

Os especialistas em IA do Instituto ELDORADO exploram todas essas possibilidades para oferecer soluções com as ferramentas e técnicas mais adequadas para a necessidade de cada cliente. Uma das soluções que oferecemos pensando na privacidade, flexibilidade e agilidade no desenvolvimento envolve o uso do serviço Amazon Bedrock da AWS. Este serviço possui uma variedade de recursos para ajudar os desenvolvedores a construírem aplicações de IA conversacional usando RAG de forma bastante customizável.  

Alguns dos benefícios de se utilizar o Bedrock para desenvolver soluções são: 

  • Conexão segura entre os modelos e as fontes de dados: fornece uma maneira segura de conectar seus LLMs a suas fontes de dados, para que você possa ter certeza de que seus dados estão protegidos. 
  • Recuperação fácil de dados relevantes e aumento de prompts: facilita recuperar dados relevantes de suas fontes de dados e aumentar prompts com essas informações. Isso pode ajudar a melhorar a qualidade e a relevância das respostas do seu modelo. 
  • Atribuição de fonte: fornece atribuição de fonte para os dados recuperados, para que você possa saber de onde vêm as informações usadas em suas respostas. 
  • Uso de outras ferramentas da AWS:  permite a integração com facilidade de outros recursos disponíveis como por exemplo Instâncias S3, Amazon Lex, Contêineres etc. 

Além disso, o Amazon Bedrock possui a opção de trabalhar pelo próprio portal da AWS para fazer implementações prontas de ponta-a-ponta de maneira facilitada e rápida, ou ainda o uso de bibliotecas Python para criar soluções adaptáveis e com uso de recursos externos de outras ferramentas como LangChain e LlamaIndex. 

Essa flexibilidade permite adaptação para casos específicos (como uso em outras linguagens, criação de agentes, recuperação multimodal e etc) utilizando os recursos e a facilidade disponibilizada pela Bedrock. 

Dentro do ELDORADO já utilizamos soluções com o Amazon Bedrock para facilitar e acelerar o ganho de produtividade de negócios e aplicações. Dessa forma, estamos prontos e capacitados para utilizar essas técnicas juntamente com os serviços da AWS e ajudar você com seu problema específico de negócio utilizando IA Generativa com segurança, privacidade e eficiência. 

Figura: Ilustração de um Chatbot funcionando com o Amazon Bedrock e utilizando artigos da área de IA como base de documentos. 

Cadastre-se em nossa newsletter