
Milvus vai Weaviate: uzvarētāju maina vektoru dimensija

2026. gada neatkarīgajā etalontestā Weaviate ieguva 0,996 Recall@100 128 dimensiju SIFT1M kopā pret Milvus 0,954, bet 960 dimensiju GIST1M kopā priekšā bija Milvus ar 0,971. Tātad publicētajos rezultātos līderis mainās starp kopām ar atšķirīgu dimensiju, taču abas kopas atšķiras arī pēc satura: dimensija viena pati nav pierādīts maiņas cēlonis.
Pašmitinātai RAG sistēmai Weaviate ir pamatots sākuma kandidāts, ja svarīga augsta atcere ar sākotnējiem iestatījumiem un atsevišķs, vienkārši palaižams pakalpojums. Milvus ir pamatots kandidāts, ja nozīmīga ir atsevišķa meklēšanas un datu apstrādes jaudas palielināšana. Augstas dimensijas teksta vektoriem izvēli nevar izdarīt pēc GIST1M rezultāta: tajā pašā pētījumā 768 dimensiju MS MARCO teksta kopā augstāko atceri sasniedza Weaviate.
Ko atceres rezultāti nozīmē RAG sistēmai
Recall@100 rāda, cik lielu daļu no precīzās meklēšanas tuvākajiem kaimiņiem aptuvenā meklēšana atgriež starp pirmajiem simt kandidātiem. RAG sistēmā kandidātu atlase nosaka, kādi fragmenti vispār var nonākt līdz pārrindošanai un valodas modelim. Ja vajadzīgais fragments šajā posmā izkrīt, vēlākie posmi to nevar atgūt no atlasītās kopas.
Etalontestā izmantotas sākotnējās, īpaši nenoskaņotas konfigurācijas vienmezgla vidē. Tas ļauj salīdzināt sistēmu sākuma uzvedību, bet nepasaka, kā tās strādās ar komandas pielāgotiem indeksiem, filtriem vai vairākiem mezgliem. Pētījums līdztekus atcerei vērtēja latentumu, vaicājumu caurlaidību un resursu patēriņu; šie rādītāji ir svarīgi, jo augstāka atcere var prasīt vairāk laika vai jaudas. Augsta tuvāko kaimiņu atcere arī vēl nenozīmē, ka atrastie teksta fragmenti atbildēs uz lietotāja jautājumu.
Īpaši svarīgs ir teksta un attēlu datu nošķīrums. SIFT1M un GIST1M satur attēlu pazīmju vektorus, savukārt MS MARCO ir informācijas meklēšanas teksta kopa. Pēdējās rezultāts rāda, kāpēc no Milvus pārsvara augstas dimensijas attēlu datos nevar izsecināt tādu pašu pārsvaru teksta iegultajos vektoros. Datu sadalījums un izmantotais līdzības mērs mainās reizē ar dimensiju.
Vienkāršs prototips: lokāla bibliotēka vai serveris
Prototipā izšķirošā atšķirība bieži ir izvietošanas forma. Milvus izvietošanas apraksts piedāvā Lite kā Python bibliotēku, kas var glabāt datus lokālā failā, kā arī Standalone serveri un Distributed režīmu. Lite der vienā lietotnē veidotam izmēģinājumam, kur komanda vēl noskaidro dokumentu fragmentēšanu, iegulšanas modeli un vaicājumu loģiku. Tā vienkāršā palaišana neko nepasaka par Distributed klastera uzturēšanas izmaksām.
Weaviate Docker instrukcija apraksta viena konteinera serveri, pastāvīgu datu glabāšanas sējumu un autentifikācijas konfigurāciju. Tas ir piemērots sākums, ja prototipam jau vajadzīgs tīklā pieejams datubāzes pakalpojums, kuram var pieslēgties vairākas lietotnes. Godīgā izvēle šeit ir starp konkrētiem izvietošanas veidiem: Milvus Lite atrisina lokālas izstrādes vajadzību, bet Weaviate konteiners dod atsevišķu serveri. Ja nepieciešams atsevišķs Milvus pakalpojums, salīdzinājumā jāiekļauj Milvus Standalone, nevis Lite.
Augstas dimensijas teksts: pārbaudīt vajag savu slodzi
GIST1M rezultāts dod iemeslu iekļaut Milvus kandidātu sarakstā, bet MS MARCO rezultāts liedz to pasludināt par automātisku izvēli teksta RAG sistēmai. Vienāds dimensiju skaits pats par sevi negarantē līdzīgu atceri: nozīme ir vektoru sadalījumam, līdzības mēram, indeksa konfigurācijai un pieprasītajam kandidātu skaitam. Arī RAG korpusā meklēšanu var ietekmēt metadatu filtri un dokumentu fragmentēšanas veids, ko publicētais tīras vektoru meklēšanas tests neatspoguļo.
Salīdzinot abus produktus savam korpusam, abiem jāsaņem tie paši dokumentu fragmenti, viena iegulšanas modeļa vektori un identiski vaicājumi. Aptuvenās meklēšanas atceri tad var vērtēt pret precīzās meklēšanas rezultātiem pie tāda kandidātu skaita, kādu izmanto konkrētā RAG plūsma. Vienlaikus jāmēra latentums un atmiņas patēriņš: datubāze, kas atrod vairāk pareizo kaimiņu, var nebūt piemērota, ja atbildes laiks pārsniedz lietotnes pieļaujamo robežu. Šis ir redakcionāls izvēles kritērijs, nevis pētījumā jau izmērīts abu produktu rezultāts jūsu tekstos.
Daudzmezglu vide: jaudas sadale un repliku uzvedība
Milvus priekšrocība kļūst konkrētāka, ja datu ielādes un meklēšanas slodzes aug atšķirīgā tempā. Milvus arhitektūras aprakstā skaitļošana un glabāšana ir atdalītas: Query Node meklē vēsturiskajos datos, Data Node veido indeksus un apstrādā datu segmentus, bet Streaming Node apkalpo augošos datus. Objekta glabātuvē tiek turēti indeksu un datu faili; metadatiem un rakstīšanas žurnālam ir savi komponenti. Tāpēc komanda var piešķirt jaudu konkrētai slodzei, vienlaikus uzņemoties šo atdalīto daļu ekspluatāciju.
Weaviate klasterī centrālais jautājums ir tas, kā tiek replicēti metadati un objekti. Weaviate konsekvences apraksts norāda, ka klastera metadatiem izmanto Raft, bet objektu datiem — bezlīdera replikāciju ar regulējamiem ONE, QUORUM un ALL apstiprinājuma līmeņiem. Rakstīšanas līmenis nosaka, cik repliku apstiprinājumu koordinators sagaida pirms atbildes klientam. Tas ir kompromiss starp atbildes laiku, pieejamību un datu aktualitāti, nevis meklēšanas indeksa kvalitātes iestatījums.
Lasīšanas konsekvences līmenim ir vēl šaurāka nozīme, nekā varētu šķist: tas nemaina vektoru vaicājumā atrasto objektu identifikatoru sarakstu. Vaicājumu nosaka koordinatora un iesaistīto datu daļu lokālie indeksi; izvēlētais līmenis ietekmē jau identificēto objektu iegūšanu no replikām. Tādēļ ALL nav veids, kā automātiski uzlabot Recall@100. Daudzmezglu produkcijas vidē meklēšanas atcere un repliku konsekvence jāvērtē kā divas atsevišķas īpašības.
Izvēles matrica trim situācijām
- Vienkāršs prototips. Milvus Lite ir īsākais ceļš, ja pietiek ar lokālu Python lietotni un datu failu. Weaviate ir loģiska izvēle, ja jau izmēģinājumā vajadzīgs atsevišķs serveris. Ja salīdzināt divus serverus, Milvus pusē vērtējiet Standalone.
- Augstas dimensijas teksta vektori. Paturiet abus kandidātus. Milvus rezultāts GIST1M attēlu datos ir spēcīgs atlases signāls, savukārt Weaviate sniegums MS MARCO teksta datos rāda, ka teksta slodzei uzvarētāju nevar noteikt pēc dimensijas vien. Izšķir atcere, latentums un resursi jūsu korpusā.
- Daudzmezglu produkcijas vide. Milvus ir piemērotāks kandidāts, ja būtiski neatkarīgi palielināt meklēšanas un datu apstrādes jaudu un komanda spēj uzturēt tā komponentus. Weaviate ir piemērots kandidāts, ja galvenā ekspluatācijas prasība ir regulēt objektu replikācijas apstiprinājumus. Abos gadījumos vienmezgla etalontesta skaitļi neaizstāj klastera uzvedības novērtējumu.
Lasiet arī:
Saistītie raksti


LangChain vai LlamaIndex: vienāda precizitāte, trīskārša latentuma starpība

Dify vai Flowise: vieglāks prototips var kļūt par dārgāku pārbūvi

IBM Bob nonāk aiz uzņēmuma ugunsmūra — modelis tomēr jāizvēlas pašam

PostgreSQL vai MySQL: viens ātruma tests uzvarētāju neizvēlas

Cloudflare Workers vai Vercel: viens etalontests neizvēlas uzvarētāju
Abonējiet mūsu jaunumu vēstuli
Saņemiet jaunākās Web3, MI un kriptovalūtu ziņas tieši savā e-pastā.