Megjelent a Weaviate 1.39, új keresési funkciókkal

Elérhető a Weaviate 1.39 nyílt forráskódú kiadása és felhős változata. A verzióban általánosan elérhetővé vált a lekérdezés utáni újrarangsorolást végző Boost API és az MMR-alapú diverzitásválasztás.
- Általánosan elérhetővé vált a Boost API.
- Az MMR diverzitásválasztás a hibrid keresést is támogatja.
- Előzetesként megjelent a 4 bites Rotational Quantization.
- A kiadás kísérleti Search REST API-t és gRPC-Web támogatást is tartalmaz.
- Az új HNSW-pillanatképek csökkentik a commitnapló lemezhasználatát és gyorsítják az indulást.
Két keresési funkció általános elérhetőséggel
A Weaviate 2026. augusztus 27-én közzétett bejelentése szerint a v1.39-ben a korábban előzetesként tesztelt Boost API és a Maximal Marginal Relevance, röviden MMR, általánosan elérhetővé vált.
A Boost API a fő keresés után rangsorolja újra a találatokat. A kereső először összegyűjti a jelölteket, majd a Weaviate a megadott feltételek alapján újrapontozza és átrendezi őket. A funkció szűrőként nem távolítja el a nem megfelelő elemeket. Egy termék például hátrébb kerülhet, ha nincs raktáron, de továbbra is megjelenhet, ha a keresés szempontjából erős találat.
Egy Boost-beállítás egy és húsz közötti számú feltételt tartalmazhat. A támogatott típusok között szerepel a szűrő, a numerikus érték szerinti rangsorolás, az időbeli távolság és a célértéktől való numerikus távolság. A külső súly alapértelmezése 0,5, az egyes feltételeké 1,0. A jelöltek alapértelmezett száma 100, ezt a QUERY_MAXIMUM_RESULTS korlátozza, a teljes fürtre pedig a QUERY_BOOST_DEFAULT_DEPTH beállítással módosítható.
A Boost használható többek között hibrid, bm25, near_text, near_vector, near_object, near_media és near_image keresésnél, a .query.* és .generate.* névterekben. A Weaviate szerint az újrarangsorolás a reranker előtt fut, így ha mindkettőt használják, a reranker rendezi át utoljára az eredményeket.
Az MMR a hasonló találatok ismétlődését csökkenti
Az MMR-diverzitásválasztás a relevanciát és az addig kiválasztott találatoktól való különbséget együtt mérlegeli. A találatokat egyenként választja ki, ezért az első oldal több, egymástól eltérő részletet fedhet le, ahelyett hogy ugyanazt a tartalmat ismételné.
A funkció a hibrid keresés mellett minden near_* kereséssel működik. A hibrid keresés kulcsszavas és vektoros része gyakran hasonló szövegrészleteket emel ki, ezért az MMR különösen ilyen esetekben csökkentheti az ismétlődést. A feldolgozási folyamat végén fut, a két keresési eredmény összevonása után, de az oldal méretének meghatározása előtt. Ha van reranker, az MMR után következik.
A balance értéke 0,0 és 1,0 között lehet. Az 1,0 tisztán a relevanciát követi, vagyis az MMR nélküli sorrendet adja. A 0,0 tisztán a változatosságot részesíti előnyben. Az alapértelmezett érték 0,0, ezért a Weaviate dokumentációja szerint ezt a beállítást célszerű minden esetben kifejezetten megadni. Az MMR kiválasztási limitje legalább 1, és nem lehet nagyobb a lekérdezés limitjénél.
Az MMR a bm25 kereséssel és a többvektoros gyűjteményekkel nem használható. A funkcióhoz legalább a Python kliens 4.23.0 verziója szükséges.
Előzetes 4 bites kvantálás és további újdonságok
A v1.39 új, előzetes állapotú funkciója a 4 bites Rotational Quantization. A módszer először úgy forgatja el a vektort, hogy az értékek egyenletesebben oszoljanak el a dimenziók között, majd minden dimenziót a 32 bites lebegőpontos értéknél kisebb kód formájában tárol.
A Weaviate korábban 8 bites és 1 bites RQ-t is kínált. A 4 bites változatnál két dimenzió foglal el egy bájtot. Egy 1536 dimenziós vektor 16 bájtos fejlécet és 768 bájtnyi kódot igényel, összesen 784 bájtot, szemben a nyers float32 formátum 6144 bájtjával. Ez a forrás szerint 7,84-szer kisebb méretet jelent. A dimenziószámot a rendszer 64 többszörösére kerekíti fel, ezért 1000 dimenziónál 1024 dimenzióval kell számolni.
A kiadás további elemei között szerepel a kísérleti Search REST API, a gRPC-Web támogatása, amely a 1.38-as sorozatban jelent meg, valamint az automatikus HNSW-pillanatképek átdolgozása. A Weaviate szerint az utóbbi csökkenti a commitnapló lemezhasználatát és gyorsítja az indulást. A v1.39 emellett teljesítményjavításokat, hibajavításokat és közösségi hozzájárulásokat is tartalmaz.
Weaviate: Weaviate 1.39 Release


