Unidade 4 / 11

Estratégias de recuperação: Top-k, Híbrido, Reclassificação

Ganhos:

  • Implementando pesquisa híbrida que combina seleção top-k e pesquisa semântica e por palavra-chave
  • Aumentando a precisão da primeira pesquisa com reclassificação
  • Tornando perguntas difíceis mais pesquisáveis com técnicas como transformação de consulta e HyDE

Você triturou bem os documentos e os colocou no banco de dados de vetores. Agora o verdadeiro trabalho: buscar as peças certas quando o usuário faz uma pergunta. Isso é chamado de recuperação e é a espinha dorsal da qualidade RAG. Lembre-se da frase “Qualidade de recuperação = qualidade RAG”; Esta unidade é exatamente a arte de melhorar essa qualidade. Abordaremos técnicas práticas desde a seleção top-k até a pesquisa híbrida, desde a reclassificação até a transformação da consulta.

Top-k: Quantas peças levaremos?

A configuração mais básica: quantas peças (k) retornar da pesquisa. Se você trouxer menos (k=1) há grande risco de perder a peça correta; Se você adicionar muito (k = 20), isso adicionará ruído ao modelo e o custo do token aumentará.

Distinguir entre dois conceitos. Lembre-se: a taxa na qual a peça correta está entre as recuperadas. Precisão: a taxa na qual o que é recuperado é relevante. Aumentar k aumenta a recuperação, mas diminui a precisão. O objetivo é equilibrar os dois.

top-k

Impacto

situação adequada

1-3

Alta precisão, risco de erro

Perguntas simples e de uma resposta

4-8

Equilíbrio; a maioria dos cenários

RAG corporativo geral

10-20

Maior recall, o ruído aumenta

Com reclassificação (abaixo)

Dica: padrão comum e poderoso: busca ampla (k = 20) e, em seguida, estreita com reclassificação (4 primeiros). Dessa forma você não perderá nada e dará um contexto limpo ao modelo.

Pesquisa híbrida: o poder de duas pesquisas

A pesquisa semântica (vetorial) captura o significado, mas perde algumas coisas: código completo do produto ("XR-4471"), abreviatura rara, nome próprio, número da versão. Para essas tarefas de correspondência exata, a pesquisa por palavras-chave tradicional – especialmente o algoritmo clássico chamado BM25 – é muito boa.

A pesquisa híbrida combina os dois: tanto a pesquisa semântica quanto a por palavra-chave funcionam, combinando os resultados. Assim, numa questão como “Período de garantia do

A fusão geralmente é feita com RRF (Reciprocal Rank Fusion): avança a faixa que está mais alta em ambas as listas.

# Recuperação híbrida (conceitual)sem = vector_search(question, k=20) # meaningkey = bm25_search(question, k=20) # fullwordresult = rrf_merge(sem, key)[:8] # fundir os dois, top 8

Reclassificação: segundo e mais inteligente passe

A primeira ligação pode ser rápida, mas rude. A reclassificação pontua os candidatos retornados pela primeira pesquisa, um por um, com um modelo mais poderoso (geralmente um codificador cruzado – um modelo que lê a pergunta e a passagem juntas e pontua a relevância) e move os mais relevantes para o topo.

A lógica é esta: a primeira pesquisa atribui um grande número de candidatos para recall (20 candidatos), o reclassificador seleciona os 4 melhores para precisão. Essa abordagem em dois estágios é muito mais precisa do que uma pesquisa em um único estágio. Custa algum atraso e processamento adicional; O ganho é um aumento significativo na qualidade.

# Recuperação em dois estágios (conceitual)candidatos = hybrid_search(question, k=20) # amplo, quickscore = reranker.score(question, candidates) # pontuação de relevância para cada contexto de candidato = rating.rank()[:4] # top 4

Transformando a consulta

Às vezes o problema não está na busca, mas na própria pergunta. Se o usuário perguntar “e os trabalhadores remotos?” ', isso não pode ser buscado sozinho (não está claro o que é para trabalhadores remotos). Aqui estão as técnicas de transformação de consulta:

  • Reescrever: Use o histórico de conversas para tornar a pergunta autônoma: "O que os trabalhadores remotos têm direito a férias anuais?"
  • Multi-consulta: Gere 3 expressões diferentes da mesma pergunta, pesquise com todas elas, combine os resultados. Palavras diferentes encontram peças diferentes.
  • HyDE (Hypothetical Document Embeddings): Primeiro imprima uma "resposta possível" ao modelo, depois incorpore e procure por essa resposta imaginária. A resposta imaginária às vezes é melhor encontrada porque está mais próxima em palavras do documento real.

