Kontekstitietoinen haku käyttää ympäröiviä tietoja, kuten kyselyhistoriaa, käyttäjän tarkoitusperiä ja dokumenttien välisiä suhteita, tuottaakseen osuvampia tuloksia, kun taas kontekstisokeassa haussa käsitellään kutakin kyselyä erikseen. Ensimmäinen hyödyntää modernia keskustelupohjaista tekoälyä ja räätälöityä hakua, kun taas jälkimmäinen on hyödyllinen yksinkertaisissa, kertaluonteisissa hauissa.
Korostukset
Kontekstitietoinen haku ylläpitää keskustelun johdonmukaisuutta muistamalla aiemmat kyselyt ja käyttäjän signaalit.
Kontekstisokeutettu haku on nopeampi, halvempi ja yksinkertaisempi ottaa käyttöön kertaluonteisissa asiahauissa.
Useimmat tuotannon tekoälyavustajat käyttävät nykyään kontekstitietoista hakua jatkokysymysten tarkkaan käsittelyyn.
Akateemiset vertailuarvot osoittavat, että kontekstitietoiset menetelmät suoriutuvat kontekstisokeita lähtötasoja 10–20 % paremmin monikäännöksissä.
Mikä on Kontekstitietoinen haku?
Hakumenetelmä, joka ottaa huomioon kyselyhistorian, käyttäjien toiminnan ja asiakirjan kontekstin palauttaakseen osuvampia tuloksia.
Se hyödyntää signaaleja, kuten aiempia keskustelun käänteitä, käyttäjän asetuksia ja istuntotason metatietoja hakutulosten tarkentamiseksi.
Nykyaikaiset RAG-järjestelmät perustuvat kontekstitietoiseen hakuun ylläpitääkseen yhtenäisiä monikäänteisiä keskusteluja laajojen kielimallien kanssa.
Tähän kategoriaan kuuluvat tekniikat, kuten kyselyiden uudelleenkirjoittaminen, HyDE ja kontekstuaaliset upotukset.
Vektoritietokannat, kuten Pinecone, Weaviate ja Chroma, tukevat kontekstitietoista hakua metatietojen suodatuksen ja hybridihaun avulla.
Se saavuttaa yleensä paremman tarkkuuden keskustelupohjaisissa ja personoiduissa vertailuarvoissa verrattuna kontekstisokeisiin menetelmiin.
Mikä on Kontekstisokeuhaku?
Hakumenetelmä, joka käsittelee jokaisen kyselyn itsenäisesti ottamatta huomioon aiempia vuorovaikutuksia tai käyttäjäkohtaisia signaaleja.
Se käsittelee jokaista hakukyselyä itsenäisenä pyyntönä jättäen huomiotta keskusteluhistorian tai istunnon kontekstin.
Klassiset avainsanahakukoneet, kuten varhaiset Lucene- ja BM25-toteutukset, toimivat tällä tavalla.
Se on laskennallisesti halvempaa ja nopeampaa, koska mitään ylimääräistä kontekstia ei tarvitse käsitellä tai tallentaa.
Se toimii hyvin asiahauissa, joissa pelkkä kysely sisältää tarpeeksi tietoa vastauksen löytämiseksi.
Se toimii lähtökohtana, jota vasten kontekstitietoisia menetelmiä tyypillisesti mitataan akateemisissa vertailuarvoissa.
Vertailutaulukko
Ominaisuus
Kontekstitietoinen haku
Kontekstisokeuhaku
Kyselyiden käsittely
Käyttää istuntohistoriaa ja käyttäjäsignaaleja
Käsittelee jokaista kyselyä erikseen
Merkityksellisyys keskusteluissa
Korkea – säilyttää dialogin johdonmukaisuuden
Matala – vaikeuksia seurannan kanssa
Laskennalliset kustannukset
Korkeampi kontekstin käsittelyn vuoksi
Alhaisempi ja nopeampi kyselyä kohden
Personointi
Tukee käyttäjätason mukauttamista
Ei personointia oletuksena
Toteutuksen monimutkaisuus
Vaatii muistia, uudelleenkirjoittamista ja metatietoja
Yksinkertainen käänteinen indeksi- tai vektorihaku
Kontekstitietoinen haku tulkitsee kyselyn osana meneillään olevaa vuorovaikutusta ja hyödyntää aiempia käännöksiä, käyttäjäprofiileja ja jopa dokumentin ympärillä olevia metatietoja selvittääkseen, mitä joku todella tarkoittaa. Kontekstisokeassa haussa sitä vastoin tarkastellaan kyselyä erikseen – kirjoittamasi sanat ovat ainoa signaali, jota se käyttää. Tämä tekee kontekstisokeista järjestelmistä ennustettavia ja helposti virheenkorjattavia, mutta ne usein epäonnistuvat, kun kysymys riippuu siitä, mitä sitä ennen tehtiin.
Suorituskyky keskusteluympäristöissä
Kun ihmiset keskustelevat tekoälyavustajaa käyttävän henkilön kanssa, jatkokysymykset ovat harvoin itsenäisiä. Lauseet, kuten "Entäpä toinen kysymys?" tai "Miten se vertautuu edelliseen?", ovat järkeviä vain aiemman kontekstin kanssa. Kontekstitietoinen haku käsittelee nämä luonnollisesti kirjoittamalla epäselvät kyselyt uudelleen itsenäisiksi kyselyiksi ennen hakua. Kontekstisokea haku palauttaa tällaisissa tapauksissa usein epäolennaisia tuloksia, minkä vuoksi useimmat tuotanto-chatbotit käyttävät nykyään jonkinlaista kontekstitietoista prosessia.
Nopeus, kustannukset ja infrastruktuuri
Koska kontekstisokealla haulla ohitetaan muistin ylläpidon ja kyselyiden uudelleenkirjoittamisen aiheuttama ylimääräinen työ, se toimii nopeammin ja maksaa vähemmän skaalautuvasti. Kontekstisokealla haulla on lisätyötä – istunnon tila on tallennettava, kyselyiden uudelleenkirjoitusmalleja on suoritettava ja vektoritulokset usein suodatettava metatietojen perusteella. Suurten määrien ja yksinkertaisten työkuormien, kuten miljoonien staattisten dokumenttien indeksoinnin, kontekstisokeat menetelmät pitävät edelleen paikkansa.
Tarkkuus ja vertailutulokset
Keskustelupohjaista tiheää hakua koskeva tutkimus, mukaan lukien Meta AI:n ja Microsoftin työ QReCC:n ja TopiOCQA:n kaltaisilla tietojoukoilla, osoittaa johdonmukaisesti, että kontekstitietoiset menetelmät ovat 10–20 % parempia kuin kontekstisokeat perustasot MRR- ja nDCG-pisteissä. Ero kasvaa monikäänteisissä kyselyissä, joissa pronominit ja viittaukset hallitsevat. Yhden käänteisen asiakysymyksen kohdalla ero kuitenkin pienenee huomattavasti.
Kun yksinkertaisuus voittaa
Kaikki sovellukset eivät tarvitse kontekstitietoisuutta. Sisäiset tietokannat, oikeudellisten asiakirjojen haku ja verkkokaupan tuotehaku toimivat usein hyvin kontekstisokean haun kanssa, koska kyselyt ovat yleensä tarkkoja ja itsenäisiä. Näissä tilanteissa kontekstisokean haun yksinkertaisuus, nopeus ja alhaisemmat infrastruktuurikustannukset tekevät siitä käytännöllisemmän vaihtoehdon.
Hyödyt ja haitat
Kontekstitietoinen haku
Plussat
+Käsittelee usean vuoron keskusteluja
+Tukee personointia
+Korkeammat relevanssipisteet
+Parempi epäselviin kyselyihin
Sisältö
−Korkeammat laskentakustannukset
−Monimutkaisempi toteuttaa
−Vaatii istuntotallennuksen
−Vaikeampi debugata
Kontekstisokeuhaku
Plussat
+Nopea ja kevyt
+Helppo toteuttaa
+Alemmat infrastruktuurikustannukset
+Ennakoitava käyttäytyminen
Sisältö
−Huono jatkokyselyissä
−Ei personointia
−Alhaisempi tarkkuus chatissa
−Hukkaa keskusteluvihjeet
Yleisiä harhaluuloja
Myytti
Kontekstitietoinen haku on aina parempi kuin kontekstisokean haun.
Todellisuus
Ei välttämättä. Yhden käännöksen mittaisissa, hyvin määritellyissä kyselyissä kontekstisokeat menetelmät voivat vastata kontekstitietoisia metodeja tai jopa voittaa ne, koska ne välttävät lisäkontekstin joskus aiheuttamaa kohinaa. Kontekstitietoisen haun etu näkyy selkeimmin usean käännöksen mittaisissa tai personoiduissa skenaarioissa.
Myytti
Kontekstisokeutettu haku on vanhentunutta eikä sitä enää käytetä.
Todellisuus
Kaukana siitä. BM25 ja tiheä perushaku ovat edelleen monien tuotantoympäristöjen hakujärjestelmien, kuten yritysasiakirjojen haun ja verkkokauppa-alustojen, selkäranka. Ne toimivat vahvoina perustana ja ne yhdistetään usein kontekstitietoisiin kerroksiin hybridiarkkitehtuureissa.
Myytti
Kontekstitietoinen haku tarkoittaa, että malli "muistaa" kaiken.
Todellisuus
Käytännössä nämä järjestelmät käyttävät rajoitettua ikkunaa viimeaikaisista keskusteluista, tiivistetyistä metatiedoista tai uudelleenkirjoitetuista kyselyistä. Todellinen pitkäaikainen muisti on edelleen avoin tutkimusongelma, ja useimmat järjestelmät unohtavat vanhemmat käännökset, kun ne poistuvat konteksti-ikkunasta.
Myytti
Vektorihaku on aina kontekstitietoinen.
Todellisuus
Tiheä vektorihaku voi olla kummallakin tavalla. Yksinkertainen vektorihaku ilman metatietojen suodatusta tai kyselyn uudelleenkirjoittamista on pohjimmiltaan kontekstisokea. Istuntohistorian, suodattimien tai kyselyn laajennuksen lisääminen tekee siitä kontekstitietoisen.
Myytti
Kontekstitietoinen haku poistaa hallusinaatiot RAG-järjestelmissä.
Todellisuus
Se vähentää niitä, mutta ei poista niitä kokonaan. Vaikka haku olisi hyvä, kielimallit voivat silti tulkita katkelmia väärin tai yhdistää tietoa väärin. Haun laatu on vain yksi palanen – tiedon generointikäyttäytymisellä on aivan yhtä suuri merkitys.
Usein kysytyt kysymykset
Mitä on kontekstitietoinen haku RAG:ssa?
Kontekstitietoinen haku RAG:ssa viittaa dokumenttien hakemiseen ottaen huomioon keskusteluhistorian, käyttäjän aikomuksen ja metatiedot pelkän raakakyselyn sijaan. Se sisältää tyypillisesti kyselyn uudelleenkirjoittamista, kontekstuaalisia upotuksia tai istuntopohjaista suodatusta sen varmistamiseksi, että haetut tekstit todella vastaavat sitä, mitä käyttäjä tarkoitti kontekstissa.
Miten kontekstisokeu haku toimii?
Kontekstisokeutettu haku toimii vertaamalla käyttäjän kyselyä indeksiin ilman viittauksia aiempiin vuorovaikutuksiin. Klassinen BM25-avainsanahaku ja perustiheät vektorihaut kuuluvat tähän kategoriaan. Jokaista kyselyä käsitellään uutena, itsenäisenä pyyntönä, mikä pitää järjestelmän nopeana ja ennustettavana.
Kumpi on parempi chatboteille, kontekstitietoinen vai kontekstisoke haku?
Kontekstitietoinen haku on lähes aina parempi chatboteille, koska käyttäjät kysyvät usein jatkokysymyksiä, jotka riippuvat aiemmista vuoroista. Ilman kontekstia järjestelmä ei pysty ratkaisemaan pronomineja tai viittauksia, kuten "tuo" tai "edellinen vaihtoehto", mikä johtaa epäolennaisiin vastauksiin.
Voitko yhdistää molemmat hakumenetelmät?
Kyllä, hybridihakujärjestelmät yhdistävät avainsanahaun (kontekstisoke) ja semanttisen (usein kontekstitietoisen) haun tasapainottaakseen nopeutta ja relevanssia. Monet tuotantojärjestelmät käyttävät BM25:tä tiheiden upotusten rinnalla ja yhdistävät sitten tulokset vastavuoroisella ranking-fuusiolla ennen kontekstuaalisten suodattimien käyttöä.
Onko kontekstitietoisen haun suorittaminen kalliimpaa?
Yleensä näin on, koska sinun on tallennettava istunnon tila, suoritettava kyselyiden uudelleenkirjoitusmalleja ja käytettävä metatietosuodattimia. Lisäkustannukset vaihtelevat, mutta latenssia ja laskentatehoa on odotettavissa noin 20–50 % enemmän kuin pelkässä vektorihaussa kontekstin käsittelyn kehittyneisyydestä riippuen.
Mitä on kyselyn uudelleenkirjoittaminen kontekstitietoisessa haussa?
Kyselyn uudelleenkirjoittaminen on prosessi, jossa epäselvä, kontekstista riippuva kysymys muunnetaan itsenäiseksi, itsenäiseksi kyselyksi ennen hakua. Esimerkiksi kysymys "entä sen hinta?" voidaan kirjoittaa uudelleen muotoon "mikä on iPhone 15:n hinta?" keskusteluhistorian perusteella. Tämä on yksi yleisimmistä kontekstitietoisissa järjestelmissä käytetyistä tekniikoista.
Onko BM25 kontekstisokea?
Kyllä, perinteinen BM25 on kontekstisokea. Se pisteyttää dokumentit pelkästään termien esiintymistiheyden ja käänteisen dokumenttien esiintymistiheyden perusteella suhteessa nykyiseen kyselyyn. Voit kuitenkin sisällyttää BM25:n kontekstitietoiseen prosessiin kirjoittamalla kyselyn ensin uudelleen tai suodattamalla tulokset istunnon metatietojen perusteella.
Millä vertailuarvoilla mitataan kontekstitietoista haukkumista?
Yleisiä vertailukohtia ovat QReCC (QRewriting in Conversational Context), TopiOCQA (Topic-Oriented Conversational QA) ja CAsT (Conversational Assistance Track). Nämä tietojoukot arvioivat, kuinka hyvin järjestelmät käsittelevät monivaiheisia kyselyitä, joissa konteksti on olennainen oikean vastauksen löytämiseksi.
Tukevatko kaikki vektoritietokannat kontekstitietoista hakua?
Useimmat nykyaikaiset vektoritietokannat, kuten Pinecone, Weaviate, Chroma ja Qdrant, tukevat metadatan suodatusta ja hybridihakua, jotka ovat kontekstitietoisen haun rakennuspalikoita. Varsinainen kontekstin käsittely – kyselyiden uudelleenkirjoittaminen, istuntomuisti – toteutetaan kuitenkin tyypillisesti sovellustasolla tietokannan päällä.
Milloin minun pitäisi käyttää kontekstisokkoa hakua?
Kontekstisokeutettu haku sopii hyvin silloin, kun kyselyt ovat itsenäisiä, personointia ei tarvita ja viive tai kustannukset ovat etusijalla. Esimerkkejä ovat sisäinen asiakirjahaku, lakiasioiden haku, tuotehaku verkkokauppasivustoilla ja kaikki tilanteet, joissa käyttäjät yleensä kirjoittavat kokonaisia, tarkkoja kysymyksiä.
Tuomio
Valitse kontekstitietoinen haku, kun sovelluksesi sisältää usean käännöksen mittaisia keskusteluja, personointia tai epäselviä jatkokyselyitä – se on nykyaikaisten RAG- ja tekoälyassistenttien standardi. Käytä kontekstisokkoa hakua yksinkertaisiin, yhden käännöksen mittaisiin hakuihin, joissa nopeus ja alhaiset kustannukset ovat tärkeämpiä kuin keskustelun syvyys.