Binary Hypervector Engine in Rust | Dweve BitWeave
BitWeave is a binary hypervector engine in Rust. Apache-2.0 terms, self-hosted; the repository publishes in the fifth release round.
Kunskapspipeline byggd på BitWeaves betydelselager.
Korrekt avrundad matematik under BitWeave.
BitWeave publiceras i den femte omgången av stiftelsens releaseprogram. Bygg ett semantiskt tillstånd från det och kör det på vanliga processorer.
Gör betydelse beräkningsbar, bestäm sedan vad du vill bygga med den
Ett format för index på disk som gäller för alla tre.
Webbläsarsidan, kompatibla mindre tillstånd, offline.
TCP- eller UDS-server, språkoberoende klienter.
Bädda in direkt i en Rust-, C- eller Python-process.
BitWeave körs som ett inbäddat bibliotek, som en fristående TCP- eller Unix-socket-server, eller kompilerat till WASM för exekvering i webbläsaren över ett kompatibelt mindre tillstånd. .bwks-tillståndsformatet är detsamma i alla tre lägena; bygg på en server och distribuera samma tillstånd till en webbläsare utan att bygga om.
Benchmarkkvitton publiceras med arkivet, i omgång fem
I den publicerade DBpedia 100K-körningen returnerade BitWeaves exakta multi-frågekonfiguration 9 473 QPS vid recall 1.000 i 19 MB på en i9-13900KF-dator med 24 kärnor, AVX2 och 48 GB. Det uppmätta tvåbitars approximativa jämförelsesystemet returnerade 3 580 QPS i 38 MB på samma värd och data. Vid D4096 över 10K dokument höll uppmätta Hybrid-MultiQ-körningar recall 1.000 vid 35 842 QPS på slumpmässig data, 34 459 på klustrad data och 27 828 på textbaserad data. Vid 250K dokument mätte exakt multi-fråge brute force 2 653 QPS vid recall 1.000. Dessa är benchmarkkvitton, inte universella löften; kör om sviten på din egen korpus och hårdvara när arkivet publiceras.
Exakt i mycket stor skala. De flesta bucketar.
Fler bucketar, snävare kandidatuppsättningar.
Lågt kandidatantal, högst genomströmning.
En linjär skanning är snabb på SIMD i liten skala men blir en flaskhals på mycket stora korpusar. LSH-indexet delar upp hypervektorer i band; kandidater som kolliderar i något band poängsätts exakt. Hybrid-MultiQ batchar fyra frågor per SIMD-register för att hålla exakt återkallelse vid genomströmning. Indexet byggs en gång och frågas många gånger.
Cyklisk förskjutning, kodar ordning och position.
Självinvers, binder en nyckel till ett värde.
Majoritetsomröstning, superponerar en uppsättning koncept.
Ett dokument, en fråga, ett stycke, en kodsymbol kodas alla som en binär hypervektor av fast dimension. Standard är 4096 bitar, eftersom den slumpmässiga projektionsaritmetiken är välbefintlig där och en 4096-bitars XOR och popcount passar rent i AVX2-, AVX-512- och NEON-register. Kodaren är deterministisk; samma text producerar samma hypervektor vid varje körning.
Kunskapsstyrning byggd på BitWeave-betydelselagret.
Parsa och innehållsadressera före indexering.
Inspekterbar implementering, versionspinning och inget proprietärt runtime-beroende.
Pinnad semantisk kontrakt, samma ordnade resultat på varje server.
Index lever på infrastruktur du kontrollerar. Ingen leverantörsbearbetning.
Data stannar i den jurisdiktion du väljer. Förvaringskedjan är granskningsbar. Regelefterlevnad hanteras i arkitekturen snarare än läggs till via en instrumentpanel.
9 473 QPS vid recall 1.000 på DBpedia 100K, utan GPU i körningen.
Hybrid-MultiQ vid 10K dokument, 1.000 recall.
9 473 frågor per sekund vid recall 1.000 på DBpedia 100K, i 19 MB på en i9-13900KF-dator med AVX2 och utan GPU i körningen. Den semantiska motorn under Dweve-stacken.
Ett deterministiskt resultat du kan förklara i efterhand.
Korpusen ligger kvar på maskiner du kontrollerar.
Sökning på request-sökvägen, inte ett batchjobb.
Håll filerna och betydelsekartan oförändrade, så kan ordningen återskapas.
Samma semantiska tillstånd driver likhetssökning, multi-vector passagesökning, metadatafiltrerad sökning, duplikatdetektering, klustring, one-shot-prototyper och RAG-grundning. Sökning är den synliga frågan. Den återanvändbara grunden under den är värdet.
En Rust-crate, ett CLI, en stabil C-ABI, en WASM-bygge och Python-bindningar via maturin. SDK:n är den in-process-sökväg, servern exponerar en delad gräns med autentisering och observerbarhet, och bindningarna går över till befintliga språk utan att implementera om representationen. WASM för kompatibla mindre tillstånd till webbläsarsidans exekvering. Varje yta bär samma semantiska tillstånd, samma indexkontrakt och samma ordnade svar, verifierade mot en gemensam konformitetsbaslinje så att motorn inte får en ny betydelse per klient.
Cold-start-partitionering för mycket stora datamängder.
LSH-kandidater plus exakt ompoängsättning. Standard för exakt sökning.
Exakt SIMD-skanning, batchade frågor. 1.000 recall.
BruteForce-MultiQ för exakta, täta korpusar, Hybrid-MultiQ för exakt recall i större skala, och justerbara LSH- och IVF-backend för de allra största korpusarna. Varje index är en operationsfamilj över samma hypervektorer.
Samma fastställda semantiska kontrakt, på vanliga processorer du redan äger, ger samma ordnade resultat.
Bunta ihop kontexten. Binda relationen. Permutera ordningen. Jämför resultatet.
Binära hypervektorer bär semantisk mening som packade bitar. Externa flyttalskällor korsar en deklarerad envägsomvandlingsgräns; den inbyggda representationen och all intern jämförelse och poängsättning förblir binär eller fixpunktsbaserad.
Cyklisk förskjutning, ordning och position.
HDC kodar mening över tusentals binära dimensioner där buntning fångar mängder, bindning fångar par och permutation fångar ordning. Resultatet är en enda fastbredds hypervektor som ryms i några få cacherader. Dokument- och token-nivålägen samexisterar, så ett helt dokument kan buntas till en vektor eller behålla en uppsättning tokenvektorer för sen interaktion. Representationen förblir liknande under måttligt bitbrus, så samma konstruktion överlever små störningar utan att bredda vektorn eller lägga till en separat positionstensor.
Frågan hashas också, går bara igenom matchande hinkar.
LSH-familjer hashade hypervektorer till hinkar.
Dokument till en binär hypervektor via buntning och bindning.
Indata blir en binär hypervektor. Buntning, bindning och permutation komponerar mängder, roller och ordning innan någon fråga körs. Index, filter och omrangering organiserar kandidater utan att omdefiniera typen. .bwks-tillståndet bevarar kodboken, vektorerna, metadata och härkomst tillsammans. SIMD-avsändning exekverar det på hårdvaran du redan har, och RAG eller en direkt matchning är en användning av resultatet. Beroenderiktningen är avsiktlig: beräkning importerar aldrig applikationsfrågor, kodare kan ändras utan att röra indexkärnorna, och typen korsar varje lager. Fråge-API:et är det sista lagret, inte produkten.
Per fråga plus per GB plus per indexerat dokument.
Den semantiska mitten av AI-stacken levereras av en kedja av leverantörer. En bäddar in innehållet, en lagrar vektorerna, en väljer kandidater, en rangordnar dem, och en modell omvandlar resultatet till prosa. Varje lager ändrar sin modell, sitt index, sitt pris och sin region oberoende, och ingen kan namnge det fullständiga semantiska tillståndet.
BitWeave omvandlar text, bilder, ljud och befintliga vektorer till binära hypervektorer med fast bredd: en inbyggd semantisk typ med en algebra som du kan komponera, jämföra, indexera, filtrera, rangordna, lagra och köra var som helst. Sökning är en operation. RAG är en tillämpning.
Data stannar i den jurisdiktion du väljer. Kedjan av vårdnad är granskningsbar. Efterlevnad hanteras i arkitekturen snarare än genom en instrumentpanel, så varje skyldighet som en granskning väcker har ett strukturellt svar snarare än ett löfte.
När BitWeave publiceras pekar du på en mapp och bygger det första semantiska tillståndet utan att förlita dig på en extern tjänst.
En mapp med dina egna filer. De förblir exakt där de är, på din sida av väggen.
De vanliga servrar eller datorer du redan kör. Ingen GPU, inget specialiserat att köpa.
Införande innebär inte ett migreringsprogram. Samma motor körs på tre sätt: inuti ett verktyg som din personal redan använder, som en gemensam intern tjänst för alla team, eller offline på en enda maskin för det känsligaste materialet. Kompatibelt semantiskt tillstånd flyttas mellan alla tre, så det första valet är aldrig en enkelriktad dörr.
Ett fastlåst semantiskt kontrakt, reproducerat på varje maskin som stöds.
Licensierad kod som du kan behålla och flytta, utan nedstängning att frukta.
Ingen avgift per fråga och ingen specialiserad acceleratorflotta; driftskostnaden är den vanliga CPU-infrastruktur du väljer.
Du väljer jurisdiktion, inte en leverantör långt borta.
En hanterad semantisk tjänst bestämmer var data finns, hur användningen mäts och när dess beteende ändras. BitWeave lämnar tillbaka dessa beslut till ditt team: kör det på vanliga servrar, välj jurisdiktion, lås det semantiska kontraktet och behåll indexet tillsammans med källmaterialet.
Svar som ändras mellan granskningar enligt deras schema.
En prishöjning eller nedstängning du inte kan lämna.
En GPU-flotta att anskaffa, driva och kyla.
Per fråga, per GB, per indexerat dokument, varje månad.
En självhostad semantisk motor förändrar kostnads- och riskbilden. Det finns ingen molnfaktura som växer med varje fråga och ingen specialiserad hårdvara att införskaffa. Ett portabelt index och ett fastlåst semantiskt kontrakt gör varje ändring tydlig, reproducerbar och oberoende av en enda leverantör.