Hvad betyder Multi-query retrieval?
Multi-query retrieval bruger flere søgeforespørgsler til samme overordnede behov. En sprogmodel kan foreslå alternative formuleringer, som derefter sendes til et søgesystem. Resultaterne samles og håndteres som et fælles kandidatgrundlag.
Ideen er, at forskellige ordvalg kan finde forskellige relevante afsnit. Ét spørgsmål kan ligne dokumentets hverdagssprog, mens et andet rammer en teknisk formulering. I LangChains MultiQueryRetriever beskrives et eksempel, hvor dokumenter hentes for hver genereret forespørgsel og samles uden dubletter.
Flere forespørgsler kan øge dækningen, men også tilføje støj og ekstra behandling. Metoden bør derfor afprøves mod den oprindelige søgning. Det er ikke nok, at den samlede liste bliver længere; den skal indeholde mere relevant og anvendeligt kildegrundlag.
Varianterne skal undersøge det samme behov
En nyttig variation ændrer formuleringen uden at ændre de afgørende krav. Produktnummer, kundeområde og periode skal følge med, hvor de er relevante. En variant, der mister disse begrænsninger, kan hente overbevisende materiale fra den forkerte sammenhæng.
Undersøg også, om varianterne reelt er forskellige. Fem næsten ens sætninger kan skabe fem kald med samme resultat. Det kan være mere værdifuldt med få tydelige perspektiver eller en kontrolleret synonymregel, hvis problemet er et kendt ordvalg.
Saml fundene uden at belønne gentagelser blindt
Et dokument, der findes i flere søgninger, er ikke automatisk bedre end et dokument, der kun findes én gang. Det kan blot dele almindelige ord med alle varianter. Sammenlægningen skal derfor have en bevidst strategi for dubletter og rækkefølge.
Sæt et budget for antal forespørgsler og kandidater. Hvis en reranker bruges bagefter, skal den fælles liste stadig kunne behandles inden for den ønskede svartid. Adgangs- og versionsfiltre skal være de samme i alle delkald, så den udvidede søgning ikke åbner en utilsigtet vej til andet materiale.
Et eksempel fra praksis
En virksomhed vil finde interne vejledninger om at overdrage en kunde mellem salg og levering. Materialet bruger både “overdragelse”, “opstart” og en intern forkortelse. Et forsøg genererer få søgevarianter, som dækker disse formuleringer.
Teamet kontrollerer, hvilke relevante afsnit hver variant tilføjer. Hvis alle kun finder samme introduktion, giver flere kald ikke ekstra værdi. Hvis én finder den manglende tjekliste, undersøges, om en enkel ordliste kunne opnå det samme med mindre arbejde. Den fælles resultatliste kontrolleres for gamle procesversioner.
Typiske faldgruber
- Flere næsten identiske forespørgsler giver ekstra arbejde uden ny dækning.
- En variant taber kunde-, periode- eller produktbegrænsningen.
- Dubletter fylder konteksten og skubber supplerende kilder ud.
Det skal I afklare
- Vurder hver variants hensigt og faktiske bidrag til kandidatlisten.
- Håndhæv fælles filtre og stabile dokument-ID’er.
- Sammenlign kvalitet og omkostning med én søgning eller kontrolleret udvidelse.
Spørgsmål og svar
Skal originalspørgsmålet også søges?
Det kan være en god kontrol, men det afhænger af implementeringen. Undersøg indstillingen frem for at antage, at originalen altid indgår blandt varianterne.
Er det samme som at opdele et komplekst spørgsmål?
Ikke nødvendigvis. Multi-query kan give flere formuleringer af ét behov. Spørgsmålsopdeling skaber forskellige underspørgsmål, der hver skal bidrage til et samlet svar.
Kilder og videre læsning
De tekniske begreber bygger på nedenstående kilder. Eksemplerne er illustrative og viser, hvordan I kan arbejde med emnet.
- LangChain: MultiQueryRetriever ↗Genererede forespørgsler og en unik union af fundne dokumenter.
- Haystack: QueryExpander ↗Generering af alternative søgeformuleringer som pipelinekomponent.

