[{"data":1,"prerenderedAt":1028},["ShallowReactive",2],{"blog-llm-hallucination-grounding-citations-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":35,"cover":75,"og":76,"expertise":77,"locales":78,"lang":81,"title":82,"description":83,"coverAlt":84,"metaTitle":85,"takeaways":86,"faq":92,"toc":111,"blocks":148,"others":737},"llm-hallucination-grounding-citations","2026-10-02",13,"rag",[9,10,11,12,13],"Hallucinations","RAG","Citations","Grounding","Faithfulness",[15,16,17,18,19,20,21,22,23,24],"reduce LLM hallucinations in production","how to reduce hallucinations in RAG","LLM citations API","Anthropic citations API","RAG faithfulness metric","LLM abstention I don't know","claim-level verification LLM","grounding LLM answers in sources","check grounding API","show sources in AI chatbot UI",[26,29,32],{"name":27,"url":28},"Hallucination (artificial intelligence)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHallucination_(artificial_intelligence)",{"name":30,"url":31},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",{"name":33,"url":34},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[36,39,42,45,48,51,54,57,60,63,66,69,72],{"title":37,"url":38},"Anthropic: Citations (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcitations",{"title":40,"url":41},"Anthropic: Search results (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fsearch-results",{"title":43,"url":44},"Anthropic: Reduce hallucinations (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Ftest-and-evaluate\u002Fstrengthen-guardrails\u002Freduce-hallucinations",{"title":46,"url":47},"Anthropic: Introducing Citations on the Anthropic API","https:\u002F\u002Fclaude.com\u002Fblog\u002Fintroducing-citations-api",{"title":49,"url":50},"Simon Willison: Anthropic's new Citations API (24 January 2025)","https:\u002F\u002Fsimonwillison.net\u002F2025\u002FJan\u002F24\u002Fanthropics-new-citations-api\u002F",{"title":52,"url":53},"OpenAI: Web search guide (url_citation annotations and display requirement)","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-web-search",{"title":55,"url":56},"Cohere: Documents and citations","https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fdocuments-and-citations",{"title":58,"url":59},"Google Cloud: Check grounding API","https:\u002F\u002Fdocs.cloud.google.com\u002Fgenerative-ai-app-builder\u002Fdocs\u002Fcheck-grounding",{"title":61,"url":62},"AWS: Amazon Bedrock Guardrails contextual grounding check","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fguardrails-contextual-grounding-check.html",{"title":64,"url":65},"Ragas: Faithfulness metric","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Ffaithfulness\u002F",{"title":67,"url":68},"Kalai, Nachum, Vempala, Zhang: Why Language Models Hallucinate (arXiv 2509.04664)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2509.04664",{"title":70,"url":71},"Magesh et al.: Hallucination-Free? Assessing the Reliability of Leading AI Legal Research Tools (arXiv 2405.20362)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.20362",{"title":73,"url":74},"Wallat, Heuss, de Rijke, Anand: Correctness is not Faithfulness in RAG Attributions (arXiv 2412.18004)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2412.18004","\u002Fimages\u002Fblog\u002Fllm-hallucination-grounding-citations\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-hallucination-grounding-citations\u002Fog.jpg","ai-engineer",[79,80,81],"en","de","hu","LLM-hallucinációk csökkentése éles rendszerben: grounding, hivatkozások és a nemet mondás tudománya","Hallucinációk csökkentése éles RAG-ban: hivatkozás-API-k, tartózkodás, állításszintű ellenőrzés, faithfulness-mérés, forrás-UI és ami mégis átcsúszik.","Ábra: egy retrieval lépés evidencia-kapuba, hivatkozásos válaszba és állításellenőrzőbe vezet, a végén forrásokkal ellátott válasz; tartózkodási és jelölési ágak térnek le.","LLM-hallucináció: grounding és hivatkozás · Balázs Csorba",[87,88,89,90,91],"A retrieval nem szünteti meg a hallucinációt. Egy Stanford-tanulmány szerint vezető RAG-alapú jogi eszközök az esetek 17–33 százalékában még mindig hallucináltak, gyakran úgy, hogy valódi forrásra hivatkoztak, amely nem támasztja alá az állítást.","A groundingot pipeline-ként kezeld, ne promptként: evidencia-kapu generálás előtt, natív hivatkozások közben, állításszintű ellenőrzés utána, és olyan felület, amely megmutatja a bizonyítékot.","A tartózkodás (abstention) termékállapot, nem hibaüzenet. Tervezd meg a „ezt a dokumentumokból nem tudom megválaszolni” utat, mérd, és adj neki következő lépést.","A hivatkozás-API-k a mutatót teszik érvényessé, nem a következtetést igazzá. Az Anthropic érvényes dokumentummutatókat garantál; hogy a szakasz alátámasztja-e az állítást, azt tovább kell ellenőrizni, mert egy vizsgálatban a hivatkozások akár 57 százaléka utólagos racionalizálás volt.","A faithfulnesst (a lekért kontextus által támogatott állítások aránya) a helyességtől külön mérd, olyan tesztkészleten, amely tartalmaz a dokumentumokból megválaszolhatatlan kérdéseket is.",[93,96,99,102,105,108],{"q":94,"a":95},"Hogyan csökkenthető a hallucináció egy RAG-alkalmazásban?","Rétegezz több védelmet, ne egyre építs. Először a retrievalt javítsd, majd korlátozd a modellt a megadott dokumentumokra, engedd meg neki, hogy kimondja, nem tudja, kérd, hogy hivatkozzon a felhasznált szakaszokra, ellenőrizd minden állítást ezek ellen, és mutasd a forrásokat a felületen. Egyetlen réteg sem szünteti meg a hallucinációt; az Anthropic saját útmutatója szerint ezek a technikák jelentősen csökkentik, de nem iktatják ki.",{"q":97,"a":98},"Megszünteti a RAG a hallucinációt?","Nem. A Stanford és a Yale kereskedelmi jogi kutatóeszközökről szóló vizsgálatában a RAG-ot megoldásként hirdető termékek az esetek 17–33 százalékában hallucinált választ adtak. A tanulmány akkor számít egy választ hallucinációnak, ha téves vagy „misgrounded”, vagyis azt állítja, hogy egy forrás alátámaszt valamit, amit nem.",{"q":100,"a":101},"Mi a különbség a faithfulness és a helyesség között?","A faithfulness azt kérdezi, hogy a válasz minden állítását támogatja-e a lekért kontextus. A helyesség azt, hogy az állítás igaz-e a valóságban. Egy elavult dokumentumra épülő hű válasz téves, de faithful; a modell emlékezetéből származó, a dokumentumok által nem támogatott helyes válasz helyes, de nem faithful. RAG-nál általában mindkettőt akarod, és külön méred.",{"q":103,"a":104},"Hogyan működnek az Anthropic citations?","Dokumentumokat vagy search_result blokkokat adsz át bekapcsolt citationsszel, és a válasz szövegblokkjai hivatkozás-objektumokat hordoznak, amelyek a forrásaid karaktertartományaira, oldalszámaira vagy tartalomblokkjaira mutatnak. A cited_text mező nem számít bele a kimeneti tokenekbe, és az API garantálja a mutatók érvényességét. A citations nem kombinálható structured outputtal, és jelenleg csak szöveget fed le.",{"q":106,"a":107},"Mikor kell egy LLM-nek azt mondania, hogy „nem tudom”?","Amikor a lekért evidencia nem tartalmazza a választ. Két helyen valósítsd meg: egy retrieval-kapu, amely leállítja a generálást, ha a legjobb szakaszok gyengék, és egy prompt, amely kifejezetten megengedi a modellnek, hogy kimondja, a dokumentumok nem tartalmazzák az információt. Utána teszteld olyan kérdésekkel, amelyekre a korpuszod nem tud válaszolni, különben a viselkedést soha nem ellenőrzöd.",{"q":109,"a":110},"Hogyan mutassa a forrásait egy chatbot?","Számozott jelölők az általuk alátámasztott állítások mellett, a hivatkozott szakasz megjelenítése rámutatásra vagy koppintásra, link az eredeti dokumentum megfelelő pontjára, és jelölés azokra a válaszokra vagy mondatokra, amelyeket nem sikerült ellenőrizni. Soha ne mutass olyan hivatkozást, amelyről nem ellenőrizted, hogy valódi szövegre mutat, mert egy magabiztosnak tűnő lábjegyzet hihetőbbé teszi a téves választ.",[112,115,118,121,124,127,130,133,136,139,142,145],{"id":113,"title":114},"what-hallucination-means","Mi számít hallucinációnak egy RAG-rendszerben",{"id":116,"title":117},"pipeline","A pipeline: négy kapu, nem egy prompt",{"id":119,"title":120},"grounding-prompts","Első lépés: korlátozd a modellt arra, amit adtál neki",{"id":122,"title":123},"citation-apis","Második lépés: hivatkozás-API-t használj ahelyett, hogy szépen kérnéd",{"id":125,"title":126},"abstention","Harmadik lépés: tervezd meg a „erre nem tudok válaszolni” utat",{"id":128,"title":129},"claim-verification","Negyedik lépés: állítások ellenőrzése generálás után",{"id":131,"title":132},"techniques-table","Technika és hatás",{"id":134,"title":135},"measuring","A faithfulness mérése",{"id":137,"title":138},"ui-patterns","Források megjelenítése a felületen",{"id":140,"title":141},"what-still-slips","Ahol a hallucináció még átcsúszik",{"id":143,"title":144},"checklist","Ellenőrzőlista, amellyel ezen a héten elindulhatsz",{"id":146,"title":147},"sources","Források",[149,153,167,170,173,188,191,194,195,198,207,230,233,234,237,259,262,265,266,269,272,275,305,308,311,343,346,348,351,354,355,358,364,370,373,383,384,387,390,420,423,445,446,449,532,533,540,562,565,572,573,576,608,611,614,615,618,660,668,669,687,694,695],{"type":150,"content":151},"paragraph",[152],"Minden csapat, amely retrieval-augmented asszisztenst ad ki, ugyanazokon a szakaszokon megy át. Először jön a demó, amely gyönyörűen válaszol. Aztán jön az első valódi felhasználó, aki a második napon talál egy magabiztos, folyékony, téves választ. Aztán valaki megkérdezi: „hiszen már RAG-ot használunk, miért talál ki mégis dolgokat?”",{"type":150,"content":154},[155,156,161,162,166],"Az őszinte válasz: a retrieval a valószínűségeket változtatja meg, nem a rendszer természetét. A nyelvi modell továbbra is hihető szöveget gyárt; a retrieval csak jobb alapanyagot ad neki, és esélyt arra, hogy megmutassa a munkáját. Ez a cikk arról szól, hogyan építeném meg a modell körüli részt úgy, hogy a téves válaszok ritkábbak, láthatók és javíthatók legyenek. A ",{"tag":157,"to":158,"children":159},"link","\u002Fblog\u002Frag-pipeline-chunking-hybrid-search-reranking",[160],"chunkolásról, hibrid keresésről és rerankingről"," és a ",{"tag":157,"to":163,"children":164},"\u002Fblog\u002Fllm-evals-for-product-features",[165],"termékfunkciók evaljairól"," írt bejegyzéseimre épül; itt arra figyelek, mi történik a szakaszok lekérése után.",{"type":168,"level":169,"id":113,"text":114},"heading",2,{"type":150,"content":171},[172],"Egy zárt könyves chatbotban a hallucináció hamis állítás. Egy RAG-rendszerben két külön hiba van, és más-más orvosság kell rájuk:",{"type":174,"ordered":175,"items":176},"list",false,[177,183],[178,182],{"tag":179,"children":180},"strong",[181],"Téves tartalom:"," a válasz valami hamisat állít, vagy azért, mert a retrieval rossz vagy elavult szakaszt hozott, vagy azért, mert a modell figyelmen kívül hagyta a kontextust, és emlékezetből válaszolt.",[184,187],{"tag":179,"children":185},[186],"Misgrounded tartalom:"," a válasz hivatkozik egy forrásra, de a forrás ezt nem mondja. A kereskedelmi jogi kutatóeszközöket értékelő Stanford–Yale csapat pontosan definiálja: egy válasz hallucinált, ha téves vagy misgrounded, vagyis hamisan állítja, hogy egy forrás alátámaszt egy állítást („falsely asserts that a source supports a statement”).",{"type":150,"content":189},[190],"A második típus a veszélyes. Ugyanez a vizsgálat a LexisNexis és a Thomson Reuters „hallucinációmentes” hivatkozásokkal hirdetett eszközeit tesztelte, és az esetek 17–33 százalékában talált hallucinációt. A szerzők megjegyzik, hogy az ilyen hibák ellenőrzése azt jelenti, hogy rá kell kattintani, el kell olvasni a forrást és össze kell vetni az állítással, pontosan azt a munkát, amelyet a felhasználók elvárnak, hogy az eszköz már elvégzett.",{"type":150,"content":192},[193],"Miért találgatnak egyáltalán a modellek? A „Why Language Models Hallucinate” tanulmány szerint a tanítási és értékelési eljárások a találgatást jutalmazzák a bizonytalanság beismerése helyett, mert a találgató modell jobban teljesít a benchmarkokon, mint a tartózkodó. Ez gyakorlati következménnyel jár: a modell alapviselkedése a válaszadás, ezért a tartózkodást bele kell tervezni a rendszerbe, nem remélni.",{"type":168,"level":169,"id":116,"text":117},{"type":150,"content":196},[197],"A groundingot kapuk sorozatának látom. Mindegyik elkap valamit, amit az előző nem tud, és mindegyik késleltetésbe és bonyolultságba kerül.",{"type":199,"attrs":200,"inner":204,"caption":205},"diagram",{"viewBox":201,"role":202,"aria-labelledby":203},"0 0 752 370","img","d1-hall-t d1-hall-d","\u003Ctitle id=\"d1-hall-t\">Megalapozott válasz pipeline-ja\u003C\u002Ftitle>\u003Cdesc id=\"d1-hall-d\">Öt lépés egy sorban: lekérés, kapu, generálás hivatkozásokkal, állítások ellenőrzése, válasz megjelenítése forrásokkal. A kapuból szaggatott út vezet a tartózkodáshoz, ha az evidencia túl gyenge. Az ellenőrzőből szaggatott út vezet az alá nem támasztott állítások eldobásához vagy jelöléséhez. Az alsó sáv szerint minden lépés naplózódik, és az evalokat táplálja.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Megalapozott válasz pipeline-ja\u003C\u002Ftext>\u003Crect x=\"20\" y=\"64\" width=\"122\" height=\"76\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"81\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Lekérés\u003C\u002Ftext>\u003Ctext x=\"81\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">hibrid + rerank\u003C\u002Ftext>\u003Cpath d=\"M142 102 H154\" class=\"d-line\" \u002F>\u003Cpath d=\"M162 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"162\" y=\"64\" width=\"122\" height=\"76\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"223\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Kapu\u003C\u002Ftext>\u003Ctext x=\"223\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">elég evidencia?\u003C\u002Ftext>\u003Cpath d=\"M284 102 H296\" class=\"d-line\" \u002F>\u003Cpath d=\"M304 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"304\" y=\"64\" width=\"122\" height=\"76\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"365\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Generálás\u003C\u002Ftext>\u003Ctext x=\"365\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">hivatkozásokkal\u003C\u002Ftext>\u003Cpath d=\"M426 102 H438\" class=\"d-line\" \u002F>\u003Cpath d=\"M446 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"446\" y=\"64\" width=\"122\" height=\"76\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"507\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Ellenőrzés\u003C\u002Ftext>\u003Ctext x=\"507\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">állításonként\u003C\u002Ftext>\u003Cpath d=\"M568 102 H580\" class=\"d-line\" \u002F>\u003Cpath d=\"M588 102 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Crect x=\"588\" y=\"64\" width=\"122\" height=\"76\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"649\" y=\"98\" text-anchor=\"middle\" class=\"d-text\">Mutatás\u003C\u002Ftext>\u003Ctext x=\"649\" y=\"119\" text-anchor=\"middle\" class=\"d-small\">válasz + források\u003C\u002Ftext>\u003Cpath d=\"M223 140 V182\" class=\"d-line d-dash\" \u002F>\u003Cpath d=\"M223 190 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Crect x=\"154\" y=\"190\" width=\"138\" height=\"56\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"223\" y=\"214\" text-anchor=\"middle\" class=\"d-text\">Tartózkodás\u003C\u002Ftext>\u003Ctext x=\"223\" y=\"235\" text-anchor=\"middle\" class=\"d-small\">mi hiányzik\u003C\u002Ftext>\u003Cpath d=\"M507 140 V182\" class=\"d-line d-dash\" \u002F>\u003Cpath d=\"M507 190 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Crect x=\"438\" y=\"190\" width=\"138\" height=\"56\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"507\" y=\"214\" text-anchor=\"middle\" class=\"d-text\">Eldob vagy jelöl\u003C\u002Ftext>\u003Ctext x=\"507\" y=\"235\" text-anchor=\"middle\" class=\"d-small\">alá nem támasztott\u003C\u002Ftext>\u003Crect x=\"20\" y=\"276\" width=\"712\" height=\"46\" rx=\"10\" class=\"d-box d-dash\" \u002F>\u003Ctext x=\"376\" y=\"304\" text-anchor=\"middle\" class=\"d-small\">Naplózd a kérdést, chunkokat, választ és ítéleteket: ez lesz az eval-készleted\u003C\u002Ftext>\u003Ctext x=\"376\" y=\"350\" text-anchor=\"middle\" class=\"d-label\">Minden kapu más hibatípust szűr ki.\u003C\u002Ftext>",[206],"A grounding ellenőrzések láncolata. Minden szakasz megállíthatja vagy lefokozhatja a választ, és minden szakaszt mérünk.",{"type":174,"ordered":208,"items":209},true,[210,215,220,225],[211,214],{"tag":179,"children":212},[213],"Jó lekérés."," A hibrid keresés és a reranking dönti el, hogy a megfelelő szakasz egyáltalán eljut-e a modellhez. A legtöbb „hallucináció”, amit debuggolok, retrieval-melléfogás, ahol a modell a rossz anyagból azt csinálta, amit tudott.",[216,219],{"tag":179,"children":217},[218],"Kapu az evidenciára."," Ha a legjobb szakaszok gyengék, ne generálj; tartózkodj, és mondd meg, mi hiányzik.",[221,224],{"tag":179,"children":222},[223],"Generálás hivatkozásokkal."," Használj natív hivatkozási mechanizmust, hogy minden állítás mutatót hordozzon az általad adott dokumentumba.",[226,229],{"tag":179,"children":227},[228],"Állításonkénti ellenőrzés."," Ellenőrizd, hogy a hivatkozott szakasz alátámasztja-e a mondatot, amelyhez tartozik, és dobd el vagy jelöld, ami megbukik.",{"type":150,"content":231},[232],"Ezután jön a megjelenítés, amely szintén kontroll: a felület dönti el, hogy az olvasó öt másodperc alatt ellenőrizheti-e a választ, vagy hinnie kell neki.",{"type":168,"level":169,"id":119,"text":120},{"type":150,"content":235},[236],"Az Anthropic hallucinációcsökkentő útmutatója néhány alaptechnikát sorol fel, amelyek annyira olcsók, hogy alapértelmezésben mindet használnám:",{"type":174,"ordered":175,"items":238},[239,244,249,254],[240,243],{"tag":179,"children":241},[242],"Engedd meg a „nem tudom” választ."," Kifejezetten engedélyezd a modellnek, hogy beismerje a bizonytalanságot. Az Anthropic szerint ez az egyszerű technika drasztikusan csökkentheti a téves információt.",[245,248],{"tag":179,"children":246},[247],"Hosszú dokumentumoknál előbb idézz."," A nagyjából 20 000 tokennél hosszabb dokumentumoknál kérd, hogy a modell először szó szerinti idézeteket vonjon ki, és a válaszát csak ezekre alapozza.",[250,253],{"tag":179,"children":251},[252],"Korlátozd a külső tudást."," Utasítsd a modellt, hogy csak a megadott dokumentumokat használja, ne az általános tudását.",[255,258],{"tag":179,"children":256},[257],"Piszkozat után ellenőrizz."," Kérd, hogy a modell minden állításhoz keressen alátámasztó idézetet, és vonjon vissza minden állítást, amelyet nem tud igazolni.",{"type":150,"content":260},[261],"Ugyanez az útmutató haladó lehetőségként említi a best-of-N összehasonlítást (futtasd többször ugyanazt a promptot, és az eltéréseket tekintsd figyelmeztetésnek) és az iteratív finomítást, és egy fenntartással zár, amelyet meg akarok ismételni: ezek a technikák jelentősen csökkentik a hallucinációt, de nem szüntetik meg, és a kritikus információt továbbra is validálni kell.",{"type":150,"content":263},[264],"Saját gyakorlati kiegészítésem: a prompt-szabályokat gyenge rétegként kezeld. A prompt kéri, hogy a modell jól viselkedjen; a kapu vagy az ellenőrző megnézi, hogy tényleg így tett-e. A promptot az alapszint emelésére használd, a későbbi szakaszokat a maradék elkapására.",{"type":168,"level":169,"id":122,"text":123},{"type":150,"content":267},[268],"Megkérheted a modellt, hogy írjon „[1]”-et a mondatok után, és prototípusnak ez elég. Élesben a mutató a gond: a modellek hihető forrásneveket találnak ki, rosszul számoznak, vagy olyan szöveget idéznek, amely nincs a dokumentumban. A natív hivatkozási funkciók ezt a munkát a szabad szövegből az API-válaszba viszik át.",{"type":168,"level":270,"text":271},3,"Anthropic: citations és search results",{"type":150,"content":273},[274],"Az Anthropic citations funkciója három dokumentumtípussal működik, és a hivatkozás formátuma a típust követi:",{"type":276,"head":277,"rows":284},"table",[278,280,282],[279],"Dokumentumtípus",[281],"Chunkolás",[283],"A hivatkozás erre mutat",[285,292,298],[286,288,290],[287],"Egyszerű szöveg",[289],"Mondatok",[291],"Karakterindexek (0-tól)",[293,295,296],[294],"PDF",[289],[297],"Oldalszámok (1-től)",[299,301,303],[300],"Egyedi tartalom",[302],"Nincs további: a blokkjaid változtatás nélkül használódnak",[304],"Blokkindexek (0-tól)",{"type":150,"content":306},[307],"RAG-hoz maga a dokumentáció azt tanácsolja, hogy minden lekért chunkot tegyél egy egyszerű szöveges dokumentumba, vagy használj `search_result` tartalomblokkokat, amelyek forrást és címet hordoznak, és visszaadhatók a saját kereső eszközeidből, vagy közvetlenül a felhasználói üzenetbe tehetők. A hivatkozások ekkor azokon a szövegblokkokon jelennek meg, amelyek a tartalmadat használják, külön promptolás nélkül. Tapasztalatom szerint a „chunk dokumentumonként” megközelítés a legtisztább módja annak is, hogy a saját chunk-azonosítóid követhetők maradjanak a válaszban.",{"type":150,"content":309},[310],"A termelésben számító részletek, mind a dokumentációból:",{"type":174,"ordered":175,"items":312},[313,318,323,333,338],[314,317],{"tag":179,"children":315},[316],"Érvényes mutatók."," Mivel az API maga értelmezi a hivatkozásokat és vonja ki a `cited_text` mezőt, a hivatkozások garantáltan érvényes mutatókat tartalmaznak az általad megadott dokumentumokra. Ez a kitalált hivatkozásokat szünteti meg, a félreolvasottakat nem.",[319,322],{"tag":179,"children":320},[321],"Költség."," A citations bekapcsolása kissé növeli a bemeneti tokeneket, de a `cited_text` nem számít a kimeneti tokenek közé, így olcsóbb lehet, mint a modellel idéztetni.",[324,327,328,332],{"tag":179,"children":325},[326],"Caching."," A forrásdokumentumok gyorsítótárazhatók `cache_control`-lal; a válaszokban lévő hivatkozásblokkok nem. Hogy mikor éri meg, azt a ",{"tag":157,"to":329,"children":330},"\u002Fblog\u002Fllm-cost-latency-prompt-caching-routing",[331],"prompt cachingről és routingról"," szóló bejegyzésemben írtam le.",[334,337],{"tag":179,"children":335},[336],"Streaming."," A hivatkozások `citations_delta` eseményekként érkeznek, eseményenként egy, az aktuális szövegblokkhoz csatolva.",[339,342],{"tag":179,"children":340},[341],"Korlátok."," A citationst egy kérés összes dokumentumán vagy egyiken sem kell bekapcsolni, csak a szöveg hivatkozható (a kinyerhető szöveg nélküli szkennelt PDF-ek nem), és a structured outputtal való kombinálás 400-as hibát ad.",{"type":150,"content":344},[345],"A funkció indulásakor az Anthropic azt közölte, hogy belső értékelései szerint a beépített hivatkozások a legtöbb saját megvalósítást akár 15 százalékkal megelőzik a recall pontosságban, egy ügyfél, az Endex pedig azt mondta, hogy a forrás-hallucinációk és formázási hibák aránya 10 százalékról 0-ra esett. Ezek szolgáltató által közölt számok konkrét felállásokra; indokként használnám a funkció kipróbálására, nem elvárható értékként.",{"type":168,"level":270,"text":347},"Más szolgáltatók",{"type":150,"content":349},[350],"Az Anthropic nem áll egyedül. Az OpenAI webkereső eszköze `url_citation` annotációkat ad vissza URL-lel, címmel és a szövegbeli pozícióval, és a dokumentáció előírja, hogy webes találatok megjelenítésekor a beágyazott hivatkozások legyenek jól láthatók és kattinthatók a felületen. A Cohere chat API-ja kezdő és záró pozíciót, a hivatkozott szöveget és a mögötte álló forrásdokumentumokat tartalmazó hivatkozás-objektumokat ad. A közös gondolat ugyanaz: a modell állítása és a bizonyítéka strukturált adatként együtt utazik, és a felületednek ezt tiszteletben kell tartania.",{"type":150,"content":352},[353],"Egy szerkezeti fenntartás mindegyikre igaz: a modell dönti el, melyik szakaszra mutasson. A hivatkozás azt mutatja, mit csatolt a modell egy mondathoz, nem azt, hogy a mondat következik belőle.",{"type":168,"level":169,"id":125,"text":126},{"type":150,"content":356},[357],"Ha a modell alapviselkedése a válaszadás, két helyen kell megszakítani.",{"type":150,"content":359},[360,363],{"tag":179,"children":361},[362],"Retrieval-kapu generálás előtt."," Nézd meg a retrieval eredményét: nincs szakasz a hasonlósági vagy reranker-küszöb felett, nagy a rés a kérdés és a talált anyag között, vagy ellentmondanak egymásnak a legjobb szakaszok. Ilyenkor hagyd ki teljesen a modellhívást, és válaszolj azzal, mi hiányzik és mit tehet a felhasználó. Ez olcsóbb a generálásnál, és a legmegbízhatóbb tartózkodás is, mert nem függ a modell önértékelésétől. A küszöböt valós lekérdezéseken kalibráld, ne érzésre.",{"type":150,"content":365},[366,369],{"tag":179,"children":367},[368],"Engedély a promptban."," Mondd meg a modellnek, hogy az „a dokumentumok ezt nem tartalmazzák” érvényes és kívánatos válasz, ha hiányzik az evidencia. Ez az engedély nélkül a benchmark-szerű ösztönzés a találgatásra tovább hat.",{"type":150,"content":371},[372],"A tartózkodó választ a termék részeként tervezd meg:",{"type":174,"ordered":175,"items":374},[375,377,379,381],[376],"Mondd meg, mit kerestél és mit nem találtál, a puszta „nem tudom” helyett.",[378],"Kínálj következő lépést: átfogalmazás, szűkítés, másik forrás keresése vagy átadás egy embernek.",[380],"Engedj részleges választ: válaszold meg az alátámasztott részt, és jelöld egyértelműen az alá nem támasztottat.",[382],"Számold. A tartózkodási arány olyan metrika, amelynek van egészséges tartománya; a nulla azt jelenti, hogy a rendszer találgat, a túl magas azt, hogy a kapu túl szigorú vagy a retrieval rossz.",{"type":168,"level":169,"id":128,"text":129},{"type":150,"content":385},[386],"A leginkább megbízható minta, amelyet ismerek a misgrounded válaszok elkapására, a válasz állításokra bontása és mindegyik ellenőrzése a bizonyítéka ellen. Ugyanaz az ötlet, mint a Ragas faithfulness-metrikája, amely a választ egyedi kijelentésekre bontja, ellenőrzi, hogy mindegyik levezethető-e a lekért kontextusból, és kiszámolja az alátámasztott állítások arányát.",{"type":150,"content":388},[389],"Megépítheted magad egy második modellhívással, vagy használhatsz menedzselt ellenőrzőt:",{"type":276,"head":391,"rows":398},[392,394,396],[393],"Opció",[395],"Mit csinál",[397],"Említésre méltó korlátok (a dokumentáció szerint)",[399,406,413],[400,402,404],[401],"Promptolt önellenőrzés (Anthropic-útmutató)",[403],"A modell állításonként keres alátámasztó idézetet, a többit visszavonja",[405],"Ugyanaz a modellcsalád ítéli meg a saját piszkozatát; plusz hívás",[407,409,411],[408],"Google check grounding API",[410],"Állításokra bontja a választ, 0 és 1 közötti support score-t, hivatkozásokat és opcionális állításonkénti pontszámot ad",[412],"A válasz legfeljebb 4096 token, legfeljebb 200 tény; a részigazság alá nem támasztottnak számít; 500 ms alattiként dokumentált",[414,416,418],[415],"Amazon Bedrock contextual grounding check",[417],"Forrás és kérdés ellen pontozza a groundingot és a relevanciát; a küszöb alattit blokkolja",[419],"Nem beszélgetéses QA-ra; a forrás legfeljebb 100 000 karakter; streamingnél az irrelevancia csak a válasz elküldése után jelölhető",{"type":150,"content":421},[422],"Három tervezési döntés minden alkalommal előkerül:",{"type":174,"ordered":208,"items":424},[425,430,440],[426,429],{"tag":179,"children":427},[428],"Mi történik hiba esetén?"," Lehetőségek: újragenerálás a hibás állítás nélkül, a mondat eldobása, megtartása „nem ellenőrzött” jelöléssel, vagy az egész válasz megtagadása. Nagy téttel bíró területeken az eldobást vagy jelölést részesítem előnyben a néma újragenerálással szemben, mert a felhasználónak látnia kell, hogy valami el lett távolítva.",[431,434,435,439],{"tag":179,"children":432},[433],"Hol fut?"," A blokkoló ellenőrző késleltetést ad az első megjelenő token előtt, ha megvárod. Streaming felületeknél streameld a piszkozatot hivatkozásokkal, és frissítsd minden mondat állapotát, ahogy az ítéletek megérkeznek, vagy ellenőrizz streaming előtt azokban a kevés folyamatban, ahol a téves válasz drága. A szállítási oldalt a ",{"tag":157,"to":436,"children":437},"\u002Fblog\u002Fnuxt-llm-features-ai-sdk-streaming",[438],"streaming LLM-funkciók Nuxtban"," bejegyzésem tárgyalja.",[441,444],{"tag":179,"children":442},[443],"Ki ellenőrzi az ellenőrzőt?"," Az ellenőrző modell vagy osztályozó, és hibázik. Címkézz fel kézzel néhány száz ítéletet, és kövesd az ellenőrző saját precision és recall értékét, különben csak egyik nem mért komponensről a másikra tetted át a bizalmat.",{"type":168,"level":169,"id":131,"text":132},{"type":150,"content":447},[448],"Így rangsorolom a technikákat aszerint, mit kezelnek valójában. Sorokra szándékosan nem adok százalékot: a hatás a korpuszodtól, a kérdéseidtől és a modelltől függ, és az egyetlen számok, amelyekben megbíznék, azok, amelyeket a saját tesztkészleteden mérsz.",{"type":276,"head":450,"rows":459},[451,453,455,457],[452],"Technika",[454],"Célzott hiba",[456],"Költség",[458],"Hol csődöl még",[460,469,478,487,496,505,514,523],[461,463,465,467],[462],"Jobb retrieval (hibrid, rerank)",[464],"Rossz vagy hiányzó szakaszok",[466],"Fejlesztési idő; némi késleltetés",[468],"Hiányzó korpusz-tartalom, elavult dokumentumok",[470,472,474,476],[471],"„Csak a dokumentumokat használd” prompt-szabályok",[473],"Válasz a modell emlékezetéből",[475],"Szinte semmi",[477],"A prompt kérés, nem garancia",[479,481,483,485],[480],"Engedély a „nem tudom” kimondására",[482],"Kikényszerített találgatás",[484],"Nincs",[486],"Túlzott tartózkodás, ha nem teszteled",[488,490,492,494],[489],"Retrieval evidencia-kapu",[491],"Generálás gyenge evidenciából",[493],"Egy kalibrálandó küszöb",[495],"Az erős, de irreleváns szakaszok átjutnak",[497,499,501,503],[498],"Előbb idézés (quote-first)",[500],"Parafrázis-elcsúszás hosszú dokumentumoknál",[502],"Extra tokenek vagy egy lépés",[504],"Az idézeteket is lehet félreolvasni",[506,508,510,512],[507],"Natív hivatkozások",[509],"Kitalált vagy érvénytelen hivatkozások",[511],"Kicsit több bemeneti token",[513],"Érvényes mutató, alá nem támasztott állítás",[515,517,519,521],[516],"Állításszintű ellenőrzés",[518],"Misgrounded állítások",[520],"Extra hívás és késleltetés",[522],"Ellenőrző hibák; többlépéses következtetés",[524,526,528,530],[525],"Forrás-első UI",[527],"Ellenőrizetlen bizalom",[529],"Dizájn- és frontend-munka",[531],"Akik soha nem kattintanak",{"type":168,"level":169,"id":134,"text":135},{"type":150,"content":534},[535,536,539],"Mérés nélkül a cikk minden változtatása hit. Négy számot követnék egy rögzített értékelőkészleten, és CI-ban futtatnám őket, mint a unit teszteket (lásd ",{"tag":157,"to":163,"children":537},[538],"termékfunkciók evaljai","):",{"type":174,"ordered":175,"items":541},[542,547,552,557],[543,546],{"tag":179,"children":544},[545],"Faithfulness:"," a lekért kontextus által támogatott állítások aránya, a Ragas definíciója szerint. Különbözik a helyességtől: egy rossz dokumentumból származó hű válasz téves.",[548,551],{"tag":179,"children":549},[550],"Hivatkozás precision és recall:"," a mutatott hivatkozások közül hány támasztja alá valóban a mondatot; az állítások közül hánynak van alátámasztó hivatkozása.",[553,556],{"tag":179,"children":554},[555],"Tartózkodás minősége:"," a korpuszból megválaszolhatatlan kérdéseknél milyen gyakran utasít el a rendszer; a megválaszolható kérdéseknél milyen gyakran utasít el tévesen.",[558,561],{"tag":179,"children":559},[560],"Válasz helyessége"," egy referenciaválasszal szemben, hogy a faithfulness ne legyen az egyetlen jel.",{"type":150,"content":563},[564],"A készletet három csoportból építsd: megválaszolható kérdések ismert szakaszokkal, megválaszolhatatlan kérdések és adverzális kérdések (elavult információ, közel azonos dokumentumok, kérdések, amelyek a modellt a saját tudása használatára csábítják). A legtöbb csapat kihagyja a megválaszolhatatlan csoportot, és ezért a tartózkodási viselkedésüket soha nem tesztelik.",{"type":566,"variant":567,"title":568,"body":569},"callout","warn","A hivatkozás nem bizonyítja a faithfulnesst",[570],[571],"Az RAG-beli attribúcióval foglalkozó kutatás megkülönbözteti a hivatkozás helyességét a faithfulnesstől. A Wallat és társai vizsgálatában a hivatkozások akár 57 százaléka utólagos racionalizálás volt: a modell a válaszát már előzetes tudásából eldöntötte, és olyan dokumentumot csatolt, amely véletlenül egyezett vele. Az állításhoz illő hivatkozás is lehet puszta dísz. Legalább mintán ellenőrizd, megváltozik-e a válasz, ha a hivatkozott szakaszt eltávolítod.",{"type":168,"level":169,"id":137,"text":138},{"type":150,"content":574},[575],"A felület az utolsó védvonal, és az egyetlen, amelyet a felhasználó lát. Ezeket a mintákat használnám:",{"type":174,"ordered":175,"items":577},[578,583,588,593,598,603],[579,582],{"tag":179,"children":580},[581],"Számozott beágyazott jelölők"," az általuk alátámasztott mondat mellett, nem egy linkblokk a végén. Az állításonkénti kapcsolat teszi lehetővé az ellenőrzést.",[584,587],{"tag":179,"children":585},[586],"Előnézet rámutatásra vagy koppintásra",", a hivatkozott szakasszal és a dokumentum címével. Itt hasznos a `cited_text`, és ettől reális az ötmásodperces ellenőrzés.",[589,592],{"tag":179,"children":590},[591],"Mélylinkek",", amelyek a forrást a hivatkozott helyen nyitják meg (oldalszám, horgony vagy kiemelt tartomány), nem egy 60 oldalas PDF elején.",[594,597],{"tag":179,"children":595},[596],"Látható ellenőrzési állapot"," mondatonként vagy válaszonként: ellenőrzött, nem ellenőrzött vagy eltávolított. Ha az ellenőrző eldobott valamit, mondd ki.",[599,602],{"tag":179,"children":600},[601],"Megtervezett tartózkodási állapot"," következő lépésekkel, ahogy fent, normál kimenetként, nem hibaként megformázva.",[604,607],{"tag":179,"children":605},[606],"Valóban kattintható és látható hivatkozások."," Az OpenAI dokumentációja ezt a webes találatokra kötelezővé teszi, és bárhol jó szabály.",{"type":150,"content":609},[610],"A Stanford-vizsgálat egyik figyelmeztetése a dizájnra is vonatkozik: a valódi, tekintélyesnek tűnő hivatkozások meggyőzőbbé teszik a téves választ. Ne hagyd, hogy egy lábjegyzet jelenléte nagyobb biztonságot sugalljon, mint amennyit az ellenőrzésed megalapoz. Ha az ellenőrződ nem futott le, ne jeleníts meg „ellenőrzött” jelvényt.",{"type":150,"content":612},[613],"A mérnöki oldalra is figyelj: a hivatkozásos válaszok már nem sima szövegfolyamok. Simon Willison a funkció indulásakor rámutatott, hogy ez olyan absztrakciót kényszerít ki, amely a szöveg helyett annotált darabokból álló válaszokat kezel. A streaming protokollodat és az üzenettárolásodat kezdettől strukturált szegmensekre tervezd.",{"type":168,"level":169,"id":140,"text":141},{"type":150,"content":616},[617],"Mind a négy kapu után ezekre a hibákra számítanék még, és ezt tenném velük:",{"type":174,"ordered":175,"items":619},[620,625,630,635,640,650,655],[621,624],{"tag":179,"children":622},[623],"Válasznak tűnő retrieval-melléfogások."," Egy részben releváns szakasz átjut a kapun, és a modell kitölti a hiányt. Ellenszer: reranker-küszöbök és kifejezett ellenőrzés, hogy „megválaszolja-e ez a szakasz a kérdést”.",[626,629],{"tag":179,"children":627},[628],"Rossz vagy elavult források."," A válasz hű egy elavult dokumentumhoz. Ellenszer: dokumentumdátum és verzió a metaadatokban, a felületen megjelenítve, valamint frissességi szűrők.",[631,634],{"tag":179,"children":632},[633],"Misgrounded hivatkozások."," Az „érvényes mutató, alá nem támasztott állítás” probléma. Ellenszer: állításszintű ellenőrzés és mintavételes emberi átnézés.",[636,639],{"tag":179,"children":637},[638],"Szakaszokon átívelő következtetés."," Az összegek, összehasonlítások és többlépéses következtetések szó szerint egyik szakaszban sincsenek benne, ezért az ellenőrzők nehezen kezelik őket. Ellenszer: a számokat kóddal számold, és mutasd a bemeneteket.",[641,644,645,649],{"tag":179,"children":642},[643],"Megmérgezett dokumentumok."," Ha egy lekért dokumentum utasításokat tartalmaz, a modell követheti őket. A nem megbízható szövegre alapozás biztonsági kérdés; lásd a ",{"tag":157,"to":646,"children":647},"\u002Fblog\u002Fprompt-injection-lethal-trifecta-patterns",[648],"prompt injectiont és a lethal trifectát",".",[651,654],{"tag":179,"children":652},[653],"Formátumkorlátok."," A structured outputs és a citations az Anthropic API-n jelenleg nem kombinálható, ezért egy kinyerő pipeline-nak más grounding-stratégia kell, például ellenőrző menet a JSON-értékeken.",[656,659],{"tag":179,"children":657},[658],"Az ellenőrző vakfoltjai."," Az ellenőrző mindkét irányban tévedhet. Mérd.",{"type":150,"content":661},[662,663,667],"A hosszabb távú irány, amelyről a ",{"tag":157,"to":664,"children":665},"\u002Fblog\u002Frag-2026-hybrid-agentic-long-context",[666],"hibrid, ágenses és hosszú kontextusú RAG"," bejegyzésemben írok, ezt a problémát sem szünteti meg. Egy többször lekérdező ügynöknek több esélye van megtalálni a helyes szakaszt, és több esélye is arra, hogy egy téves következtetést láncoljon.",{"type":168,"level":169,"id":143,"text":144},{"type":174,"ordered":208,"items":670},[671,673,675,677,679,681,683,685],[672],"Add hozzá az „a dokumentumok ezt nem tartalmazzák” utasítást, és teszteld legalább 20 megválaszolhatatlan kérdéssel.",[674],"Adj hozzá retrieval-kaput valós lekérdezéseken kalibrált küszöbbel; naplózz minden tartózkodást.",[676],"Kapcsold be a natív citationst; tegyél minden chunkot saját dokumentumba vagy `search_result` blokkba, a source mezőben a saját azonosítóddal.",[678],"Minden válaszhoz tárold a választ, a hivatkozott szakaszokat és a retrieval-pontszámokat.",[680],"Adj hozzá állításszintű ellenőrzőt előbb mintán, majd azokban a folyamatokban, ahol a téves válasz pénzbe vagy bizalomba kerül.",[682],"Kövesd a faithfulnesst, a hivatkozás precision és recall értékét és a tartózkodás minőségét CI-ban, rögzített értékelőkészleten.",[684],"Mutass számozott, kattintható hivatkozásokat szakasz-előnézettel és látható ellenőrzési állapottal.",[686],"Hetente nézz át kézzel egy véletlen mintát a hivatkozásos válaszokból, mert a hivatkozások utólag racionalizáltak lehetnek.",{"type":150,"content":688},[689,690,649],"Ha csak egyet viszel magaddal: tedd olcsóvá a téves válaszok észrevételét. Az a rendszer, amely olykor téved, de megmutatja a bizonyítékait, eszköz; az, amely olykor téved, és magabiztosan hangzik, kockázat. Ha segítségre van szükséged egy ilyen pipeline megépítéséhez vagy átvilágításához, nézd meg az ",{"tag":157,"to":691,"children":692},"\u002Fexpertise\u002Fai-engineer",[693],"AI-mérnöki munkáimat",{"type":168,"level":169,"id":146,"text":147},{"type":174,"ordered":208,"items":696},[697,701,704,707,710,713,716,719,722,725,728,731,734],[698],{"tag":699,"href":38,"children":700},"a",[37],[702],{"tag":699,"href":41,"children":703},[40],[705],{"tag":699,"href":44,"children":706},[43],[708],{"tag":699,"href":47,"children":709},[46],[711],{"tag":699,"href":50,"children":712},[49],[714],{"tag":699,"href":53,"children":715},[52],[717],{"tag":699,"href":56,"children":718},[55],[720],{"tag":699,"href":59,"children":721},[58],[723],{"tag":699,"href":62,"children":724},[61],[726],{"tag":699,"href":65,"children":727},[64],[729],{"tag":699,"href":68,"children":730},[67],[732],{"tag":699,"href":71,"children":733},[70],[735],{"tag":699,"href":74,"children":736},[73],[738,822,889,956],{"slug":739,"published":5,"minutes":6,"category":7,"tags":740,"keywords":745,"about":756,"sources":764,"cover":816,"og":817,"expertise":77,"locales":818,"lang":81,"title":819,"description":820,"coverAlt":821},"pgvector-vs-vector-databases",[741,742,10,743,744],"pgvector","Vector databases","Hybrid search","EU hosting",[746,747,748,749,750,751,752,753,754,755],"pgvector vs vector database","pgvector vs Qdrant","pgvector vs Pinecone","best vector database 2026","pgvector HNSW iterative scan","pgvector halfvec","OpenSearch vs Elasticsearch vector search","vector database EU hosting","hybrid search Postgres","Weaviate vs Milvus",[757,760,763],{"name":758,"url":759},"Vector database","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVector_database",{"name":761,"url":762},"PostgreSQL","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPostgreSQL",{"name":30,"url":31},[765,768,771,774,777,780,783,786,789,792,795,798,801,804,807,810,813],{"title":766,"url":767},"pgvector README (index limits, HNSW defaults, iterative scans, filtering, halfvec)","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FREADME.md",{"title":769,"url":770},"pgvector CHANGELOG (0.4.0 to 0.8.7)","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":772,"url":773},"pgvectorscale: StreamingDiskANN, statistical binary quantization, filtered search","https:\u002F\u002Fgithub.com\u002Ftimescale\u002Fpgvectorscale",{"title":775,"url":776},"Qdrant documentation: Filtering","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Ffiltering\u002F",{"title":778,"url":779},"Qdrant documentation: Hybrid queries","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fhybrid-queries\u002F",{"title":781,"url":782},"Qdrant documentation: Create a cluster (providers, free tier, Hybrid Cloud)","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fcloud\u002Fcreate-cluster\u002F",{"title":784,"url":785},"Weaviate documentation: Hybrid search","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconcepts\u002Fsearch\u002Fhybrid-search",{"title":787,"url":788},"Weaviate documentation: Vector index types","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconcepts\u002Fvector-index",{"title":790,"url":791},"Weaviate Cloud pricing and deployment options","https:\u002F\u002Fweaviate.io\u002Fpricing",{"title":793,"url":794},"Milvus documentation: Overview","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Foverview.md",{"title":796,"url":797},"Pinecone documentation: Database architecture","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Fget-started\u002Fdatabase-architecture",{"title":799,"url":800},"Pinecone documentation: Create an index (clouds, regions, sparse and hybrid)","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Findex-data\u002Fcreate-an-index",{"title":802,"url":803},"OpenSearch documentation: Methods and engines","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fmappings\u002Fsupported-field-types\u002Fknn-methods-engines\u002F",{"title":805,"url":806},"OpenSearch documentation: Efficient k-NN filtering","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fvector-search\u002Ffilter-search-knn\u002Fefficient-knn-filtering\u002F",{"title":808,"url":809},"Elasticsearch documentation: Dense vector search","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector\u002Fdense-vector",{"title":811,"url":812},"Elasticsearch documentation: kNN query (filter as pre-filter)","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Fquery-languages\u002Fquery-dsl\u002Fquery-dsl-knn-query",{"title":814,"url":815},"GitHub releases: Qdrant, Weaviate, Milvus, OpenSearch, pgvectorscale (versions as of 1 October 2026)","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Freleases","\u002Fimages\u002Fblog\u002Fpgvector-vs-vector-databases\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpgvector-vs-vector-databases\u002Fog.jpg",[79,80,81],"pgvector vagy vektoradatbázis? Így válassz vektortárolót 2026-ban","pgvector, Qdrant, Weaviate, Milvus, Pinecone, OpenSearch vagy Elasticsearch? Gyakorlati útmutató 2026-ra: szűrés, hibrid keresés, skálázás, költség és EU-s hosztolás.","Ábra: döntési út az adataidtól a Postgres-beli pgvectorig, a vektormezős keresőmotorig vagy a dedikált vektoradatbázisig.",{"slug":823,"published":5,"minutes":6,"category":7,"tags":824,"keywords":828,"about":838,"sources":846,"cover":883,"og":884,"expertise":77,"locales":885,"lang":81,"title":886,"description":887,"coverAlt":888},"graphrag-knowledge-graph-rag",[825,826,827,10],"GraphRAG","Knowledge graphs","LightRAG",[825,829,830,831,832,833,834,835,836,837],"knowledge graph RAG","GraphRAG vs vector RAG","Microsoft GraphRAG explained","LightRAG vs GraphRAG","GraphRAG global vs local search","GraphRAG indexing cost","when to use GraphRAG","multi-hop RAG","LazyGraphRAG",[839,842,843],{"name":840,"url":841},"Knowledge graph","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKnowledge_graph",{"name":30,"url":31},{"name":844,"url":845},"Leiden algorithm","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLeiden_algorithm",[847,850,853,856,859,862,865,868,871,874,877,880],{"title":848,"url":849},"Edge et al.: From Local to Global: A Graph RAG Approach to Query-Focused Summarization (arXiv:2404.16130)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.16130",{"title":851,"url":852},"Microsoft GraphRAG documentation: overview","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002F",{"title":854,"url":855},"Microsoft GraphRAG documentation: default dataflow","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Findex\u002Fdefault_dataflow\u002F",{"title":857,"url":858},"Microsoft GraphRAG documentation: global search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Fglobal_search\u002F",{"title":860,"url":861},"Microsoft GraphRAG documentation: local search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Flocal_search\u002F",{"title":863,"url":864},"Microsoft GraphRAG documentation: DRIFT search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Fdrift_search\u002F",{"title":866,"url":867},"Microsoft GraphRAG documentation: getting started","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fget_started\u002F",{"title":869,"url":870},"Microsoft Research: LazyGraphRAG, setting a new standard for quality and cost (25 November 2024)","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Flazygraphrag-setting-a-new-standard-for-quality-and-cost\u002F",{"title":872,"url":873},"Guo et al.: LightRAG: Simple and Fast Retrieval-Augmented Generation (arXiv:2410.05779)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.05779",{"title":875,"url":876},"HKUDS\u002FLightRAG on GitHub","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FLightRAG",{"title":878,"url":879},"Gutiérrez et al.: HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models (arXiv:2405.14831)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14831",{"title":881,"url":882},"Xiang et al.: When to use Graphs in RAG: A Comprehensive Analysis for Graph Retrieval-Augmented Generation (arXiv:2506.05690)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.05690","\u002Fimages\u002Fblog\u002Fgraphrag-knowledge-graph-rag\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgraphrag-knowledge-graph-rag\u002Fog.jpg",[79,80,81],"GraphRAG és knowledge-graph RAG: mikor veri a gráf a vektoros keresést","Mit csinál valójában a Microsoft GraphRAG és a LightRAG, mennyibe kerül az indexelés, és mikor jobb a tudásgráf a vektoros RAG-nál: multi-hop, globális kérdések, termékkatalógus.","Diagram: egy tudásgráf középen, entitásokhoz, közösségekhez, lokális és globális kereséshez és termékalkatrészekhez kapcsolva.",{"slug":890,"published":5,"minutes":891,"category":7,"tags":892,"keywords":898,"about":908,"sources":916,"cover":950,"og":951,"expertise":77,"locales":952,"lang":81,"title":953,"description":954,"coverAlt":955},"rag-evaluation-metrics",12,[893,894,895,896,897],"RAG evaluation","Retrieval metrics","LLM-as-judge","Golden set","Ragas",[893,899,900,901,902,903,904,905,906,907],"how to evaluate RAG","RAG evaluation metrics","recall@k MRR nDCG","faithfulness vs answer relevance","golden dataset for RAG","LLM as a judge calibration","Ragas vs DeepEval vs TruLens","RAG evals in CI","retrieval vs generation failure",[909,910,913],{"name":30,"url":31},{"name":911,"url":912},"Discounted cumulative gain","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDiscounted_cumulative_gain",{"name":914,"url":915},"Mean reciprocal rank","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMean_reciprocal_rank",[917,920,923,926,928,931,934,937,940,943,945,947],{"title":918,"url":919},"Es et al.: RAGAS, Automated Evaluation of Retrieval Augmented Generation (arXiv 2309.15217)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2309.15217",{"title":921,"url":922},"Zheng et al.: Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (arXiv 2306.05685)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.05685",{"title":924,"url":925},"Ragas documentation: available metrics","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002F",{"title":927,"url":65},"Ragas documentation: faithfulness",{"title":929,"url":930},"Ragas documentation: context precision","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Fcontext_precision\u002F",{"title":932,"url":933},"Ragas documentation: context recall","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Fcontext_recall\u002F",{"title":935,"url":936},"DeepEval documentation: metrics introduction","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-introduction",{"title":938,"url":939},"TruLens","https:\u002F\u002Fwww.trulens.org\u002F",{"title":941,"url":942},"Arize Phoenix documentation","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix",{"title":944,"url":912},"Wikipedia: Discounted cumulative gain",{"title":946,"url":915},"Wikipedia: Mean reciprocal rank",{"title":948,"url":949},"Wikipedia: Cohen's kappa","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCohen%27s_kappa","\u002Fimages\u002Fblog\u002Frag-evaluation-metrics\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-evaluation-metrics\u002Fog.jpg",[79,80,81],"RAG kiértékelése: retrieval metrikák, faithfulness, és hogyan derül ki, melyik fele hibázott","Hogyan értékeld ki a RAG-rendszered: recall at k, MRR, nDCG vs. faithfulness és válaszrelevancia, golden set valódi kérdésekből, kalibrált LLM-bíró, evalok a CI-ban.","Ábra: egy RAG-választ két oldalon pontoznak, retrieval metrikákkal, mint a recall at k, az MRR és az nDCG, valamint generálási metrikákkal, mint a faithfulness és a válaszrelevancia, amelyek egy diagnózisba futnak.",{"slug":957,"published":5,"minutes":6,"category":7,"tags":958,"keywords":963,"about":974,"sources":982,"cover":1021,"og":1022,"expertise":1023,"locales":1024,"lang":81,"title":1025,"description":1026,"coverAlt":1027},"semantic-product-search-b2b",[959,743,960,961,962],"B2B search","Semantic search","Spryker","OpenSearch",[964,965,966,967,968,969,970,971,972,973],"semantic product search B2B","B2B ecommerce search","hybrid search BM25 vector","part number search ecommerce","Spryker search Elasticsearch","OpenSearch hybrid search RRF","multilingual product search German English Hungarian","zero results rate site search","LLM query understanding ecommerce","AI product search for B2B shops",[975,977,980],{"name":960,"url":976},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSemantic_search",{"name":978,"url":979},"Elasticsearch","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElasticsearch",{"name":962,"url":981},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenSearch",[983,986,989,991,994,997,1000,1003,1006,1009,1012,1015,1018],{"title":984,"url":985},"Baymard Institute: E-commerce search query types","https:\u002F\u002Fbaymard.com\u002Fblog\u002Fecommerce-search-query-types",{"title":987,"url":988},"Elastic Search Labs: Hybrid search in Elasticsearch","https:\u002F\u002Fwww.elastic.co\u002Fsearch-labs\u002Fblog\u002Fhybrid-search-elasticsearch",{"title":990,"url":812},"Elasticsearch documentation: kNN query (pre-filters and post-filters)",{"title":992,"url":993},"Elasticsearch documentation: Semantic reranking","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Franking\u002Fsemantic-reranking",{"title":995,"url":996},"Elasticsearch documentation: Word delimiter graph token filter","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Ftext-analysis\u002Fanalysis-word-delimiter-graph-tokenfilter",{"title":998,"url":999},"Elasticsearch documentation: Synonym graph token filter","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Ftext-analysis\u002Fanalysis-synonym-graph-tokenfilter",{"title":1001,"url":1002},"OpenSearch documentation: Score ranker processor (RRF)","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fsearch-plugins\u002Fsearch-pipelines\u002Fscore-ranker-processor\u002F",{"title":1004,"url":1005},"OpenSearch documentation: Normalization processor","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fsearch-plugins\u002Fsearch-pipelines\u002Fnormalization-processor\u002F",{"title":1007,"url":1008},"Spryker documentation: Search feature overview","https:\u002F\u002Fdocs.spryker.com\u002Fdocs\u002Fpbc\u002Fall\u002Fsearch\u002Flatest\u002Fbase-shop\u002Fsearch-feature-overview\u002Fsearch-feature-overview",{"title":1010,"url":1011},"Spryker documentation: Migrate from OpenSearch 1.3 to 3.5","https:\u002F\u002Fdocs.spryker.com\u002Fdocs\u002Fpbc\u002Fall\u002Fsearch\u002Flatest\u002Fbase-shop\u002Finstall-and-upgrade\u002Fmigrate-from-opensearch-1.3-to-3.5.html",{"title":1013,"url":1014},"Instacart via ZenML: Rebuilding query understanding for e-commerce search with LLMs","https:\u002F\u002Fwww.zenml.io\u002Fllmops-database\u002Frebuilding-query-understanding-for-e-commerce-search-with-llms",{"title":1016,"url":1017},"arXiv: M3-Embedding, multilingual, multi-functionality, multi-granularity text embeddings","https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03216",{"title":1019,"url":1020},"Algolia documentation: Search analytics metrics","https:\u002F\u002Fwww.algolia.com\u002Fdoc\u002Fguides\u002Fsearch-analytics\u002Fconcepts\u002Fmetrics\u002F","\u002Fimages\u002Fblog\u002Fsemantic-product-search-b2b\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsemantic-product-search-b2b\u002Fog.jpg","b2b-ecommerce-developer",[79,80,81],"Szemantikus termékkeresés B2B webshopokban: cikkszámok, hibrid keresés és amit mérned kell","Szemantikus keresés B2B shopban a cikkszámos keresés tönkretétele nélkül: BM25 és vektorok hibridje, szűrők, DE\u002FEN\u002FHU, LLM-es lekérdezés-értelmezés, reranking, mérőszámok.","Diagram: a keresőkérdés azonosító sávra, lexikális BM25-re és vektoros kNN-re oszlik, összefésülődik, újrarangsorolódik, majd találatként jelenik meg.",1791009036584]