Geavanceerde RAG-technieken zijn niet beter. Ze zijn soms beter.

Geavanceerde RAG-technieken zijn geen gratis upgrades. Het zijn tools met afwegingen.

Ik heb vijf retrieval-methoden getest op een RAG-pipeline met behulp van de Anthropic-documentatie. Ik wilde zien welke de complexiteit daadwerkelijk waard zijn.

Hier is wat ik heb gevonden:

• Dense Retrieval: De baseline. Het werkt goed, maar mist exacte termen. • Hybrid Search: Gebruikt dense plus keyword search. Het vindt exacte termen die dense mist. Maar je moet de resultaten correct wegen, anders verdwijnt het signaal. • Reranking: Gebruikt een cross-encoder om kandidaten te scoren. Dit helpt wanneer het juiste chunk te laag in de resultaten begraven ligt. • HyDE: Gebruikt een hypothetisch antwoord om data te vinden. Dit is gevaarlijk. Het helpt bij informele queries. Maar bij directe queries verpest het alles. De recall daalde in één test van 0,80 naar 0,17. • Contextual Retrieval: Voegt samenvattingen toe aan chunks. Dit helpt bij korte chunks, maar zorgt voor hogere LLM-kosten.

De belangrijkste les gaat over HyDE. Het is geen "set and forget"-tool. Je moet het alleen gebruiken wanneer de gebruikersquery en je documenten verschillende talen spreken. Je hebt een router nodig om te bepalen wanneer je het moet gebruiken.

Ik heb ook een les geleerd over meting.

Ik probeerde Ragas te gebruiken voor evaluatie. Het was te traag. Het was uren bezig met het opnieuw proberen van mislukte calls. Ik besloot mijn eigen async harness te bouwen. In plaats van 11 uur duurde mijn evaluatie slechts 221 seconden.

Behandel AI-tools niet als black boxes. Als een tool traag is of faalt, kijk dan naar de wiskunde erachter. Bouw je eigen oplossing als dat nodig is.

Het werk bestaat niet alleen uit het toevoegen van nieuwe features. Het werk is het meten van welke feature zijn plek in je systeem verdient.

Samenvatting van wanneer je welke gebruikt:

  • Hybrid: Gebruik wanneer queries afhankelijk zijn van exacte parameters.
  • HyDE: Gebruik wanneer queries slecht geformuleerd zijn.
  • Reranking: Gebruik wanneer retrieval breed maar onnauwkeurig is.
  • Contextual: Gebruik wanneer je chunks context missen.

Stop met het najagen van "state of the art". Begin met het meten van je resultaten.

Source: https://dev.to/yogesh23012001/advanced-rag-techniques-arent-better-theyre-better-sometimes-4m2o

Optional learning community: https://t.me/GyaanSetuAi