ANÚNCIO

~/questoes/agentes-de-ia

O que o MultiQueryRetriever faz de diferente em relação a um Retriever simples?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Aula 16: Recuperadores no LangChain – Curso Completo para Iniciantes
Para fixar

MultiQueryRetriever: Buscas Mais Inteligentes e Completas

Conceito central

O MultiQueryRetriever usa um modelo de linguagem para gerar automaticamente várias versões diferentes da mesma pergunta do usuário, depois faz buscas com cada uma dessas variações e combina os resultados. Isso evita que informações importantes fiquem de fora apenas porque a busca inicial não encontrou a formulação correta.

Por que essa resposta faz sentido

O MultiQueryRetriever gera variações automáticas da query usando um LLM e combina os resultados de todas essas buscas. Quando você faz uma pergunta, ele pode reformulá-la de múltiplos ângulos, aumentando as chances de encontrar documentos relevantes que uma busca simples deixaria passar.

Armadilhas comuns

  • Confundir MultiQueryRetriever com simple keyword splitting: não é apenas quebrar a pergunta em palavras, e sim usar IA para reformular a pergunta de jeitos inteligentes e semanticamente diferentes.
  • Pensar que serve para integrar múltiplos idiomas: o objetivo é potencializar a busca em um mesmo idioma, reformulando a pergunta para cobrir diferentes formas de expressar a mesma ideia.
  • Achar que é para processar múltiplos usuários simultaneamente: trabalha com uma única pergunta do usuário, mas a reformula de vários ângulos antes de buscar.

Entenda as alternativas

A

Dividir a consulta em palavras-chave e buscar cada uma separadamente é uma estratégia básica de busca, não é o que o MultiQueryRetriever faz. Ele não apenas quebra em palavras, mas usa inteligência para gerar reformulações completas e semânticas da pergunta.

B

Retornar documentos em múltiplos idiomas é uma questão de configuração de bancos de dados multilingues, não é o diferencial do MultiQueryRetriever. Esse componente trabalha com a mesma língua, mas com formulações diferentes.

C

Processar múltiplas consultas de usuários diferentes simultaneamente é um problema de escalabilidade e concorrência, não é o propósito do MultiQueryRetriever. Ele trabalha com uma única consulta original de um usuário.

D

Esta é a resposta correta. O MultiQueryRetriever gera variações automáticas da mesma query usando um LLM (por exemplo, refraseando a pergunta de formas diferentes) e combina os resultados de todas essas buscas para um resultado mais completo e relevante.

Dica prática: Imagine que você quer buscar sobre 'como configurar um banco de dados'. Um Retriever simples faz uma busca com essa frase exata. O MultiQueryRetriever, antes de buscar, gera variações como 'passos para montar um banco de dados', 'instalação e setup de BD', 'guia de setup de banco de dados'. Depois combina os resultados de todas essas buscas, encontrando muito mais documentos relevantes.

Revise pensando: Se um MultiQueryRetriever reformula a mesma pergunta de múltiplas maneiras antes de buscar, qual é a vantagem principal disso comparado a fazer apenas uma busca com a pergunta original?