
The Olaverse SDK
Open-source NLP infrastructure for underrepresented languages
30-Second Quick Start¶
from olaverse.nlp import Diacritizer
d = Diacritizer(model="auto") # detects the language, routes to the right model
d.restore("Ojo lo si oja lana") # Yoruba
# β 'ΓjΓ³ lα» sΓ α»jΓ lana'
d.restore("Kedu ka i mere") # Igbo
# β 'Kedα»₯ ka α» mere'
Need more languages? diactag-1.0 covers 10 β and cannot change your text beyond adding marks. With pip install olaverse[deeplearning]:
d = Diacritizer(model="diactag-1.0", lang="yo")
d.restore("se eranko naa si gbo o?")
# β 'αΉ£Γ© αΊΉranko nÑà sΓ¬ gbα»Μ α»?'
# Leave lang out and it detects the language itself
Diacritizer(model="diactag-1.0").restore("Co ay rat dam dang")
# β 'CΓ΄ αΊ₯y rαΊ₯t ΔαΊ£m Δang'
What is Olaverse?¶
Olaverse is an open-source multilingual AI infrastructure toolkit for building NLP, speech, retrieval, and language systems for underrepresented languages.
It gives you production-ready APIs for language detection, diacritization, tokenization, embeddings, reranking, and speech-text preprocessing β plus the MIST LLM family, domain LLMs, and lightweight vision models β all in one Python package.
Why Olaverse?¶
1. Low-resource language support¶
Many languages lack high-quality AI tooling. Olaverse ships working models for them today:
- Language detection β 5 to 25 languages, from a 1.1 MB CPU model to neural classifiers
- Diacritization β restore tones and accents across 10 languages
- Tokenization β byte-level BPE tokenizers with 0% OOV, up to 63% fewer tokens than GPT-4 on Yoruba
- Embeddings & retrieval β cross-lingual semantic search for Hausa, Yoruba, Igbo
- Speech preprocessing β TTS text normalization for Yoruba, Igbo, and Nigerian Pidgin
2. Production-ready APIs¶
Instead of wrestling with AutoModel.from_pretrained(), checkpoints, and generation configs:
Diacritizer(model="auto").restore(text)
LIDLite5().predict(text)
Reranker().rank(query, passages)
Tokenizer("yo").encode(text)
Correct defaults β stop tokens, sampling parameters, model routing β are baked in.
3. Lightweight deployment¶
Models are sized for real infrastructure, not just research clusters:
LIDLite5β 1.1 MB, 0.014 ms per sentence, pure Python, zero GPUdiacnet-yor-viterbiβ ~7 MB, fast CPU inferencediactag-1.0β 38 MB int8, 10 languages, 244 characters/second on one CPU coreReranker(22.7M) β 23 MB cross-encoder- Prism vision models β ~25K-parameter upscalers that run anywhere
Core Capabilities¶
transformers or hosted via Featherless/Modal.LegalPeace β fine-tuned Mistral-7B for contract analysis and legal reasoning. Memory-efficient 4-bit inference via unsloth.Reranker for RAG/search pipelines, and a Nigerian-language Embedder for cross-lingual semantic search over Hausa, Yoruba, and Igbo.PrismUpscaler (2x/4x/arbitrary), PrismDenoiser, and PrismSteganography for hiding recoverable messages in images.Featured Models¶
| Model | What it does | Size | Start here |
|---|---|---|---|
| DiacTag | Restores accents & tones in 10 languages, guaranteed not to alter the text | 38 MB β 150 MB | DiacTag β |
| DiacNet | Restores accents, tones & special characters in 10 languages | 1 MB β 1.1 GB | DiacNet β |
| LID family | Language detection, 5β25 languages | 1.1 MB β 500 MB | Language Detection β |
| OTK-BPE | Tokenizers for 8+ languages, 0% OOV | ~3 MB each | Tokenizers β |
| Reranker / Embedder | RAG & cross-lingual search | 23 MB+ | Retrieval β |
| MIST | General LLMs β 8B / 70B / 140B / Thinking | 15 β 256 GB | MIST β |
| Prism | Image upscaling, denoising, steganography | ~25K params+ | Prism β |
Full catalog with comparison tables: Model Overview β
Use Cases¶
Olaverse components slot into production pipelines for:
- Speech AI β ASR post-processing β normalization β diacritization β TTS front-end
- OCR correction β restore diacritics that scanners drop
- Search β language detection, query normalization, cross-lingual retrieval, reranking
- Education β language-learning tools with correct tone marks
- Customer support β detect and route messages in Nigerian languages and Pidgin
- Translation pipelines β clean, diacritized input for MT systems
See Solutions β for worked examples.
Benchmarks¶
| Model | Size | Speed | Macro F1 |
|---|---|---|---|
LIDLite5 |
1.1 MB | 0.014 ms | 98.12% |
LIDNeural5 |
484 MB | 13.3 ms | 98.96% |
All published numbers β LID, diacritization, tokenizer efficiency β in one place: Benchmarks β
Install¶
LIDNeural5, diactag-1.0, diacnet-1.0/1.1, MIST local inference (requires GPU).
PrismUpscaler, PrismDenoiser, PrismSteganography (requires torch, torchvision, Pillow).
Supported Languages¶
yor
Igbo ibo
Hausa hau
Nigerian Pidgin pcm
English eng
| Feature | yor | ibo | hau | pcm | eng |
|---|---|---|---|---|---|
| Language Detection (LIDLite5 / LIDNeural5) | β | β | β | β | β |
| Diacritization | β | β | β (diacnet-1.0) | β | β |
| BPE Tokenizer | β | β | β | β | via naija |
| TTS Normalization | β | β | β | β | β |
Beyond Nigerian languages: LIDLite25/LIDNeural25 detect 25 languages; diacnet-1.0 diacritizes 10 (incl. Vietnamese, Polish, Turkish, Portuguese, Spanish, French, Italian); OTK-BPE tokenizers cover Swahili and Kinyarwanda.
What's New in v0.2.0¶
MISTTitleGeneratorβ short chat titles from a user's first message, wrappingmist-tg-0.3bMISTQuestionGeneratorβ search-style question generation from a passage across 25 languages, wrappingmist-qg-1.5b. Useful as an endpoint, or as a data factory minting(query, positive)pairs to train retrieversdiacnet-1.0no longer truncates long text β the model was trained on sentence-length input, so multi-sentence text is now segmented, restored a sentence at a time, and rejoined. Previously a 358-character paragraph came back at 235 characters with its tail dropped. Override withsplit_sentences=Falseor your ownsplitter=- Corrected model documentation β every documented example was re-run against the real checkpoints, and the claims that didn't hold were fixed (see the changelog)
Previously, in v0.1.5:
- 25-language identification β
LIDLite25(fastText) andLIDNeural25(XLM-RoBERTa) extend language detection well beyond the original 5 Nigerian languages;LIDNeural5_1adds a compact Nigerian-only classifier built on the newmist-encoder-base-ng diacnet-1.0β a single multilingual ByT5 model restores diacritics across 10 languages (Yoruba, Igbo, Hausa, Vietnamese, Polish, Turkish, Portuguese, Spanish, French, Italian), added toDiacritizervialang=- OTK-BPE multilingual tokenizer family β Swahili, Kinyarwanda, and a merged French/Kinyarwanda/English/Swahili tokenizer, each at 50k/100k/150k vocab, available through the same
Tokenizerclass - New
olaverse.nlpretrieval toolkit βReranker(cross-encoder, 2 sizes) andEmbedder(cross-lingual Hausa/Yoruba/Igbo sentence embeddings) for RAG/search pipelines - New
olaverse.visionmodule βPrismUpscaler,PrismDenoiser, andPrismSteganography, general-purpose image-to-image models - New extras:
olaverse[lid],olaverse[retrieval],olaverse[vision]
Previously, in v0.1.4:
MISTwrapper β unified interface for all MIST variants with correct stop tokens, sampling defaults, and local/hosted endpoint switchingLIDNeural5moved toolaverse.nlpβ its correct home alongsideLIDLite5(backward-compat import fromolaverse.llmpreserved)ExperimentalWarningon speech classes β honest signalling that acoustic synthesis is not yet availableolaverse[hosted]extra βpip install olaverse[hosted]for Featherless/Modal inference
Commercial Support¶
Need custom language support, fine-tuning, or deployment help? We work with teams adding underrepresented-language capability to their products. Learn more β