Um dos avanços mais recentes em PLN (Processamentode Linguagem Natural) é a Geração Aumentada por Recuperação (RAG), uma técnica que combina os pontos fortes da recuperação de informações e da Geração Aumentada por Recuperação (RAG). A RAG é capaz de revolucionar como o software é conceitualizado, projetado e implementado, dando início a uma nova era de eficiência e criatividade impulsionadas por modelos generativos.
O que é Geração Aumentada por Recuperação (RAG)?
A RAG é um modelo de PLN que combina dois principais componentes: um gerador e um recuperador.
Gerador: este componente cria novos conteúdos, como frases ou parágrafos, em geral, com base em Large Language Models (LLMs).
Recuperador: este componente recupera informações relevantes de um conjunto predeterminado de documentos ou dados.
Para simplificar, a RAG usa o recuperador para encontrar informações úteis em uma vasta coleção de textos. Em seguida, o gerador usa essas informações para aumentar o treinamento baseado em LLM e criar um texto novo e coerente. Essa abordagem ajuda a melhorar a qualidade e a relevância do conteúdo gerado por IA. Ela aproveita novos conhecimentos, muitas vezes mais específicos para um domínio, que não fazem parte do vasto conjunto de dados usado para treinar o LLM original. É uma abordagem comumente usada em tarefas como responder a perguntas ou resumir textos.
A RAG integra ambos os processos. Como resultado, os desenvolvedores podem usar uma grande quantidade do conhecimento existente para aumentar os LLMs e melhorar a geração de conteúdo novo que seja relevante para um determinado contexto.
Como são os dados?
Os dados são a alma dos LLMs, modelos de IA generativa e aplicações de IA. Eles são usados de várias maneiras para treinar, validar e melhorar o desempenho desses modelos em diferentes domínios. Os modelos de PLN e RAG usam um tipo de dados de treinamento chamado "dados vetoriais" para determinar as relações entre conjuntos de dados.
O que são dados vetoriais?
Talvez você já tenha ouvido falar de dados vetoriais em sistemas de informação geográfica (GIS) e mapeamento. Atualmente, os dados vetoriais são usados em vários campos, como geografia, planejamento urbano, ciências ambientais e transporte. Com esse tipo de dados, é possível representar, analisar e visualizar com precisão informações espaciais, ajudando usuários a entender e tomar decisões com base em dados geográficos. Os dados vetoriais ilustram a relação ou o espaço entre pontos, como a distância entre uma cidade e outra.
Como PLN e RAG usam dados vetoriais?
Os sistemas de PLN e RAG não usam dados vetoriais da mesma forma convencional conforme usados em um GIS ou na análise espacial. No entanto, as representações vetoriais são essenciais para várias tarefas nesses sistemas. Dentro desse framework, dados vetoriais, em geral remetem a representações numéricas de palavras, frases ou documentos em um espaço vetorial de alta dimensão.
Essas representações numéricas são usadas em modelos, comumente chamados de "embeddings". Esses embeddings aprendem as relações semânticas e sintáticas entre palavras ou segmentos de texto. Por exemplo, é possível alimentar com dados de alta dimensão modelos como o watsonx.ai (da IBM) ou o Hugging Face, especializados na conversão de dados em embeddings ao transformar dados complexos em formas numéricas que os computadores podem entender.
Embora o termo "dados vetoriais" não se refira a vetores geográficos neste contexto, representar textos como vetores é fundamental para muitos aspectos do PLN e da RAG, incluindo aprendizado, recuperação e geração de representações. Com esse tipo de dados de treinamento, os modelos processam e manipulam textos de uma maneira que faz sentido, facilitando tarefas como responder a perguntas, criar resumos e gerar diálogos.
Como a RAG pode ser usada no desenvolvimento de software
1. Recuperação de informações
A recuperação de informações desempenha um papel crucial no desenvolvimento de software. Muitas vezes, os desenvolvedores precisam acessar muitos recursos, como documentação, repositórios de código, fóruns e artigos de pesquisa. A RAG simplifica esse processo porque automatiza a recuperação de informações relevantes. Isso ajuda a economizar tempo e dá aos desenvolvedor acesso a informações mais atualizadas, precisas e relevantes para o contexto.
2. Geração de linguagem natural
Após a recuperação das informações relevantes, o componente de geração de linguagem natural da RAG assume o papel principal. Isso envolve a criação de texto legível por humanos com base nos dados recuperados. No caso do desenvolvimento de software, esses textos podem ser trechos de código, documentação ou até mesmo guias interativos. O conteúdo gerado não é apenas uma cópia das informações existentes, mas sim um conteúdo personalizado conforme as necessidades específicas do desenvolvedor.
3. Refinamento iterativo
O que diferencia a RAG é o processo de refinamento iterativo. Os desenvolvedores podem interagir com o conteúdo gerado, dando feedback e refinando a saída. Essa interação bidirecional aprimora o resultado final, tornando-o mais preciso e alinhado com a intenção e o estilo de codificação do desenvolvedor. É uma abordagem iterativa que conecta a imensidão de informações aos requisitos específicos de um determinado projeto.
RAG: casos de uso no desenvolvimento de softwares
Caso de uso 1: geração de códigos
A RAG pode ser um divisor de águas na geração de códigos. Os desenvolvedores só precisam descrever a lógica ou os requisitos gerais, e o sistema recupera trechos de código pertinentes com adaptações para o contexto específico. Isso acelera o processo de codificação e incentiva o uso de práticas recomendadas.
Caso de uso 2: documentação
A documentação é um aspecto fundamental do desenvolvimento de software. Mas, muitas vezes, é negligenciada devido à falta de tempo. A RAG simplifica a criação de documentação. Com ela, é possível extrair informações de fontes relevantes e gerar automaticamente uma documentação coerente que o desenvolvedor consegue entender.
Caso de uso 3: solução e depuração de problemas
Diante de um desafio de codificação, os desenvolvedores podem usar a RAG para pesquisar soluções e receber sugestões baseadas no contexto. Isso pode acelerar bastante o processo de depuração e reduzir o tempo de inatividade.
Uso da RAG na cloud computing híbrida
As equipes de DevOps (desenvolvimento/operações de TI) e MLOps (operações de machine learning) podem utilizar a RAG em um ambiente de nuvem híbrida para, por exemplo, melhorar o gerenciamento de dados, o treinamento de modelos, a criação de documentação, os processos de monitoramento e alocação de recursos. Tudo isso contribui para aumentar a eficiência e a eficácia das operações de machine learning (aprendizado de máquina).
Dados e documentação
É possível usar a RAG para recuperar dados relevantes de fontes on-premises e baseadas na nuvem. Essa abordagem é ainda mais útil em um ambiente de nuvem híbrida, em que os dados em geral estão distribuídos por vários locais. Ao recuperar e aumentar os dados com mais eficiência, as equipes de MLOps dão aos modelos de machine learning acesso a conjuntos de dados diversos e abrangentes para treinamento e validação.
Além disso, a RAG também contribui para a automação dos processos de criação de documentação e compartilhamento de conhecimento nos fluxos de trabalho de MLOps. Os sistemas de RAG podem gerar de forma automática documentações, relatórios e resumos de experimentos de machine learning, avaliações de modelos e procedimentos de implantação usando recursos de GLN. Desse modo, é mais fácil manter registros completos das atividades e simplifica a transferência de conhecimento entre membros das equipes.
Alocação e otimização de recursos
As técnicas de RAG também podem ser integradas a fluxos de trabalho, possibilitando a alocação adaptativa de recursos e o ajuste da escala no ambiente de nuvem híbrida. Por exemplo, as equipes de MLOps podem alocar recursos computacionais de forma dinâmica por toda a infraestrutura on-premises e em plataformas baseadas em nuvem para otimizar os processos de treinamento, inferência e implantação de modelos com a geração de insights sobre o desempenho e a utilização de recursos.
O crescente ecossistema de IA
O ecossistema de soluções de dados e modelos generativos para desenvolvedores que querem aproveitar a RAG está cada vez maior. Um dos exemplos mais famosos é a OpenAI, a empresa responsável pelo ChatGPT. No momento, a OpenAI tem um assistente de RAG em release Beta que faz parte da família de modelos desenvolvidos pela empresa.
Organizações e desenvolvedores também podem implementar suas próprias versões de RAG usando um ecossistema de ferramentas e modelos de dados para criar um ambiente com postura de segurança aprimorada para casos de uso específicos. Além disso, as parcerias nesse ecossistema estão aumentando e ajudando as equipes de MLOps a começar rápido e se concentrar em entregar resultados para as empresas, em vez de desperdiçar tempo na solução de problemas e na manutenção de um conjunto complexo de diversas tecnologias independentes.
Mais informações
A Dell Technologies e a Red Hat se uniram para oferecer uma solução de inteligência artificial e machine learning para todo o stack, baseada no Dell APEX Cloud Platform for Red Hat OpenShift com o Red Hat OpenShift AI. Usando um conjunto de documentos vetorizados, o OpenShift AI no DELL APEX Cloud Platform utiliza um LLM com RAG para criar um assistente digital que não apenas contém informações sobre assuntos específicos da organização, mas também fornece respostas atualizadas aos usuários.
A Red Hat continua a desenvolver seu ecossistema de parceiros de software e hardware para oferecer soluções completas voltadas à criação, implantação e gerenciamento de modelos de ML e aplicações inteligentes com tecnologia de IA.
Conheça as soluções criadas com parceiros de software e hardware certificadas no Red Hat OpenShift para todas as cargas de trabalho de inteligência artificial e machine learning no Red Hat Ecosystem Catalog.
Sobre o autor
Adam Wealand's experience includes marketing, social psychology, artificial intelligence, data visualization, and infusing the voice of the customer into products. Wealand joined Red Hat in July 2021 and previously worked at organizations ranging from small startups to large enterprises. He holds an MBA from Duke's Fuqua School of Business and enjoys mountain biking all around Northern California.
Mais como este
Navegue por canal
Automação
Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes
Inteligência artificial
Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente
Nuvem híbrida aberta
Veja como construímos um futuro mais flexível com a nuvem híbrida
Segurança
Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias
Edge computing
Saiba quais são as atualizações nas plataformas que simplificam as operações na borda
Infraestrutura
Saiba o que há de mais recente na plataforma Linux empresarial líder mundial
Aplicações
Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações
Programas originais
Veja as histórias divertidas de criadores e líderes em tecnologia empresarial
Produtos
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Red Hat Cloud Services
- Veja todos os produtos
Ferramentas
- Treinamento e certificação
- Minha conta
- Suporte ao cliente
- Recursos para desenvolvedores
- Encontre um parceiro
- Red Hat Ecosystem Catalog
- Calculadora de valor Red Hat
- Documentação
Experimente, compre, venda
Comunicação
- Contate o setor de vendas
- Fale com o Atendimento ao Cliente
- Contate o setor de treinamento
- Redes sociais
Sobre a Red Hat
A Red Hat é a líder mundial em soluções empresariais open source como Linux, nuvem, containers e Kubernetes. Fornecemos soluções robustas que facilitam o trabalho em diversas plataformas e ambientes, do datacenter principal até a borda da rede.
Selecione um idioma
Red Hat legal and privacy links
- Sobre a Red Hat
- Oportunidades de emprego
- Eventos
- Escritórios
- Fale com a Red Hat
- Blog da Red Hat
- Inclusão na Red Hat
- Cool Stuff Store
- Red Hat Summit