PRODUCTION MODELS · OPEN WEIGHTS ON HUGGING FACE

    Small, task-specific open models

    Olaverse is an open-source multilingual AI infrastructure toolkit for building NLP, speech, retrieval, and language systems for underrepresented languages — built one focused model at a time.

    🤗 Hugging Face

    608 languages identified · Yorùbá · Igbo · Hausa · Arabic · Vietnamese · Turkish · Polish — and beyond

    0
    LANGUAGES IDENTIFIED
    0
    LANGUAGES DIACRITIZED
    0
    LANGUAGES FOR QUESTION GEN

    Production models

    / READY FOR PRODUCTION

    Led by PurpleMIST, our frontier decision models, with specialists to identify the language, restore its marks and generate questions from it. Benchmarked, maintained, and the models we'd point anyone to today.

    FrontierOur flagship models, going head to head with models hundreds of times their size.

    PurpleMIST

    FRONTIER/ Decision models
    SpecialistSmall models that do one job extremely well, built to run cheaply in production.

    LID-608

    / Language identification

    DiacNet

    / Diacritic restoration

    MIST QG

    / Question generation
    / PurpleMIST-Flash-1.0

    PurpleMIST speaks African languages

    A fake bank text in Yorùbá, a POS transfer complaint in Hausa and an M-Pesa scam in Kiswahili, with questions asked in the message’s own language.

    Start in seconds

    Open weights, straight from Hugging Face, with the tools you already use. No API keys, no sign-ups, no rate limits.

    $ pip install olaverse
    quickstart.py
    from transformers import pipeline, AutoTokenizer, AutoModelForSeq2SeqLM
    
    # 1 — Which of 608 languages is this?
    lid = pipeline("text-classification", model="olaverse/lid-neural-608")
    lid("Ẹ kú àárọ̀, ṣé dáadáa ni?")
    >> {'label': 'yor_Latn', 'score': 0.99999...}
    
    # 2 — Restore the tone marks on unmarked text
    tok = AutoTokenizer.from_pretrained("olaverse/diacnet-2.0")
    model = AutoModelForSeq2SeqLM.from_pretrained("olaverse/diacnet-2.0")
    out = model.generate(**tok("<yor> O so fun ara re pe oun ko ni isoro kankan.", return_tensors="pt"))
    tok.decode(out[0], skip_special_tokens=True)
    >> "Ó sọ fún ara rẹ̀ pé òun kò ní ìṣòro kankan."

    Build with our models

    Every model is open-weight and free forever. Fine-tune it, deploy it, or drop it straight into your product. If you build something for underrepresented languages, tell us about it.