[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"blog-chroma-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":29,"cover":57,"og":58,"expertise":59,"locales":60,"lang":63,"title":64,"description":65,"coverAlt":66,"metaTitle":67,"takeaways":68,"faq":74,"toc":87,"blocks":115,"others":455},"chroma","2026-07-20",10,"rag",[9,10,11,12,13],"Vector search","Embeddings","RAG","Hybrid search","Metadata filter",[15,16,17,18,19,20,21],"chroma vector database","chroma vs qdrant","chroma vs pgvector","hybrid search reciprocal rank fusion","self-hosted vector database","chroma cloud pricing","metadata filtering vector search",[23,26],{"name":24,"url":25},"Chroma","https:\u002F\u002Fgithub.com\u002Fchroma-core\u002Fchroma",{"name":27,"url":28},"Apache License 2.0","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",[30,33,36,39,42,45,48,51,54],{"title":31,"url":32},"Chroma documentation: introduction","https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Foverview\u002Fintroduction",{"title":34,"url":35},"Chroma architecture overview","https:\u002F\u002Fdocs.trychroma.com\u002Freference\u002Farchitecture\u002Foverview",{"title":37,"url":38},"Chroma: getting started with the SDK","https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Foverview\u002Fgetting-started",{"title":40,"url":41},"Chroma: query and get","https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Fquerying-collections\u002Fquery-and-get",{"title":43,"url":44},"Chroma: metadata filtering","https:\u002F\u002Fdocs.trychroma.com\u002Fdocs\u002Fquerying-collections\u002Fmetadata-filtering",{"title":46,"url":47},"Chroma Cloud: Search API overview","https:\u002F\u002Fdocs.trychroma.com\u002Fcloud\u002Fsearch-api\u002Foverview",{"title":49,"url":50},"Chroma Cloud: hybrid search with RRF","https:\u002F\u002Fdocs.trychroma.com\u002Fcloud\u002Fsearch-api\u002Fhybrid-search",{"title":52,"url":53},"Chroma Cloud: pricing","https:\u002F\u002Fwww.trychroma.com\u002Fpricing",{"title":55,"url":56},"Chroma changelog","https:\u002F\u002Fwww.trychroma.com\u002Fchangelog","\u002Fimages\u002Fblog\u002Fchroma\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fchroma\u002Fog.jpg","ai-engineer",[61,62,63],"en","de","hu","Chroma: egyszerű vektorkeresés egy bökkenővel","A Chroma Apache-2.0 licencű vektadatbázis, amely beágyazottan, egyetlen csomóponton vagy Chroma Cloudként fut. Hol kényelmes, és hol ér véget a jó keresési funkciók a felhő határán.","Három egymásba ágyazott doboz balra, egy fal egy kapuval és két kis négyzet a falnál.","Chroma: egyszerű keresés, mélység csak a felhőben",[69,70,71,72,73],"A Chroma Apache-2.0 licencű, körülbelül 27 000 GitHub-csillaga van, és ugyanaz az API fut Python-, TypeScript- és Rust-klienssel.","A beágyazott kliens az alkalmazás folyamatában indul, így az első kollekcióhoz nem kell szerver és nem kell konténer.","A reciprok rank fúziós hibrid keresés csak a Chroma Cloudban létezik; a dokumentáció az egycsomópontos támogatást jövőbeli munkaként nevezi.","A felhős árak használatalapúak: 2,50 $ GiB-onkénti írásra, 0,33 $ GiB-onkénti tárolásra havonta, 0,0075 $ TiB-onkénti lekérdezésre és 0,09 $ GiB-onkénti visszaküldésre.","Atisztességes mérleg: kiváló alapértelmezés az első visszakeresési réteghez, gyenge hosszú távú otthon egy komoly hibrid keresési rendszerhez.",[75,78,81,84],{"q":76,"a":77},"Ingyen lehet-e a Chromát magán üzemeltetni?","Igen. A szerver Apache-2.0 licencű, fut helyi könyvtárként, egyetlen chroma run folyamatként vagy konténerként. A Chroma Cloud a fizetős, menedzselt réteg fölötte, és a kettő ugyanazt az API-t beszéli.",{"q":79,"a":80},"Támogatja a Chroma a hibrid keresést?","Csak a Chroma Cloudban. A Search API reciprok rank fúziót kínál sűrű és ritka embeddingeken, és a dokumentáció egyértelműen kimondja, hogy az egycsomópontos támogatás egy későbbi kiadásra van ütemezve.",{"q":82,"a":83},"Mekkora korpuszt bír egy Chroma példány?","Az architektúra-dokumentáció az egycsomópontos Chromát kevesebb mint 10 millió rekordra, néhány kollekcióra becsüli. A nagyobb munkaterhekre a Chroma Cloud mögötti elosztott telepítés szánt.",{"q":85,"a":86},"Chroma vagy pgvector?","A pgvector nyer, ha a vektorok már egy Postgres sorban élnek, és a tranzakciós konzisztencia számít. A Chroma nyer, ha a visszakeresés a termék: gazdagabb keresési módok, multimodális kollekciók és egy kliens, amely beágyazza helyetted.",[88,91,94,97,100,103,106,109,112],{"id":89,"title":90},"what-it-is","Mi ez",{"id":92,"title":93},"how-it-works","Hogyan működik",{"id":95,"title":96},"getting-started","Első lépések",{"id":98,"title":99},"hybrid-search","Hibrid keresés és a felhő vonala",{"id":101,"title":102},"pricing","Árak és az egy lekérdezésre jutó költség",{"id":104,"title":105},"self-hosting","Saját üzemeltetés: mi fut valójában",{"id":107,"title":108},"where-it-shingles","Hol gyengül",{"id":110,"title":111},"verdict","Ítélethoz",{"id":113,"title":114},"sources","Források",[116,120,123,126,129,145,146,149,155,158,159,162,165,168,204,205,208,210,221,222,225,293,296,297,300,312,317,318,321,389,392,393,396,410,416,417],{"type":117,"content":118},"paragraph",[119],"A Chroma nyílt forráskódú vektadatbázis, Apache-2.0 licencsel, amely beágyazott könyvtárként egy alkalmazásban, egyetlen chroma run folyamatként vagy Chroma Cloudként fut. A teszt álláspontja egyszerű: ez a legjobb alapértelmezés egy RAG-rendszer első visszakeresési rétegéhez, mert egy üres repository és egy működő lekérdezés közötti súrlódás majdnem nulla — viszont rossz hosszú távú otthon egy komoly hibrid keresési rendszerhez, mert a lekérdezési nyelv érdekes részei a dokumentáció szerint csak a felhőben léteznek.",{"type":117,"content":121},[122],"A stackben egyetlen helyet foglal el: az embeddingek tárolása és visszakeresése. Versenytárs a pgvector, ha az alkalmazás már fut Postgresen, a Qdrant vagy a Milvus, ha a visszakeresésnek saját szolgáltatás kell, és a Pinecone, ha senki nem akar üzemeltetni semmit. A Chroma egyedi tétele nem az index, hanem a kezelhetőség: a kollekcióhoz kötött embedding funkció, egy szűrőnyelv, amelyhez nem kell indexdeklaráció, és Python-, TypeScript- és Rust-kliensek, amelyek ugyanazt az API-t beszélik.",{"type":124,"level":125,"id":89,"text":90},"heading",2,{"type":117,"content":127},[128],"Az adatmodell három szintből áll. Egy tenant tartalmaz adatbázisokat, egy adatbázis kollekciókat, és a kollekció a tárolás és lekérdezés egysége: minden bejegyzésnek van azonosítója, embeddingje és opcionálisan dokumentuma és metaadat-objektuma. A hozzáférésszabályozás, a kvóta és a számlázás tenant-szinten van definiálva, ami többbérlős SaaS esetén számít, és a legtöbb egypontos vektortárban csendben hiányzik.",{"type":130,"ordered":131,"items":132},"list",false,[133,135,137,139,141,143],[134],"Licenc: Apache 2.0, körülbelül 27 000 csillag a GitHub-repóban, és egy 1.5.9 verziójú kiadás 2026 májusából.",[136],"Három üzemmód: beágyazott könyvtár, egyetlen csomópont, és az a elosztott telepítés, amelyet a Chroma Cloud üzemeltet.",[138],"Három kliens — Python, TypeScript és Rust — azonos collection, add, query és get alakzattal, plusz egy aszinkron HTTP kliens.",[140],"Négy keresési mód egy kollekcióban: sűrű vektorok, ritka vektorok, teljes szöveg és regex a dokumentumokon, valamint metaadat-szűrés.",[142],"Embedding funkciók mint interfész, így a kollekció íráskor beágyaz, és a query_texts-hez nem kell modellhívás az alkalmazáskódban.",[144],"Két lekérdezési API: a klasszikus query és get, valamint egy újabb Search API rangolási kifejezésekkel, elérhető a Chroma Cloudban.",{"type":124,"level":125,"id":92,"text":93},{"type":117,"content":147},[148],"A Chroma a tartósságot olyan alrendszerekre bízza, amelyeket nem kell újra feltalálnia: helyben SQLite, az elosztott buildben felhős objektumtároló, ahol a forró adatok SSD gyorsítótárban ülnek. A gyártó érve itt nem egzotikus, hanem gazdasági — a vektorok nagyok, a memória drága, így az igazság forrásának objektumtárolóban tartása a RAM költségének töredékével teszi lehetővé a felhős árat.",{"type":150,"src":151,"alt":152,"wide":153,"caption":154},"image","\u002Fimages\u002Fblog\u002Fchroma\u002Fdiagram-7.webp","A Chroma visszakeresési útja Négy lépés. Betöltés: a darabok azonosítókkal, dokumentumokkal és metaadatokkal érkeznek, egy embedding funkció létrehozza a vektorokat. Index: egy kollekcióban egymás mellett vektorindex, ritka index, teljes szöveges index és metaadatindex található. Lekérdezés: egy vektor, egy where szűrő a metaadaton és egy where_document szűrő a tárolt szövegen szűkítik a jelöltek halmazát a rangsorolás előtt. Rangsorolás: a klasszikus query API távolságokat ad vissza, a felhős Search API viszont sűrű és ritka rangsorokat von össze reciprok rank fúzióval. Alattuk egy sáv: egy csomópont mindenent egy processzben tart SQLite fölött, a Chroma Cloud elosztott motort futtat objektumtárolón SSD gyorsítótárral.",true,"Mindkét módban azonos az API, amíg a Search API szóba nem jön, és pontosan ott szűnik meg a két termék felcserélhetősége.",{"type":117,"content":156},[157],"Amit a gyártó nem tesz közzé, az egy nyilvános benchmark, aminek lenne módszertana. A felhős dokumentáció azt állítja, hogy a termelési rendszerek meghaladják a 90 százalékos recall értéket, és hogy a tárolási kialakítás egy nagyságrenddel olcsóbbá teszi a Chroma Cloudot az alternatíváknál; mindkettő hihető, és egyik sem reprodukálható a dokumentációból. Kezdd a saját értékelésed pontjának, ne eredménynek.",{"type":124,"level":125,"id":95,"text":96},{"type":117,"content":160},[161],"A beágyazott kliens szervert indít a folyamatban, és a program leállásakor mindent elveszít, ami teszthez pontosan jó, termeléshez pontosan rossz. Egy minimális lekérdezéshez kliens, kollekció, upsert és query kell — szerver, konténer és indexhangolás nélkül.",{"type":163,"code":164},"code","import chromadb\n\nclient = chromadb.Client()\ncollection = client.get_or_create_collection(\"docs\")\n\ncollection.upsert(\n    ids=[\"d1\", \"d2\"],\n    documents=[\n        \"Refunds are issued within five business days.\",\n        \"Support answers within one working day.\",\n    ],\n    metadatas=[{\"topic\": \"billing\"}, {\"topic\": \"support\"}],\n)\n\nhits = collection.query(\n    query_texts=[\"how fast is a refund?\"],\n    where={\"topic\": \"billing\"},\n    n_results=1,\n)\n\n# Results are column-major: one list per query, one entry per result.\nprint(hits[\"documents\"][0][0])",{"type":117,"content":166},[167],"Ebben a részletben három dolog okozza később a legtöbb súrlódást. Az eredmények oszlopos formában érkeznek, így minden fogyasztónak párhuzamos tömböket kell összevégeznie a rekordok helyett. Az n_results alapértelmezetten 10, ami egy kis tesztkollekción csendben nem ad használható eredményt. A szűrő pedig a where argumentumba megy a metaadaton, míg a szöveges illesztés a tárolt dokumentumon a where_documentban fut, $contains vagy regex formájában.",{"type":169,"variant":170,"title":171,"body":172},"callout","note","Szűrőoperátorok",[173],[174,175,178,179,182,183,178,186,189,190,178,193,196,197,178,200,203],"A metaadat-szűrő támogatja az összehasonlító operátorokat, ",{"tag":163,"children":176},[177],"$gt"," és ",{"tag":163,"children":180},[181],"$lte",", a tagságosságot ",{"tag":163,"children":184},[185],"$in",{"tag":163,"children":187},[188],"$nin"," operátorokkal, a logikai összekapcsolást ",{"tag":163,"children":191},[192],"$and",{"tag":163,"children":194},[195],"$or"," segítségével, valamint 2026 februárja óta a ",{"tag":163,"children":198},[199],"$contains",{"tag":163,"children":201},[202],"$not_contains"," operátort tömb metaadatmezőkön. Indexdeklaráció nem kell, ami kényelmes, amíg egy szűrő lassú nem lesz, és akkor nincs mit állítani.",{"type":124,"level":125,"id":98,"text":99},{"type":117,"content":206},[207],"A Search API az query és get helyébe összeállítható kifejezést tesz: a Search építi a szűrőt és a limitet, a Knn adja a rangsorolást, az Rrf pedig több rangsort von össze. A reciprok rank fúzió minden jelöltet úgy értékel, mint a súly és a simítási állandó plusz a rangsor összegének negatív hányadosát, ahol k alapértelmezetten 60 — ezért működik a sűrű és a ritka eredmények között anélkül, hogy két különböző skálát normálni kellene.",{"type":163,"code":209},"from chromadb import Search, K, Knn, Rrf\n\ndense = Knn(\n    query=\"how fast is a refund?\",\n    key=\"#embedding\",\n    return_rank=True,\n    limit=200,\n)\nsparse = Knn(\n    query=\"how fast is a refund?\",\n    key=\"sparse_embedding\",\n    return_rank=True,\n    limit=200,\n)\n\nsearch = (\n    Search()\n    .where(K(\"topic\") == \"billing\")\n    .rank(Rrf(ranks=[dense, sparse], weights=[0.7, 0.3], k=60))\n    .limit(10)\n    .select(K.DOCUMENT, K.SCORE)\n)\n\nrows = collection.search(search).rows()[0]\nfor row in rows:\n    print(row[\"score\"], row[\"document\"][:60])",{"type":169,"variant":211,"title":212,"body":213},"warn","Három csapda a Search API-ban",[214],[215,216,220],"A dokumentáció szerint kizárólag Chroma Cloudban érhető el, az egycsomópontos támogatás egy későbbi kiadásra van ütemezve, tehát ez a kód nem fut magán üzemeltetett szerveren. ",{"tag":217,"children":218},"strong",[219],"return_rank=True"," kötelező minden Knn-en belül egy Rrf-ben — kihagyva a komponensek távolságokat adnak rangsorok helyett, és hihető, de csendben hibás rangsorolást kapsz. A score-ok növekvő sorrendben vannak, tehát a kisebb a jobb, szemben a klasszikus API távolságaival.",{"type":124,"level":125,"id":101,"text":102},{"type":117,"content":223},[224],"A Chroma Cloud négy külön számlálót vezet, és az érdekes nem a vektortár. Az írás 2,50 $ GiB-onként, a tárolás 0,33 $ GiB-onként havonta, a lekérdezések 0,0075 $ TiB-onként, a kimenő forgalom pedig 0,09 $ GiB-onként a visszaküldött adatra számol. A Starter csomag nulla havi díjat kér és 5 $ kreditet, tíz adatbázist és tíz csapattagot tartalmaz; a Team havi 250 $ mellett 100 $ kreditet, száz adatbázist, harminc tagot és SOC II-t ad.",{"type":226,"head":227,"rows":247},"table",[228,233,238,243],[229,230,231,232],"Felhős csomag","Díj","Számlálók","Tartalom",[234,235,236,237],"Starter","0 $ havonta","írás, tárolás, lekérdezés, hálózat","5 $ kredit, 10 adatbázis, 10 tag",[239,240,241,242],"Team","250 $ havonta","ugyanaz a négy számláló","100 $ kredit, 100 adatbázis, 30 tag, SOC II",[244,245,241,246],"Enterprise","Egyéni","korlátlan adatbázis, single tenant, BYOC, SLA",[248,257,266,275,284],[249,251,253,255],[250],"Írás",[252],"GiB-onként",[254],"2,50 $",[256],"egyszer számolódik betöltéskor",[258,260,262,264],[259],"Tárolás",[261],"GiB-onként havonta",[263],"0,33 $",[265],"vektorok plusz dokumentumok plusz metaadat",[267,269,271,273],[268],"Lekérdezés",[270],"TiB-onként",[272],"0,0075 $",[274],"a legtöbb korpuszméretnél gyakorlatilag ingyenes",[276,278,280,282],[277],"Hálózat",[279],"visszaküldött GiB-onként",[281],"0,09 $",[283],"a számláló, amely a nagy eredményeket bünteti",[285,287,289,291],[286],"Saját szerver",[288],"0 $",[290],"saját lemez",[292],"Apache-2.0, egy csomópont, nincs Search API",{"type":117,"content":294},[295],"A gyártó saját kalkulátora tanulságos. 1536 dimenzióval, 8 KiB-os dokumentumokkal és 500 kollekcióval egymillió dokumentum kb. 34 $ba kerül beírásra, hatmillió tárolt dokumentum havonta kb. 27 $, tízmillió lekérdezés kb. 19 $ — nagyjából 79 $ havonta egy hatmilliós darabos korpuszra. Figyeld az ekonomia irányát: 1 GiB szövegből körülbelül 15 GiB vektor lesz, tehát a tárolást a leggyorsabban növekvő számra számlázzák, és a rövid darabok helyett teljes dokumentumok visszaküldése az, ami felhajtja a kimenő forgalmi számlálót.",{"type":124,"level":125,"id":104,"text":105},{"type":117,"content":298},[299],"A saját üzemeltetés nem egyetlen dolgot jelent. Az architektúra-dokumentáció három módot különböztet meg eltérő felső korlátokkal, és a köztük lévő különbség nagyobb, mint a márkanevek sugallják.",{"type":130,"ordered":131,"items":301},[302,304,306,308,310],[303],"Beágyazott: a chromadb.Client() a folyamatban fut, memóriában vagy helyi útvonalon tartja az adatot, és meghal a programmal. Teszthez jó, szolgáltatáshoz nem.",[305],"Egy csomópont: chroma run --path egy HttpClient mögött, dokumentálva kevesebb mint 10 millió rekordra, néhány kollekcióra. Tartós, egyszerű, egyetlen hibaforrás.",[307],"Elosztott: az a telepítés, amelyet a Chroma Cloud üzemeltet, objektumtárolós perzisztenciával és SSD gyorsítótárakkal, adatbázisonként egy régióhoz kötve.",[309],"Adatelhelyzet: a Chroma Cloud az AWS us-east-1 mellett 2026 áprilisától a GCP europe-west1 régióban is fut. A régió létrehozáskor fix, a költözés új adatbázist és újraindexelést jelent.",[311],"Megfelelés: a Chroma Cloud SOC 2 Type II tanúsított; az ügyfél által kezelt titkosító kulcsok 2025 decemberében, a privát hálózat 2026 januárjában érkezett.",{"type":169,"variant":170,"title":313,"body":314},"A régióválasztás végleges",[315],[316],"Az EU-régió minden csomagon elérhető, és teljes API-paritást ad a kollekciókhoz, a kereséshez és a forkinghoz — de a Chroma Sync, a Chroma CLI és a Search Agent induláskor csak az Egyesült Államokban érhető el. Ha egy terv ezekre épül, a létrehozáskor hozott régiódöntés nem vonható vissza.",{"type":124,"level":125,"id":107,"text":108},{"type":117,"content":319},[320],"A gyengeségek jönnek elsőként, mert ők döntik el a választást. A hibrid rangsorolás csak a felhőben van. A metaadat-szűrés kényelmes, nem hangolható, és egy lassú szűrőhöz nincs index, amit állítanál. Az eredményforma oszlopos, ami minden fogyasztótól kis, de állandó adót szed. Az árlista pedig pontos azt a mintát bünteti, amit a retrieval-augmented generation ösztönöz: nagy kontextusablakot adni vissza lekérdezésenként.",{"type":226,"head":322,"rows":347},[323,328,332,337,342],[324,325,326,327],"","Telepítés","Hibrid keresés","Lock-in profil",[24,329,330,331],"beágyazott, egy csomópont, felhő","RRF csak Chroma Cloudban","Apache-2.0 szerver; a Search API nem az",[333,334,335,336],"pgvector","kiterjesztés a meglévő Postgresben","kézi: vektorindex plusz SQL teljes szöveg","Postgres licenc; nincs mit elhagyni",[338,339,340,341],"Qdrant","saját szerver vagy felhő","natívan sűrű plusz ritka","Apache-2.0; szűrőterheltes dizájn elsajátítandó",[343,344,345,346],"Pinecone","csak menedzselt","natívan a menedzselt API-ban","nincs saját üzemeltetési út",[348,358,369,378],[349,351,353,355,356],[350],"Licenc",[352],"Apache 2.0",[354],"PostgreSQL licenc",[352],[357],"proprietáris",[359,361,363,365,367],[360],"Üzemeltetési költség",[362],"a legalacsonyabb",[364],"nincs, ugyanaz az példány",[366],"egy szolgáltatás, amit futtatni kell",[368],"nincs",[370,372,374,376,377],[371],"Dimenziókorlátok",[373],"nincs dokumentálva",[375],"2.000 a vectoron, 4.000 a halfvecen",[373],[373],[379,381,383,385,387],[380],"Legjobb felhasználás",[382],"első visszakeresési réteg",[384],"vektorok a sor mellett",[386],"szűrőterheltes visszakeresés",[388],"semmilyen üzemeltetés",{"type":117,"content":390},[391],"Az összehasonlítás, ami számít, a pgvectoré. Ha a korpusz már egy Postgres táblában van, és a vektoroknak ugyanabban a tranzakcióban kell lenniük, egy külön vektortár egy további szolgáltatás, amit menteni, biztonságoskodni és felügyelni kell olyan képességért, amit a Postgres már tud adni — a standard vector típus 2 000 dimenziós kemény korlátjával és 4 000-rel fél pontosságnál. A Chroma akkor érdemli meg a helyét, ha a visszakeresés a termék: multimodális kollekciók, regex a tárolt dokumentumokon, kollekció-forking kísérletekhez, és egy embedding funkció, amely kivesz egy modellhívást az alkalmazáskódból.",{"type":124,"level":125,"id":110,"text":111},{"type":117,"content":394},[395],"A Chroma egy jól mérlegelt alapértelmezés egy meghatározott vakfolttal. A kezelhetőség valódi: három kliens, egy API, egy séma nélküli szűrőnyelv, és tíz sor az import chromadbtól a rangsorolt eredményig. A vakfolt ugyanilyen valós: az a lekérdezési funkcionalitás, ami a demót megkülönbözteti a visszakeresési rendszertől, pontosan az, amit ma nem tudsz magad üzemeltetni. Az első réteghez észszerű csere, egy hosszú életű rendszerhez rossz.",{"type":130,"ordered":153,"items":397},[398,400,402,404,406,408],[399],"Válaszd, ha a visszakeresési réteg még tervezés alatt áll, és a mérhető alaphoz vezető leggyorsabb út a legfontosabb.",[401],"Válaszd, ha az embeddingeknek, a dokumentumoknak és a metaadatnak egy kollekcióban kell élniük, és a csapat eleve többbérlős.",[403],"Válaszd olyan prototípushoz, amit később lecserélnek; a collection API elég kicsi ahhoz, hogy az újraírás egy nap, nem egy negyedév.",[405],"Kerüld el, ha a hibrid keresésnek ma a saját hálózatodon belül kell maradnia — a Search API ott nem elérhető.",[407],"Kerüld el, ha a korpusz már Postgresben van, és a pgvector dimenziókorlátja nem szúr.",[409],"Gondolj újra róla, amikor a korpusz átlép néhány millió darabot és a single node korlátai érvénybe lépnek, vagy amikor a visszaküldött GiB-onkénti forgalom uralja a számlát.",{"type":169,"variant":411,"title":412,"body":413},"tip","Az egyetlen, amit jól kell csinálni",[414],[415],"Kössz explicit embedding funkciót a kollekcióhoz, és rögzítsd a modellverziót a saját konfigurációdban. Az alapértelmezett embedding funkció kényelmes, és megváltozik alattad, a korpusz újra-beágyazása pedig az egyetlen migráció ebben a stackben, ami valóban drága.",{"type":124,"level":125,"id":113,"text":114},{"type":130,"ordered":153,"items":418},[419,424,428,432,436,440,444,448,452],[420],{"tag":421,"href":32,"children":422},"a",[423],"Chroma dokumentáció: bevezetés",[425],{"tag":421,"href":35,"children":426},[427],"Chroma: architektúraáttekintés",[429],{"tag":421,"href":38,"children":430},[431],"Chroma: első lépések az SDK-val",[433],{"tag":421,"href":41,"children":434},[435],"Chroma: query és get",[437],{"tag":421,"href":44,"children":438},[439],"Chroma: metaadat-szűrés",[441],{"tag":421,"href":47,"children":442},[443],"Chroma Cloud: Search API áttekintés",[445],{"tag":421,"href":50,"children":446},[447],"Chroma Cloud: hibrid keresés RRF-fel",[449],{"tag":421,"href":53,"children":450},[451],"Chroma Cloud: árak",[453],{"tag":421,"href":56,"children":454},[55],[456,529,588,646],{"slug":457,"published":458,"minutes":459,"category":7,"tags":460,"keywords":463,"about":476,"sources":486,"cover":523,"og":524,"expertise":59,"locales":525,"lang":63,"title":526,"description":527,"coverAlt":528},"embedding-model-selection-2026","2026-10-17",9,[10,11,461,9,462],"MTEB","Model selection",[464,465,466,467,468,469,470,471,472,473,474,475],"best embedding model 2026","how to choose an embedding model","embedding model comparison","MTEB leaderboard explained","RTEB benchmark","open source embedding model","multilingual embedding model","voyage-4 vs openai embeddings","Qwen3-Embedding","EmbeddingGemma","embedding model for RAG","switching embedding models re-embed",[477,480,483],{"name":478,"url":479},"Word embedding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWord_embedding",{"name":481,"url":482},"Information retrieval","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FInformation_retrieval",{"name":484,"url":485},"Discounted cumulative gain","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDiscounted_cumulative_gain",[487,490,493,496,499,502,505,508,511,514,517,520],{"title":488,"url":489},"Enevoldsen et al.: MMTEB, Massive Multilingual Text Embedding Benchmark (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.13595",{"title":491,"url":492},"Hugging Face: Introducing RTEB, a new standard for retrieval evaluation (Oct 2025)","https:\u002F\u002Fhuggingface.co\u002Fblog\u002Frteb",{"title":494,"url":495},"OpenAI: Vector embeddings guide","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fembeddings",{"title":497,"url":498},"OpenAI: API pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fpricing",{"title":500,"url":501},"Voyage AI: The Voyage 4 model family, shared embedding space with MoE architecture (Jan 2026)","https:\u002F\u002Fblog.voyageai.com\u002F2026\u002F01\u002F15\u002Fvoyage-4\u002F",{"title":503,"url":504},"Voyage AI: Text embeddings documentation","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fembeddings",{"title":506,"url":507},"Voyage AI: Pricing","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fpricing",{"title":509,"url":510},"Google: Gemini API embeddings documentation","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fembeddings",{"title":512,"url":513},"Google: Gemini API pricing","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fpricing",{"title":515,"url":516},"Cohere: Embed models documentation","https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fcohere-embed",{"title":518,"url":519},"Qwen: Qwen3-Embedding-8B model card","https:\u002F\u002Fhuggingface.co\u002FQwen\u002FQwen3-Embedding-8B",{"title":521,"url":522},"Google Developers Blog: Introducing EmbeddingGemma (Sep 2025)","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fintroducing-embeddinggemma\u002F","\u002Fimages\u002Fblog\u002Fembedding-model-selection-2026\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fembedding-model-selection-2026\u002Fog.jpg",[61,62,63],"Embedding-modell választása 2026-ban: ranglisták, költségek és összehasonlító teszt a saját adatokon","Hogyan válassz embedding-modellt RAG-hoz 2026-ban: mit mond az MTEB és az RTEB, API vagy nyílt súlyok, árak, dimenziók és egy egyhetes összehasonlító teszt.","Három oszlop egymásra rakott kockákból, középen a legmagasabb, mindegyik rövid sávval mérve.",{"slug":530,"published":458,"minutes":6,"category":7,"tags":531,"keywords":535,"about":547,"sources":557,"cover":582,"og":583,"expertise":59,"locales":584,"lang":63,"title":585,"description":586,"coverAlt":587},"contextual-retrieval-late-chunking",[11,532,10,533,534],"Chunking","Contextual retrieval","Late chunking",[536,537,538,539,540,541,542,543,544,545,546],"contextual retrieval","anthropic contextual retrieval","late chunking","contextual chunk embeddings","contextual embeddings rag","contextual bm25","chunk context rag","voyage-context-3","voyage-context-4","late chunking vs contextual retrieval","rag chunking context loss",[548,551,554],{"name":549,"url":550},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",{"name":552,"url":553},"Okapi BM25","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOkapi_BM25",{"name":555,"url":556},"Sentence embedding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSentence_embedding",[558,561,564,567,570,573,576,579],{"title":559,"url":560},"Anthropic: Introducing Contextual Retrieval (Sep 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fcontextual-retrieval",{"title":562,"url":563},"Günther et al.: Late Chunking, Contextual Chunk Embeddings Using Long-Context Embedding Models (2024, rev. 2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2409.04701",{"title":565,"url":566},"Jina AI: Late Chunking in Long-Context Embedding Models (Aug 2024)","https:\u002F\u002Fjina.ai\u002Fnews\u002Flate-chunking-in-long-context-embedding-models\u002F",{"title":568,"url":569},"Voyage AI: Introducing voyage-context-3 (Jul 2025)","https:\u002F\u002Fblog.voyageai.com\u002F2025\u002F07\u002F23\u002Fvoyage-context-3\u002F",{"title":571,"url":572},"Voyage AI: voyage-context-4 (Jun 2026)","https:\u002F\u002Fblog.voyageai.com\u002F2026\u002F06\u002F29\u002Fvoyage-context-4\u002F",{"title":574,"url":575},"Voyage AI: Contextualized chunk embeddings documentation","https:\u002F\u002Fdocs.voyageai.com\u002Fdocs\u002Fcontextualized-chunk-embeddings",{"title":577,"url":578},"Anthropic: Claude API pricing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fpricing",{"title":580,"url":581},"Qu, Tu and Bao: Is Semantic Chunking Worth the Computational Cost? (2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.13070","\u002Fimages\u002Fblog\u002Fcontextual-retrieval-late-chunking\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcontextual-retrieval-late-chunking\u002Fog.jpg",[61,62,63],"Kontextuális visszakeresés és késleltetett chunkolás: a RAG-chunkok visszakapják a kontextusukat","A chunkok elveszítik a dokumentumukat. Hogyan javít ezen a contextual retrieval, a late chunking és a kontextusos embedding, mennyibe kerül, és mikor hagyd ki.","Négy szabad négyzet, alul széles kapocs fogja össze, mindegyik felfelé egy nagy laphoz kapcsolódik.",{"slug":589,"published":458,"minutes":459,"category":7,"tags":590,"keywords":594,"about":607,"sources":615,"cover":640,"og":641,"expertise":59,"locales":642,"lang":63,"title":643,"description":644,"coverAlt":645},"rag-access-control-permissions",[11,591,592,593,9],"Access control","Security","Multi-tenancy",[595,596,597,598,599,600,601,602,603,604,605,606],"rag access control","permission aware rag","document level security rag","rag multi tenancy","vector database access control","pgvector row level security","security trimming azure ai search","openfga rag authorization","qdrant multitenancy","pinecone namespaces multitenancy","owasp llm08 vector and embedding weaknesses","rag data leakage",[608,611,614],{"name":609,"url":610},"Access-control list","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAccess-control_list",{"name":612,"url":613},"Multitenancy","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMultitenancy",{"name":549,"url":550},[616,619,622,625,628,631,634,637],{"title":617,"url":618},"OWASP GenAI Security Project: LLM08:2025 Vector and Embedding Weaknesses","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm082025-vector-and-embedding-weaknesses\u002F",{"title":620,"url":621},"PostgreSQL documentation: Row Security Policies","https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fddl-rowsecurity.html",{"title":623,"url":624},"pgvector README: filtering and iterative index scans","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector",{"title":626,"url":627},"Qdrant: Multitenancy and partitions guide","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fguides\u002Fmultiple-partitions\u002F",{"title":629,"url":630},"Pinecone: Implement multitenancy using namespaces","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Findex-data\u002Fimplement-multitenancy",{"title":632,"url":633},"Microsoft Learn: Document-level access control in Azure AI Search","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fsearch-document-level-access-overview",{"title":635,"url":636},"OpenFGA: RAG authorization use case","https:\u002F\u002Fopenfga.dev\u002Fdocs\u002Fuse-cases\u002Frag-authorization",{"title":638,"url":639},"Morris et al.: Text Embeddings Reveal (Almost) As Much As Text (EMNLP 2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.06816","\u002Fimages\u002Fblog\u002Frag-access-control-permissions\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-access-control-permissions\u002Fog.jpg",[61,62,63],"Hozzáférés-kezelés RAG-hoz: jogosultságtudatos visszakeresés dokumentumszivárgás nélkül","Hogyan szivárogtatnak dokumentumot a RAG-asszisztensek, és hogyan állítsd meg: ACL minden chunkon, előszűrés, sorszintű biztonság pgvectorban, jogszinkron.","Hét kártya sorban, haton lakat jelvény, a csupasz kártya nyilat küld kifelé.",{"slug":647,"published":458,"minutes":6,"category":7,"tags":648,"keywords":653,"about":665,"sources":673,"cover":700,"og":701,"expertise":702,"locales":703,"lang":63,"title":704,"description":705,"coverAlt":706},"rag-product-catalog-pim-data",[11,649,650,651,652],"PIM","Product data","B2B e-commerce","Metadata filtering",[654,655,656,657,658,659,660,661,662,663,664],"rag product catalog","rag pim data","llm product data","product catalog chatbot","akeneo rag","pimcore ai search","rag structured data","metadata filtering rag","product attributes embeddings","b2b product assistant","etim classification ai",[666,669,670],{"name":667,"url":668},"Product information management","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FProduct_information_management",{"name":549,"url":550},{"name":671,"url":672},"ETIM (standard)","https:\u002F\u002Fwww.etim-international.com\u002Fclassification\u002F",[674,677,680,683,685,688,691,694,697],{"title":675,"url":676},"Akeneo API: Products, product values, metric values and product models","https:\u002F\u002Fapi.akeneo.com\u002Fconcepts\u002Fproducts.html",{"title":678,"url":679},"Akeneo Help Center: What about products with variants?","https:\u002F\u002Fhelp.akeneo.com\u002Fserenity-take-the-power-over-your-products\u002Fserenity-what-about-products-with-variants",{"title":681,"url":682},"Pimcore documentation: Classification Store","https:\u002F\u002Fdocs.pimcore.com\u002Fplatform\u002FPimcore\u002FObjects\u002FObject_Classes\u002FData_Types\u002FClassification_Store\u002F",{"title":684,"url":672},"ETIM International: Classification",{"title":686,"url":687},"ETIM International: ETIM releases and the IXF format","https:\u002F\u002Fetim-international.com\u002F?p=754",{"title":689,"url":690},"Reddy et al.: Shopping Queries Dataset, a large-scale ESCI benchmark for improving product search (2022)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2206.06588",{"title":692,"url":693},"Amazon Science: esci-data repository","https:\u002F\u002Fgithub.com\u002Famazon-science\u002Fesci-data",{"title":695,"url":696},"Qdrant documentation: Filtering","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Ffiltering\u002F",{"title":698,"url":699},"Sui et al.: Table Meets LLM, can large language models understand structured table data? (WSDM 2024)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2305.13062","\u002Fimages\u002Fblog\u002Frag-product-catalog-pim-data\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-product-catalog-pim-data\u002Fog.jpg","b2b-ecommerce-developer",[61,62,63],"RAG termékkatalógusra: PIM-adatokból megbízható válaszok","A termékadat strukturált, ezért a PDF-szerű chunkolás itt elbukik. Hogyan sorosítsd a PIM-attribútumokat, és hogyan küldd a specifikációs kérdéseket szűrőkhöz.","Kilenc négyzetből álló keret apró jelekkel, alatta tölcsér egyetlen kártyához.",1792261159570]