Instructions to use Congi-libya/BayanSimplify-v0.3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Congi-libya/BayanSimplify-v0.3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Congi-libya/BayanSimplify-v0.3")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("Congi-libya/BayanSimplify-v0.3") model = AutoModelForSeq2SeqLM.from_pretrained("Congi-libya/BayanSimplify-v0.3", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Congi-libya/BayanSimplify-v0.3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Congi-libya/BayanSimplify-v0.3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Congi-libya/BayanSimplify-v0.3", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Congi-libya/BayanSimplify-v0.3
- SGLang
How to use Congi-libya/BayanSimplify-v0.3 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Congi-libya/BayanSimplify-v0.3" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Congi-libya/BayanSimplify-v0.3", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Congi-libya/BayanSimplify-v0.3" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Congi-libya/BayanSimplify-v0.3", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Congi-libya/BayanSimplify-v0.3 with Docker Model Runner:
docker model run hf.co/Congi-libya/BayanSimplify-v0.3
BayanSimplify-v0.3
Model 3 of the Bayan project and our best model: AraT5v2 trained on Bayan corpus v1, decoded with four beams.
What it does
Trained on Bayan corpus v1 (14,975 rows written by Gemma 4 31B and checked by a judge model), which teaches restructuring, restraint on easy text and keeping protected text intact. Decoded with four beams, it outperforms every earlier Bayan model.
BayanBench v2.0, test, core items, int8, four beams, through the app's text step:
| BayanSimplify-v0.3 | Earlier models | |
|---|---|---|
| Meaning kept | 82% | at most 78.6% |
| Longest clause, words cut | 5.2 | BayanSimplify-v0.2 in the app: 1.9 |
| Numbers kept | 100% |
Against BayanSimplify-v0.2 behind the same checks it is no worse on meaning and cuts about three times as many words. In a blind human rating (18 test sentences, four team raters and a reader with dyslexia), its changed outputs were found easier 86% of the time (BayanSimplify-v0.2: 60%), none harder, and every team vote between the two chose BayanSimplify-v0.3.
Input: بسط: (without the shadda), then the text. Decoding: four beams, 3-gram blocking, up to 256 tokens (the
defaults in generation_config.json). The app's int8 bundle is in
BayanSimplify-ONNX (v0.3/).
Use
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
repo = "Congi-libya/BayanSimplify-v0.3"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForSeq2SeqLM.from_pretrained(repo)
text = "وقد أدى التوسع العمراني السريع الذي شهدته المدينة خلال العقدين الماضيين إلى ازدحام مروري خانق في ساعات الذروة."
x = tok("بسط: " + text, return_tensors="pt", max_length=256, truncation=True)
y = model.generate(**x, num_beams=4, no_repeat_ngram_size=3, max_length=256)
print(tok.decode(y[0], skip_special_tokens=True))
The BayanSimplify family
| Model | What it is | Base model | Training data | In the Bayan app |
|---|---|---|---|---|
| BayanSimplify-v0.1 | Model 1 | AraT5v2-base-1024 | SAMER, level 5 → 3 | not shipped |
| BayanSimplify-v0.2 | Model 2 | AraT5v2-base-1024 | 22,733-pair mix (SAMER, Baseet, DAASI) with strength tags | "Earlier large model" |
| BayanSimplify-v0.2-Fast | Model 2, compact | AraBART | the same mix | "Fast model", the default download |
| BayanSimplify-v0.3 | Model 3, our best | AraT5v2-base-1024 | Bayan corpus v1, 14,975 rows | "Large model", four beams |
| BayanSimplify-ONNX | The int8 bundles the app downloads | v0.2-Fast, v0.2, v0.3 |
Licence and data
CC BY-NC 4.0 (non-commercial), in line with the training data's terms. SAMER is used under the CAMeL Lab's permission to fine-tune and share weights for non-commercial use; its text is not redistributed here.
About Bayan
Bayan (بيان) simplifies Arabic text for readers with dyslexia, entirely on an Android phone: select text in any app, choose «تبسيط» (Simplify), and a simpler version appears over the page. Built by Team Cogni for the Samsung Innovation Campus AI capstone, 2026. Every number on this card comes from the team's final report and BayanBench v2.0, the benchmark built for the task (meaning scored by Gemma 4 31B, checked against human raters, AUC 0.85).
- Downloads last month
- -
Model tree for Congi-libya/BayanSimplify-v0.3
Base model
UBC-NLP/AraT5v2-base-1024