# Multi-query (conceitual)variants = model.uret("Expresse esta questão de 3 maneiras diferentes: " + question)tum_sonuc = []for v em variantes: all_sonuc += vector_intermediate(v, k=6)context = singular_and_order(tum_result)[:6]

Recuperação Fraca/Recuperação Forte

Fraco (estágio único, apenas semântica, constante k=3):

result = vector_search(question, k=3)# Problema: o código do produto foi perdido, não é possível inserir a parte 3 correta em questões difíceis.

Poderoso (híbrido + widek + reclassificação + consulta múltipla, se necessário):

candidate = hybrid_search(rewrite(question, past), k=20)context = reranker.score(question, candidate).first(4)# Tanto a correspondência exata quanto o significado são capturados; Vai para os 4 melhores modelos.

Três Mini Estojos

Caso 1 — Código do produto escapado. Uma pesquisa semântica pura em uma equipe de suporte não conseguiu encontrar “RTX-9080” literalmente na pergunta “Erro de driver RTX-9080”; Ele estava trazendo outros produtos com nomes semelhantes. Quando a busca híbrida foi adicionada, ocorreu correspondência exata de códigos e a taxa de retorno de artigos corretos aumentou de 58% para 92%.

Caso 2 — Diferença de reclassificação. Um paralegal estava trabalhando com k = 5, mas o item correto é 7 a 10 na maioria das vezes. Ele estava permanecendo nas fileiras. Quando k = 20 + reclassificação foi introduzido, a taxa do artigo correto estar entre os 3 primeiros aumentou de 61% para 94%; A latência aumentou apenas 300 ms – um compromisso aceitável.

Caso 3 — Pergunta de acompanhamento sem contexto. Em um assistente de RH, o usuário pergunta “e os funcionários de meio período?” Quando perguntei, o sistema trouxe peças irrelevantes. Ao reescrever a consulta (retirando o contexto de “férias anuais” do passado e acrescentando “Funcionários de meio período têm direito a férias anuais”), a taxa de respostas corretas aumentou de 40% para 86%.

Erros comuns

  • Baseando-se apenas na pesquisa semântica: o código do produto, a abreviatura e o nome próprio são perdidos; Adicione híbrido.
  • Manter k muito pequeno: A peça correta não pode entrar na lista; torne-o amplo e estreito com reclassificação.
  • Nunca pensando em reclassificar: a primeira pesquisa é rude; O segundo passe inteligente melhora significativamente a qualidade.
  • Procurando por perguntas de acompanhamento como estão: Uma pergunta sem contexto procura coisas sem sentido; reescrever.
  • Aumentando k cegamente (sem reclassificação): O modelo fica cheio de ruído, a resposta é distorcida e o custo aumenta.
Cuidado: cada técnica acrescenta custo e atraso. Consulta múltipla significa pesquisa tripla, reclassificação significa chamada de modelo adicional. Comece com híbrido simples + k razoável primeiro; Meça e adicione técnicas pesadas onde for realmente necessário. Adicionando sem medir.

Em resumo

  • Top-k é o equilíbrio entre recall e precisão; Geralmente 4-8 é um bom começo.
  • A pesquisa híbrida combina pesquisa semântica com pesquisa por palavra-chave (BM25); Recupera correspondências exatas.
  • A reclassificação reclassifica os candidatos da ampla pesquisa inicial com um modelo robusto e seleciona os melhores.
  • A transformação de consultas (reescrita, multiconsulta, HyDE) torna pesquisáveis ​​questões difíceis e sem contexto.
  • Padrão forte: busca ampla → mesclar com híbrido → estreitar com reclassificação; mas adicione cada técnica medindo-a.

Tarefa de aplicativo

Prepare 6 questões difíceis com dados de unidades anteriores: pelo menos 2 exigindo correspondências exatas (código do produto, abreviatura, data), 2 semânticas (mesmo tópico com palavras diferentes), 2 questões de acompanhamento sem contexto. (1) Primeiro pense em cada questão como uma busca semântica pura e marque manualmente quais partes surgirão. (2) Reavaliar as mesmas questões com adição de híbrido e reclassificação. (3) Reescreva as perguntas de acompanhamento sem contexto. Anote em forma de tabela qual técnica faz diferença em qual tipo de pergunta.

lista de verificação

  • [] Eu sei que top-k é um equilíbrio de precisão de recall e um intervalo inicial razoável.
  • [] Posso explicar por que a pesquisa híbrida recupera correspondências exatas.
  • [] Posso aplicar a lógica de reclassificação em duas etapas (ampla → estreita inteligente).
  • [] Reconheço a necessidade de reescrever as perguntas de acompanhamento sem contexto.
  • [ ] Confirmo que acrescentei técnicas pesadas medindo, não medindo.