Retrieval Augmented Generation (RAG)
Explora como a geração aumentada por recuperação (RAG) otimiza LLMs com dados em tempo real. Aprende a criar pipelines multimodais usando o Ultralytics YOLO26 para RAG visual.
A Geração Aumentada por Recuperação (RAG) é uma técnica avançada no campo da inteligência artificial que otimiza o resultado de um Modelo de linguagem de grande porte (LLM) através da consulta a uma base de conhecimento autorizada externa aos seus dados de treino. Os modelos generativos tradicionais dependem exclusivamente de informações estáticas aprendidas durante o treino inicial, o que pode originar respostas desatualizadas ou imprecisões apresentadas com confiança, conhecidas como alucinações. A RAG colmata esta lacuna ao obter informações relevantes e atualizadas de fontes externas — como bases de dados empresariais, notícias atuais ou manuais técnicos — e fornecê-las ao modelo como contexto antes de gerar uma resposta. Este processo garante que os resultados da IA não sejam apenas linguisticamente coerentes, mas também factualmente precisos e fundamentados em dados específicos.
Como funcionam os sistemas RAG#
A arquitetura de um sistema RAG envolve normalmente duas fases principais: recuperação e geração. Este fluxo de trabalho permite aos programadores manter um modelo de base sem a necessidade dispendiosa de efetuar treinos frequentes.
-
Recuperação: Quando um utilizador envia uma consulta, o sistema realiza primeiro uma pesquisa semântica num sistema de armazenamento especializado denominado base de dados vetorial. Esta base de dados contém dados convertidos em representações numéricas conhecidas como embeddings, permitindo ao sistema encontrar informações conceptualmente semelhantes em vez de apenas corresponder palavras-chave.
-
Geração: Os documentos relevantes ou excertos de dados encontrados durante a recuperação são combinados com a pergunta original do utilizador. Este prompt enriquecido é então enviado para o modelo generativo. O modelo utiliza o contexto fornecido para sintetizar uma resposta, garantindo que esta se baseia nos factos recuperados. Para uma análise mais aprofundada do funcionamento, a IBM disponibiliza um guia abrangente sobre fluxos de trabalho RAG.
RAG visual: integração da visão computacional#
Embora a RAG se baseie tradicionalmente em texto, o crescimento da aprendizagem multimodal introduziu a «RAG visual». Neste cenário, os modelos de visão computacional atuam como mecanismo de recuperação. Analisam imagens ou fluxos de vídeo para extrair dados textuais estruturados — como nomes de objetos, contagens ou atividades — que são posteriormente fornecidos a um LLM para responder a perguntas sobre a cena visual.
Por exemplo, um programador pode utilizar YOLO26 para detetar objetos numa imagem e transmitir essa lista de objetos a um modelo de texto para gerar um relatório descritivo.
from ultralytics import YOLO
# Load the YOLO26 model for state-of-the-art detection
model = YOLO("yolo26n.pt")
# Perform inference to 'retrieve' visual facts from an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract class names to build a text context for an LLM
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
context_string = f"The scene contains: {', '.join(detected_classes)}."
print(context_string)
# Output example: "The scene contains: bus, person, person, person."Aplicações no mundo real#
A RAG está a transformar setores ao permitir que agentes de IA acedam de forma segura a dados proprietários ou em tempo real.
- Bases de conhecimento empresariais: As empresas utilizam a RAG para criar chatbots internos que respondem às perguntas dos colaboradores sobre políticas de RH ou documentação técnica. Ao ligar um LLM a um repositório de documentos atualizado, o sistema evita fornecer informações obsoletas sobre as políticas. Para saber mais sobre implementações empresariais, consulta a visão geral da Google Cloud sobre RAG no Vertex AI.
- Suporte à decisão clínica: Na IA na área da saúde, os sistemas RAG podem obter o historial do paciente e artigos recentes de investigação médica para ajudar os médicos no diagnóstico, garantindo que os conselhos têm em conta os estudos clínicos mais recentes.
- Assistentes inteligentes de retalho: As aplicações que utilizam IA no retalho recorrem à RAG para consultar bases de dados de inventário atualizadas. Se um cliente perguntar a um chatbot «Têm estas sapatilhas de corrida no tamanho 10?», o modelo obtém os níveis de stock em tempo real antes de responder, evitando a frustração causada por artigos esgotados.
RAG vs. ajuste fino#
É fundamental distinguir a RAG do ajuste fino, uma vez que resolvem problemas diferentes.
- RAG (Geração Aumentada por Recuperação): Ideal para aceder a dados dinâmicos que mudam frequentemente (por exemplo, preços de ações e notícias) ou a dados privados que não estão presentes no conjunto de treino público. Centra-se no fornecimento de novas informações em tempo de execução.
- Ajuste fino: Ideal para adaptar o comportamento, o estilo ou a terminologia do modelo. Envolve a atualização dos pesos do modelo num conjunto de dados específico. Embora o ajuste fino ajude um modelo a aprender um padrão linguístico específico (como jargão médico), não lhe dá acesso a factos em tempo real. Consulta o guia da OpenAI sobre ajuste fino vs. RAG para conhecer estruturas de apoio à tomada de decisões.
Conceitos relacionados#
- LangChain: Um framework open source popular, concebido especificamente para simplificar a criação de aplicações RAG através da combinação de recuperadores e LLMs.
- Grafo de conhecimento: Uma forma estruturada de representar dados que pode ser utilizada como fonte de recuperação, oferecendo relações contextualmente mais ricas do que a simples similaridade vetorial.
- Engenharia de prompts: A arte de criar entradas para orientar o modelo. A RAG é essencialmente uma forma automatizada de engenharia de prompts, na qual o «prompt» é enriquecido programaticamente com dados recuperados.
- Plataforma Ultralytics: Embora a RAG trate do lado da geração de texto, plataformas como esta são essenciais para gerir o pré-processamento de dados e o treino dos modelos de visão que fornecem dados visuais a pipelines RAG multimodais.









