Eu gastei $500 em infraestrutura de RAG antes de cometer 7 erros

Eu construí um pipeline de RAG para busca de documentos privados. Custou-me $500 em computação e semanas de depuração. Os resultados foram ruins. Os usuários recebiam respostas irrelevantes e as consultas eram lentas.

Eu auditei o pipeline e encontrei 7 erros comuns. Corrigi-los mudou tudo.

  1. Chunking de tokens fixo Eu dividia os documentos por contagens fixas de tokens. Isso destruía o contexto. Uma frase era dividida ao meio. O LLM recebia dados fragmentados e dava respostas ruins.
  • A correção: Use semantic chunking com parent-document retrieval.
  • Divida por limites naturais, como parágrafos ou cabeçalhos.
  • Crie pequenos child chunks para a busca.
  • Retorne o documento pai completo para o LLM quando houver uma correspondência.
  • Adicione uma sobreposição de 10-20% entre os chunks.
  1. Pesos de busca padrão Eu usava uma divisão de 50/50 para busca vetorial e por palavra-chave. Para documentos técnicos, palavras-chave exatas importam mais.
  • A correção: Use pesos dinâmicos.
  • Consultas factuais: 35% vetorial, 65% palavra-chave.
  • Consultas semânticas: 75% vetorial, 25% palavra-chave.
  1. Otimização excessiva de parâmetros HNSW Eu defini o ef_construction para o valor máximo. Em um índice grande, isso derrubou meu servidor e consumiu toda a minha RAM.
  • A correção: Use configurações de HNSW apropriadas.
  • Mantenha o M entre 8 e 32.
  • Defina o ef_construction para 200.
  • Defina o ef_search para 50.
  1. Modelos de embedding errados Eu usei um modelo geral treinado em textos da web. Ele não entendia meus documentos técnicos de engenharia.
  • A correção: Mude para um modelo ajustado (fine-tuned) para conteúdo técnico ou de código.
  1. Incompatibilidade de linguagem natural Os usuários fazem perguntas como "por que meu build está lento". A documentação usa termos como "otimização de pipeline de CI". Não havia nenhuma sobreposição.
  • A correção: Adicione uma etapa de reescrita de consulta por LLM.
  • Reescreva a consulta do usuário em termos técnicos antes de realizar a busca.
  1. Contexto redundante Recuperar os 10 principais chunks muitas vezes significava obter o mesmo parágrafo três vezes. Isso causava alucinações.
  • A correção: Use Maximal Marginal Relevance (MMR) para garantir diversidade nos resultados.
  1. Avaliação apenas de ponta a ponta Eu apenas verificava a resposta final. Eu não sabia se o problema era a recuperação ou o LLM.
  • A correção: Avalie a recuperação separadamente.
  • Monitore a taxa de acerto (hit rate) e o Mean Reciprocal Rank (MRR).
  • Crie um conjunto de testes com 100 pares de consulta-documento.

Resultados após as correções: • Relevância da resposta: 45% para 85% • Latência da consulta: 3,2s para 1,8s • Custo mensal: $180 para $95

Corrija o chunking primeiro. Depois os pesos. Depois a qualidade do embedding.

Qual é a sua maior dor de cabeça com RAG? Conte-me nos comentários.

Fonte: https://dev.to/kollittle/i-spent-500-on-rag-infrastructure-before-realizing-these-7-mistakes-were-killing-my-results-iph

Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi