[{"data":1,"prerenderedAt":547},["ShallowReactive",2],{"blog-embedding-quantization-binary-matryoshka-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":35,"cover":45,"og":46,"expertise":47,"locales":48,"lang":51,"title":52,"description":53,"coverAlt":54,"metaTitle":55,"takeaways":56,"faq":62,"toc":78,"blocks":99,"others":310},"embedding-quantization-binary-matryoshka","2026-10-16",5,"rag",[9,10,11,12,13],"Embeddings","Vector search","Quantization","pgvector","RAG",[15,16,17,18,19,20,21,22,23,24],"embedding quantization","binary quantization embeddings","int8 embeddings","matryoshka embeddings","reduce vector database memory","pgvector halfvec","pgvector binary_quantize","embedding dimensions reduction","rescoring binary embeddings","vector index memory cost",[26,29,32],{"name":27,"url":28},"Quantization (signal processing)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FQuantization_(signal_processing)",{"name":30,"url":31},"Nearest neighbor search","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNearest_neighbor_search",{"name":33,"url":34},"Hamming distance","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHamming_distance",[36,39,42],{"title":37,"url":38},"Hugging Face: Binary and Scalar Embedding Quantization for Significantly Faster and Cheaper Retrieval (Mar 2024)","https:\u002F\u002Fhuggingface.co\u002Fblog\u002Fembedding-quantization",{"title":40,"url":41},"Kusupati et al.: Matryoshka Representation Learning (2022)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2205.13147",{"title":43,"url":44},"pgvector README: halfvec, bit, binary quantization and subvector indexing","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector","\u002Fimages\u002Fblog\u002Fembedding-quantization-binary-matryoshka\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fembedding-quantization-binary-matryoshka\u002Fog.jpg","ai-engineer",[49,50,51],"en","de","hu","Embedding-kvantálás: bináris, int8 és Matryoshka vektorok a visszakeresés minőségének elvesztése nélkül","Hogyan zsugorítja 4–32-szeresére a vektorindexet a bináris és int8 kvantálás és a Matryoshka-vágás, mennyibe kerül ez, és hogyan hozza vissza a rescoring.","Egy float32 embedding félpontosságúvá, int8-cá és bináris bitekké zsugorodik, egy rescoring lépés pedig visszaállítja a rangsorolás minőségét.","Embedding-kvantálás: bináris és int8 · Balázs Csorba",[57,58,59,60,61],"A bináris kvantálás dimenziónként egy bitet tárol, 32-szer kevesebbet, mint a float32; az int8 egy bájtot, 4-szer kevesebbet.","A Hugging Face tesztjeiben a bináris embeddingek a visszakeresési teljesítmény nagyjából 92,5%-át tartották meg, a float lekérdezéssel végzett rescoring ezt kb. 96%-ra emelte.","A Matryoshka-modelleknél elég az első dimenziókat megtartani; az OpenAI text-embedding-3-large 12-szeres tömörítésnél 93,1%-ot tartott meg.","A pgvector támogatja a halfvec típust 4000, a bit típust 64 000 dimenzióig, a bináris kvantálást pedig kifejezésindexszel és újrarangsorolással.","Az indexet kvantáld, a teljes vektorokat tartsd meg a lemezen, és a saját lekérdezéseiden mérd a felidézést előtte és utána.",[63,66,69,72,75],{"q":64,"a":65},"Mi az embedding-kvantálás?","Az, hogy az embedding minden értékét kevesebb biten tároljuk, miután a modell előállította: 16 bites lebegőpontos számként, 8 bites egészként vagy dimenziónként egyetlen bitként. A modell nem változik; csak a tárolt vektorok és az index lesz kisebb és gyorsabban összehasonlítható.",{"q":67,"a":68},"Mennyi minőséget veszít a bináris kvantálás?","A Hugging Face mxbai-embed-large-v1 modellel végzett kísérleteiben a bináris embeddingek az MTEB visszakeresési teljesítményének nagyjából 92,5%-át tartották meg. A legjobb jelöltek float32 lekérdezés-embeddinggel végzett újrapontozása ezt kb. 96%-ra emelte. Más modelleken és területeken ez eltérhet, ezért a saját adataidon teszteld.",{"q":70,"a":71},"Mik a Matryoshka-embeddingek?","Olyan embeddingek, amelyeket úgy tanítottak, hogy az első dimenziók hordozzák a legtöbb információt, így rövidebbre vághatók, és a minőség nagy része megmarad. Az OpenAI text-embedding-3 családja és a nomic-embed-text-v1.5 is támogatja ezt.",{"q":73,"a":74},"Használhatok bináris kvantálást PostgreSQL-ben?","Igen. A pgvectorban van binary_quantize függvény, bit típus és Hamming-távolság operátorok, így HNSW kifejezésindexet építhetsz a bináris változatra, és ugyanabban a lekérdezésben újrarangsorolhatod a jelölteket az eredeti vektorokkal.",{"q":76,"a":77},"Előbb kvantáljak vagy vágjak?","Kezdd a félpontossággal, amely szinte ingyenes, majd próbáld az int8-at vagy a binárisat rescoringgal, ha a memória még mindig szűk keresztmetszet. A Matryoshka-vágást akkor használd, ha a modell támogatja, és nem a pontosság, hanem a dimenziószám a korlát, például a pgvector vector típusának 2000 dimenziós indexkorlátja.",[79,82,85,88,90,93,96],{"id":80,"title":81},"what-quantization-does","Mit csinál valójában az embedding-kvantálás?",{"id":83,"title":84},"how-much-quality","Mennyi visszakeresési minőséget veszítesz?",{"id":86,"title":87},"matryoshka","Mit adnak hozzá a Matryoshka-embeddingek?",{"id":12,"title":89},"Hogyan csináld ezt pgvectorban?",{"id":91,"title":92},"which-to-choose","Melyik technikát válaszd?",{"id":94,"title":95},"test-plan","Hogyan teszteld a kvantálást a saját adataidon?",{"id":97,"title":98},"sources","Források",[100,104,113,116,124,172,175,176,179,188,189,196,199,200,224,226,238,239,265,272,273,290,298,299],{"type":101,"content":102},"paragraph",[103],"A vektorindexek gyorsabban drágulnak, mint gondolnánk. Tízmillió chunk 1024 dimenziós float32 embeddingekkel nagyjából 41 GB nyers vektor, még bármilyen indexterhelés előtt, a HNSW-indexek pedig a memóriában szeretnek lenni. Jóval azelőtt, hogy az embedding-modell vagy az adatbázis gondot okozna, a RAM lesz a szűk keresztmetszet. A kvantálás 2–32-szeresére zsugorítja ezeket a vektorokat, és egy plusz lépéssel meglepően kevés visszakeresési minőségbe kerül.",{"type":101,"content":105},[106,107,112],"A cikk összeveti a félpontosságot, az int8-at, a bináris kvantálást és a Matryoshka-vágást a mért megtartási számokkal, bemutatja a megvalósítást pgvectorban, és egy saját korpuszra szabott teszttervvel zárul. Magát a tárolóválasztást a ",{"tag":108,"to":109,"children":110},"link","\u002Fblog\u002Fpgvector-vs-vector-databases",[111],"pgvector vagy vektoradatbázis"," cikk tárgyalja.",{"type":114,"level":115,"id":80,"text":81},"heading",2,{"type":101,"content":117},[118,119,123],"Ez a vektorokon végzett utófeldolgozás, nem a modellen. Ahogy a ",{"tag":120,"href":38,"children":121},"a",[122],"Hugging Face írása"," fogalmaz, a bináris kvantálás minden float32 értéket nullánál húzott küszöbbel egy bitté alakít, ami 32-szeres memória- és tárhelycsökkenést jelent; a skaláris int8 kvantálás minden értéket 256 tartomány egyikére képez le, ez 4-szeres csökkenés. A bináris vektorokat Hamming-távolsággal hasonlítjuk össze, amely nagyon olcsón számolható.",{"type":125,"head":126,"rows":135},"table",[127,129,131,133],[128],"Formátum",[130],"Bájt 1024 dimenzióra",[132],"10 millió vektor",[134],"Csökkenés",[136,145,154,163],[137,139,141,143],[138],"float32",[140],"4,096",[142],"~41 GB",[144],"1×",[146,148,150,152],[147],"float16 (halfvec)",[149],"2,048",[151],"~20 GB",[153],"2×",[155,157,159,161],[156],"int8",[158],"1,024",[160],"~10 GB",[162],"4×",[164,166,168,170],[165],"bináris (bit)",[167],"128",[169],"~1.3 GB",[171],"32×",{"type":101,"content":173},[174],"A számok nyers vektorméretek; az indexek ezen felül nagyjából arányos többletet adnak. A lényeg a nagyságrend: a bináris egy külön szervert igénylő problémát olyanná tesz, ami elfér az alkalmazás mellett.",{"type":114,"level":115,"id":83,"text":84},{"type":101,"content":177},[178],"A Hugging Face ezt az mxbai-embed-large-v1 modellel mérte MTEB visszakeresésen. A bináris embeddingek önmagukban a float32 teljesítmény nagyjából 92,5%-át tartották meg. Egy rescoring lépés – a jelöltek bináris lekérdezéssel való lekérése, majd float32 lekérdezés-embeddinggel való pontozása – ezt kb. 96%-ra emelte, miközben az index 32-szeres memóriamegtakarítása megmaradt. Az int8 a kettő között van, és biztonságosabb választás, ha nem fér bele egy rescoring kör.",{"type":180,"attrs":181,"inner":185,"caption":186},"diagram",{"viewBox":182,"role":183,"aria-labelledby":184},"0 0 720 170","img","eq1-t eq1-d","\u003Ctitle id=\"eq1-t\">Bináris visszakeresés rescoringgal\u003C\u002Ftitle>\u003Cdesc id=\"eq1-d\">A lekérdezést egyszer float32-ben embeddeljük. Egy bináris másolat a szükségesnél többszörös számú jelöltet keres a bináris indexben. A jelölteket a float32 lekérdezéssel a tárolt teljes vektoraik alapján újrapontozzuk, a legjobb találatok pedig a rerankerhez vagy a modellhez kerülnek.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"eq1-ah\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head\" \u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Crect x=\"20\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"79\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Lekérdezés\u003C\u002Ftext>\u003Ctext x=\"79\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">float32\u003C\u002Ftext>\u003Cpath d=\"M138 85H158\" class=\"d-line\" marker-end=\"url(#eq1-ah)\" \u002F>\u003Crect x=\"160\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"220\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Bináris keresés\u003C\u002Ftext>\u003Ctext x=\"220\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">Hamming, k×4\u003C\u002Ftext>\u003Cpath d=\"M279 85H299\" class=\"d-line\" marker-end=\"url(#eq1-ah)\" \u002F>\u003Crect x=\"301\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"360\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Újrapontozás\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">teljes vektorok\u003C\u002Ftext>\u003Cpath d=\"M419 85H439\" class=\"d-line\" marker-end=\"url(#eq1-ah)\" \u002F>\u003Crect x=\"441\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"500\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Rerank\u003C\u002Ftext>\u003Ctext x=\"500\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">opcionális\u003C\u002Ftext>\u003Cpath d=\"M560 85H580\" class=\"d-line\" marker-end=\"url(#eq1-ah)\" \u002F>\u003Crect x=\"582\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"641\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Top k\u003C\u002Ftext>\u003Ctext x=\"641\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">a modellnek\u003C\u002Ftext>",[187],"Csak a bináris indexnek kell a memóriában lennie; a teljes vektorokat lekérdezésenként néhány száz jelöltre olvassuk be.",{"type":114,"level":115,"id":86,"text":87},{"type":101,"content":190},[191,192,195],"A kvantálás a dimenziónkénti bitek számát csökkenti. A ",{"tag":120,"href":41,"children":193},[194],"Matryoshka Representation Learning"," a dimenziók számát: a modelleket úgy tanítják, hogy az első dimenziók hordozzák a legtöbb információt, és a vektor egy előtagja önmagában is használható embedding. Az eredeti tanulmány ImageNet-osztályozáson azonos pontosság mellett akár 14-szer kisebb embeddingekről számol be. Szövegre a Hugging Face írása szerint az OpenAI text-embedding-3-large 12-szeres tömörítésnél a teljesítmény 93,1%-át, a nomic-embed-text-v1.5 3-szorosnál 95,8%-ot, 6-szorosnál 90%-ot tart meg.",{"type":101,"content":197},[198],"A vágás csak az így tanított modelleknél működik. Egy közönséges modell dimenzióinak levágása jelentősen rontja a minőséget, a klasszikus dimenziócsökkentés, például a PCA pedig embeddingeken általában gyengén teljesít, ahogy ugyanez az írás megjegyzi. Vágás előtt nézd meg a modellkártyát.",{"type":114,"level":115,"id":12,"text":89},{"type":101,"content":201},[202,203,206,207,211,212,215,216,219,220,223],"A ",{"tag":120,"href":44,"children":204},[205],"pgvector README"," felsorolja a HNSW-indexek korlátait: ",{"tag":208,"children":209},"code",[210],"vector"," 2000, ",{"tag":208,"children":213},[214],"halfvec"," 4000, ",{"tag":208,"children":217},[218],"bit"," 64 000 dimenzióig. A bináris kvantálás a ",{"tag":208,"children":221},[222],"binary_quantize(embedding)"," kifejezésre épített indexszel és Hamming-távolsággal működik, ugyanaz a lekérdezés pedig az eredeti vektorokkal újrarangsorolhatja a jelölteket. A subvektor-kifejezésindexek második oszlop nélkül adják a Matryoshka-vágást.",{"type":208,"code":225},"-- Binary index for candidate search, full vectors for rescoring\nCREATE INDEX chunks_bq ON chunks\n  USING hnsw ((binary_quantize(embedding)::bit(1024)) bit_hamming_ops);\n\nSELECT id, text FROM (\n  SELECT id, text, embedding FROM chunks\n  ORDER BY binary_quantize(embedding)::bit(1024) \u003C~> binary_quantize($1::vector)\n  LIMIT 200                                   -- 4–10x the final k\n) candidates\nORDER BY embedding \u003C=> $1::vector             -- rescore with the float query\nLIMIT 20;\n\n-- Matryoshka: index only the first 512 dimensions of a model trained for it\nCREATE INDEX chunks_mrl ON chunks\n  USING hnsw ((subvector(embedding, 1, 512)::vector(512)) vector_cosine_ops);\n\n-- Half precision: half the memory, nearly no loss\nCREATE INDEX chunks_half ON chunks\n  USING hnsw ((embedding::halfvec(1024)) halfvec_cosine_ops);\n",{"type":101,"content":227},[228,229,232,233,237],"A lekérdezésnek ugyanazt a kifejezést kell használnia, mint az indexnek, különben a Postgres szekvenciális olvasásra vált. Lekérdezésformánként egyszer ellenőrizd ",{"tag":208,"children":230},[231],"EXPLAIN","-nel. A dedikált vektoradatbázisok, például a ",{"tag":108,"to":234,"children":235},"\u002Ftools\u002Fqdrant",[236],"Qdrant",", a skaláris és bináris kvantálást gyűjteménybeállításként, beépített rescoringgal kínálják; a kompromisszumok ugyanazok.",{"type":114,"level":115,"id":91,"text":92},{"type":125,"head":240,"rows":245},[241,243],[242],"Helyzet",[244],"Kezdd ezzel",[246,251,255,260],[247,249],[248],"Az index elfér a memóriában, biztos nyereség kell",[250],"Félpontosság",[252,254],[253],"A memória a szűk keresztmetszet, rescoring nem lehetséges",[156],[256,258],[257],"Nagyon nagy korpusz, a rescoring belefér",[259],"Bináris + float rescoring",[261,263],[262],"A modellnek több dimenziója van, mint amit az index enged",[264],"Matryoshka-vágás, ha támogatott; különben halfvec",{"type":266,"variant":267,"title":268,"body":269},"callout","tip","Tartsd meg a teljes vektorokat",[270],[271],"Az indexet kvantáld, ne az egyetlen példányodat. A lemezen tárolt teljes pontosságú vektorokat olvassa a rescoring, és ezekkel később technikát válthatsz a korpusz újraembeddelése nélkül, ami a drága rész.",{"type":114,"level":115,"id":94,"text":95},{"type":274,"ordered":275,"items":276},"list",true,[277,284,286,288],[278,279,283],"Vedd a visszakeresési értékelőkészletedet, ismert releváns chunkokkal rendelkező kérdéseket, ahogy a ",{"tag":108,"to":280,"children":281},"\u002Fblog\u002Frag-evaluation-metrics",[282],"RAG értékelése"," cikkben leírtam.",[285],"Mérd a recall@10 és recall@50 értéket float32 alapvonallal.",[287],"Ismételd meg halfvec, int8, rescoring nélküli bináris és a végső k 4- és 10-szeresével végzett rescoringos bináris változatra.",[289],"Egy táblázatba írd fel az indexméretet, a p95 lekérdezési késleltetést és a felidézést, és válaszd a felidézési kereteden belüli legolcsóbb lehetőséget.",{"type":101,"content":291},[292,293,297],"Utána futtasd le a teljes pipeline-t, a hibrid kereséssel és a rerankerrel együtt az ",{"tag":108,"to":294,"children":295},"\u002Fblog\u002Frag-pipeline-chunking-hybrid-search-reranking",[296],"Éles RAG-pipeline"," cikkből. A reranker gyakran elfedi az első lépcső kis felidézési veszteségeit, ez is oka annak, hogy a kvantált első lépcsős visszakeresés a gyakorlatban jól működik.",{"type":114,"level":115,"id":97,"text":98},{"type":274,"ordered":275,"items":300},[301,304,307],[302],{"tag":120,"href":38,"children":303},[37],[305],{"tag":120,"href":41,"children":306},[40],[308],{"tag":120,"href":44,"children":309},[43],[311,368,424,478],{"slug":312,"published":5,"minutes":313,"category":7,"tags":314,"keywords":319,"about":330,"sources":340,"cover":362,"og":363,"expertise":47,"locales":364,"lang":51,"title":365,"description":366,"coverAlt":367},"pdf-document-parsing-for-rag",9,[13,315,316,317,318],"PDF parsing","OCR","Docling","Document AI",[320,321,322,323,324,325,326,327,328,329],"pdf parsing for rag","best pdf parser for rag","docling vs marker","marker vs mineru","pdf to markdown for llm","extract tables from pdf for rag","ocr for rag pipeline","olmocr bench","scanned pdf rag","document parsing llm",[331,334,337],{"name":332,"url":333},"PDF","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPDF",{"name":335,"url":336},"Optical character recognition","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOptical_character_recognition",{"name":338,"url":339},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",[341,344,347,350,353,356,359],{"title":342,"url":343},"Docling: README, features and license (GitHub)","https:\u002F\u002Fgithub.com\u002Fdocling-project\u002Fdocling",{"title":345,"url":346},"Auer et al.: Docling: An Efficient Open-Source Toolkit for AI-driven Document Conversion (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.17887",{"title":348,"url":349},"Datalab: Marker README, olmOCR-bench results and license (GitHub)","https:\u002F\u002Fgithub.com\u002Fdatalab-to\u002Fmarker",{"title":351,"url":352},"OpenDataLab: MinerU README and license (GitHub)","https:\u002F\u002Fgithub.com\u002Fopendatalab\u002FMinerU",{"title":354,"url":355},"Poznanski et al.: olmOCR: Unlocking Trillions of Tokens in PDFs with Vision Language Models (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.18443",{"title":357,"url":358},"Claude Platform Docs: PDF support","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fpdf-support",{"title":360,"url":361},"Anthropic: Introducing Contextual Retrieval (Sep 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fcontextual-retrieval","\u002Fimages\u002Fblog\u002Fpdf-document-parsing-for-rag\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpdf-document-parsing-for-rag\u002Fog.jpg",[49,50,51],"PDF-feldolgozás RAG-hoz: layout-pipeline-ok, OCR és vizuális modellek összevetve","Miért a PDF-feldolgozáson múlik a RAG minősége, miben más a Docling, a Marker, a MinerU és a VLM-OCR, és hogyan teszteld a parsert saját dokumentumokon.","Egy PDF-oldal layout-felismerésen, OCR-en és táblázat-helyreállításon át tiszta Markdown-darabokká alakul egy keresőindex számára.",{"slug":369,"published":5,"minutes":370,"category":7,"tags":371,"keywords":375,"about":386,"sources":396,"cover":418,"og":419,"expertise":47,"locales":420,"lang":51,"title":421,"description":422,"coverAlt":423},"multilingual-rag-german-hungarian",7,[13,372,9,373,374],"Multilingual","German","Hungarian",[376,377,378,379,380,381,382,383,384,385],"multilingual rag","german rag embeddings","hungarian nlp search","cross-lingual retrieval","multilingual embedding model","bge-m3 german","german compound words search","hungarian stemming postgres","multilingual-e5-large-instruct","qwen3 embedding multilingual",[387,390,393],{"name":388,"url":389},"Cross-language information retrieval","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCross-language_information_retrieval",{"name":391,"url":392},"Agglutinative language","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAgglutinative_language",{"name":394,"url":395},"Compound (linguistics)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCompound_(linguistics)",[397,400,403,406,409,412,415],{"title":398,"url":399},"Enevoldsen et al.: MMTEB: Massive Multilingual Text Embedding Benchmark (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.13595",{"title":401,"url":402},"Chen et al.: M3-Embedding (BGE-M3): Multi-Linguality, Multi-Functionality, Multi-Granularity (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03216",{"title":404,"url":405},"Zhang et al.: Qwen3 Embedding: Advancing Text Embedding and Reranking Through Foundation Models (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.05176",{"title":407,"url":408},"Hugging Face: intfloat\u002Fmultilingual-e5-large-instruct model card","https:\u002F\u002Fhuggingface.co\u002Fintfloat\u002Fmultilingual-e5-large-instruct",{"title":410,"url":411},"Elasticsearch Reference: Hyphenation decompounder token filter","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Ftext-analysis\u002Fanalysis-hyp-decomp-tokenfilter",{"title":413,"url":414},"PostgreSQL 18 Documentation: Text search dictionaries","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Ftextsearch-dictionaries.html",{"title":416,"url":417},"Snowball: stemming algorithms by language","https:\u002F\u002Fsnowballstem.org\u002Falgorithms\u002F","\u002Fimages\u002Fblog\u002Fmultilingual-rag-german-hungarian\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmultilingual-rag-german-hungarian\u002Fog.jpg",[49,50,51],"Többnyelvű RAG német és magyar tartalomra: embeddingek, összetett szavak és nyelvek közötti keresés","RAG német és magyar tartalom fölött: többnyelvű embeddingek, összetett szavak, szótövezés, ékezetek és nyelvenkénti értékelés.","Egy német és egy magyar kérdés egy közös többnyelvű vektortérben találkozik a nyelvenkénti kulcsszóindexek mellett, majd reranker és válasz következik.",{"slug":425,"published":5,"minutes":426,"category":7,"tags":427,"keywords":433,"about":444,"sources":453,"cover":472,"og":473,"expertise":47,"locales":474,"lang":51,"title":475,"description":476,"coverAlt":477},"text-to-sql-llm-guardrails",8,[428,429,430,431,432],"Text-to-SQL","LLM security","PostgreSQL","Agents","Analytics",[434,435,436,437,438,439,440,441,442,443],"text to sql llm","text-to-sql guardrails","llm sql agent security","natural language to sql production","read only database role llm","bird benchmark text to sql","spider 2.0 benchmark","sqlglot validate sql","row level security llm","chat with your database",[445,448,451],{"name":446,"url":447},"SQL","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSQL",{"name":449,"url":450},"Natural language interface to databases","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNatural-language_user_interface",{"name":430,"url":452},"https:\u002F\u002Fwww.postgresql.org\u002F",[454,457,460,463,466,469],{"title":455,"url":456},"BIRD-bench: leaderboard and dataset description","https:\u002F\u002Fbird-bench.github.io\u002F",{"title":458,"url":459},"Lei et al.: Spider 2.0: Evaluating Language Models on Real-World Enterprise Text-to-SQL Workflows (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2411.07763",{"title":461,"url":462},"PostgreSQL 18 Documentation: Row Security Policies","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fddl-rowsecurity.html",{"title":464,"url":465},"PostgreSQL 18 Documentation: Client Connection Defaults (read-only and timeouts)","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fruntime-config-client.html",{"title":467,"url":468},"SQLGlot: SQL parser, transpiler and optimizer (GitHub)","https:\u002F\u002Fgithub.com\u002Ftobymao\u002Fsqlglot",{"title":470,"url":471},"OWASP Gen AI Security Project: LLM06:2025 Excessive Agency","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm062025-excessive-agency\u002F","\u002Fimages\u002Fblog\u002Ftext-to-sql-llm-guardrails\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ftext-to-sql-llm-guardrails\u002Fog.jpg",[49,50,51],"Text-to-SQL LLM-mel: sémakontextus, csak olvasható szerepkörök és működő validálás","Mennyire pontos valójában a text-to-SQL, hogyan kapjon sémakontextust a modell, és milyen adatbázis- és kódszintű korlátok teszik biztonságossá az SQL-t.","Egy kérdés sémakontextuson, SQL-generáláson, egy validátoron és egy csak olvasható adatbázis-szerepkörön halad át, mielőtt visszajön az eredménytáblázat.",{"slug":479,"published":480,"minutes":481,"category":7,"tags":482,"keywords":486,"about":496,"sources":504,"cover":541,"og":542,"expertise":47,"locales":543,"lang":51,"title":544,"description":545,"coverAlt":546},"graphrag-knowledge-graph-rag","2026-10-02",13,[483,484,485,13],"GraphRAG","Knowledge graphs","LightRAG",[483,487,488,489,490,491,492,493,494,495],"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",[497,500,501],{"name":498,"url":499},"Knowledge graph","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKnowledge_graph",{"name":338,"url":339},{"name":502,"url":503},"Leiden algorithm","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLeiden_algorithm",[505,508,511,514,517,520,523,526,529,532,535,538],{"title":506,"url":507},"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":509,"url":510},"Microsoft GraphRAG documentation: overview","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002F",{"title":512,"url":513},"Microsoft GraphRAG documentation: default dataflow","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Findex\u002Fdefault_dataflow\u002F",{"title":515,"url":516},"Microsoft GraphRAG documentation: global search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Fglobal_search\u002F",{"title":518,"url":519},"Microsoft GraphRAG documentation: local search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Flocal_search\u002F",{"title":521,"url":522},"Microsoft GraphRAG documentation: DRIFT search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Fdrift_search\u002F",{"title":524,"url":525},"Microsoft GraphRAG documentation: getting started","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fget_started\u002F",{"title":527,"url":528},"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":530,"url":531},"Guo et al.: LightRAG: Simple and Fast Retrieval-Augmented Generation (arXiv:2410.05779)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.05779",{"title":533,"url":534},"HKUDS\u002FLightRAG on GitHub","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FLightRAG",{"title":536,"url":537},"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":539,"url":540},"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",[49,50,51],"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.",1792177150780]