पूरा knowledge base, एक फ़ाइल में
.jpg


Island
Forest
Mountain
एक फ़ोल्डर और TOML की कुछ पंक्तियाँ एक .urna बन जाती हैं: chunks, वेक्टर, इंडेक्स, मीडिया और manifest, हर सेक्शन हस्ताक्षरित।
कार्डों के स्कैन AV1 में फ़ाइल के अंदर जाते हैं और वेक्टर छोटे preset पर चले जाते हैं। फ़ाइल छोटी होती है, उद्धरण वही रहता है।
model_hash गेट मॉडल जाँचता है, HNSW ग्राफ़ पर चलता है, BM25 शब्द मिलाता है और सटीक cosine क्रम तय करता है।
जवाब स्रोत तक ले जाने वाला उद्धरण साथ लाता है, और urna validate पहली क्वेरी से पहले हर परत ऑफ़लाइन जाँचता है।
दस्तावेज़ों के फ़ोल्डर से
जवाब देने वाली फ़ाइल तक
सब कुछ, एक ही .urna
00100000 01010011 01111001 01110011 01110100 01100101 01101101 00111010 00100000 01000011 01100001 01110010 01100100 01110011
पब्लिक बेंचमार्क, सबके लिए एक ही पैमाना
बेंचमार्क 2026-09-10 का, arm64 पर, single thread। Urna क्या नहीं करता: in-place update और delete, metadata filters, concurrent writes। पूरी टेबल देखें।
urna के बेंचमार्क
कम्प्रेशन बनाम नाम से सर्च
7 फ़ाइलें · हर फ़ाइल पर 1,000 queriesगुना छोटी, source JPEG के 3.98 GB के मुक़ाबले। crf50 वाली फ़ाइल 533 MB की है और कार्ड को नाम से उतनी ही बार ढूँढती है जितनी 3.61 GB वाली lossless फ़ाइल: txt@1 में फ़र्क +0.001, standard error के अंदर।
यह मेट्रिक क्या मापता है
txt@1 उन 1,000 queries का हिस्सा है जिनमें सही कार्ड पहले नंबर पर आया। query कार्ड का नाम है, टेक्स्ट के रूप में ("artwork of the card {name}"), जिसे clip के image space में सर्च किया जाता है: मॉडल सिर्फ़ art देखता है, इसलिए हर फ़ाइल में लेवल कम है; मायने यह रखता है कि वह गिरता कहाँ है।
drift compress की गई इमेज के वेक्टर और मूल इमेज के वेक्टर के बीच का cosine है: 1.00 मतलब एक जैसा, और यह जितना नीचे जाता है, codec ने मॉडल को दिखने वाली चीज़ उतनी ही बदल दी है। सबसे ख़राब decile (p10) उन 10% कार्ड की सीमा पर खड़ा कार्ड है जो सबसे ज़्यादा बदले; मीडियन (p50) बीच वाला कार्ड है।
यह चार्ट कैसे पढ़ें
हर कॉलम एक फ़ाइल है जिसमें वही 38,627 कार्ड हैं, lossless (3.61 GB) से लेकर crf60 पर AV1 (230 MB) तक, कम्प्रेशन के क्रम में।
ऊपर, drift की दोनों लाइनें पूरे रास्ते गिरती हैं और दूसरी फ़ाइल पर ही gate floor को पार कर जाती हैं। नीचे, सर्च crf50 तक सपाट रहती है: हरे bars lossless से एक standard error के अंदर हैं; डैश वाली लाइन बताती है कि सर्च कहाँ गिरती है, और लाल bars उसके बाद की फ़ाइलें हैं।
| फ़ाइल | साइज़ | drift p10 | txt@1 | ±1 standard error | z बनाम lossless |
|---|---|---|---|---|---|
| lossless | 3.61 GB | 0.9968 | 0.092 | 0.0091 | 0.00 |
| neardup | 1.37 GB | 0.9666 | 0.096 | 0.0093 | 0.31 |
| avif q48 | 1.2 GB | 0.9680 | 0.096 | 0.0093 | 0.31 |
| crf40 | 981 MB | 0.9594 | 0.089 | 0.0090 | -0.23 |
| crf50 | 533 MB | 0.9389 | 0.093 | 0.0092 | 0.08 |
| crf55 | 370 MB | 0.9211 | 0.074 | 0.0083 | -1.46 |
| crf60 | 230 MB | 0.8866 | 0.069 | 0.0080 | -1.89 |
हर फ़ाइल पर 1,000 queries, सब में वही कार्ड; binomial standard error; z हर फ़ाइल के txt@1 की lossless से दूरी है, combined standard errors में: crf50 तक कोई भी 1 से आगे नहीं जाता।
2026-09-12 को मापा गया · benchmark/experiments/14-utility-ladder/results.json
curl -sSf https://raw.githubusercontent.com/hoffresearch/urna/main/scripts/install.sh | sh
urna setupurna build --spec corpus.tomlurna ask corpus.urna "क्या यह offline चलता है?" -k 3urna retrieve corpus.urna "क्या यह offline चलता है?" -k 5 --format jsonlimport urna
from urna.embed_potion import potion_embedder
emb, db = potion_embedder(), urna.open("corpus.urna")
qvec = emb.embed_texts(["क्या यह offline चलता है?"])[0]
hits = db.retrieve(qvec, 5, expected_model_hash=emb.model_hash())urna validate corpus.urnaurna cite corpus.urna "urna://content_hash/chunk_id"urna benchmark corpus.urna -q 100 -k 10 --ann 100एक release, हर package manager
npx @urna/cli validate corpus.urnauvx --from urna urna validate corpus.urnacargo binstall urnaverbs के तीन समूह और उन्हें चलाने की एक स्क्रीन


फ़ाइल और vector अंदर, hits बाहर। Python नहीं।
- inspect
- validate
- stats
- media
- search
- search-ann
- search-graph
- search-space
- search-text
- benchmark
- cite
- doctor
टेक्स्ट या spec अंदर, citation वाले जवाब बाहर, offline Python embedder के ज़रिए।
- ask
- retrieve
- build
वह installer जिस पर हर चैनल ख़त्म होता है, और terminal explorer।
- setup
- tui