Instructions to use IFM/Jais-3-7B-FP8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use IFM/Jais-3-7B-FP8 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="IFM/Jais-3-7B-FP8", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("IFM/Jais-3-7B-FP8", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use IFM/Jais-3-7B-FP8 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "IFM/Jais-3-7B-FP8" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IFM/Jais-3-7B-FP8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/IFM/Jais-3-7B-FP8
- SGLang
How to use IFM/Jais-3-7B-FP8 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 "IFM/Jais-3-7B-FP8" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IFM/Jais-3-7B-FP8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'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 "IFM/Jais-3-7B-FP8" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IFM/Jais-3-7B-FP8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use IFM/Jais-3-7B-FP8 with Docker Model Runner:
docker model run hf.co/IFM/Jais-3-7B-FP8
Jais-3-7B-FP8
This repository contains an FP8-quantized version of inception42/Jais-3-7B.
All linear layers except lm_head are quantized to FP8:
- Weights: static FP8, one scale per 128*128 block.
- Activations: dynamic FP8, one scale per 1*128 group along the input-channel dim.
The FP8 model performs closely in line with the original BF16 model on our evaluations, while reducing memory footprint and enabling faster inference on FP8-capable hardware.
Jais-3-7B is the medium dense member of the Jais-3 family: a 7B-class decoder-only model with a 512K context window.
Other formats are available in the IFM/Jais-3 collection:
- GGUF for llama.cpp and Ollama: IFM/Jais-3-7B-GGUF
- MLX for Apple silicon:
Benchmark Results
| Reference models | |||||||
|---|---|---|---|---|---|---|---|
| Jais-3-7B | Gemma-4-E4B-it | Gemma-4-12B-it | Qwen3.5-9B | Falcon-H1-7B-Instruct | Allam 7B | Fanar-1-9B-Instruct | |
| # Params | 7B | 8B | 12B | 9B | 7B | 7B | 9B |
| # Activated/Effective params | 7B | 4B | 12B | 9B | 7B | 7B | 9B |
| Architecture | Dense | Dense | Dense | Dense | Dense | Dense | Dense |
| Open-ended Generation | |||||||
| AraGen | |||||||
AraGen v3 (3C3H) 09-2025 | 55.0 | 48.8 | 62.8 | 55.7 | 28.0 | 44.9 | 40.1 |
Correctness | 63.7 | 58.8 | 73.5 | 67.0 | 34.8 | 52.2 | 48.6 |
Completeness | 62.1 | 57.7 | 72.4 | 66.4 | 32.7 | 47.2 | 45.9 |
Conciseness | 20.6 | 10.7 | 18.4 | 13.9 | 10.6 | 30.8 | 17.7 |
Helpfulness | 58.8 | 51.2 | 66.7 | 57.9 | 26.1 | 43.4 | 40.2 |
Honesty | 62.0 | 56.7 | 72.4 | 62.8 | 29.9 | 47.0 | 41.9 |
Harmlessness | 62.9 | 57.7 | 73.2 | 66.4 | 33.6 | 48.9 | 46.2 |
| Knowledge & Reasoning | |||||||
| General Knowledge & Comprehension | |||||||
Arabic MMLU* Accuracy | 85.2 | 77.5 | 84.1 | 80.9 | 63.3 | 71.2 | 65.8 |
Belebele Accuracy | 92.9 | 88.7 | 93.6 | 89.2 | 72.9 | 78.8 | 79.9 |
| STEM & Math | |||||||
AraSTEM* Accuracy | 92.6 | 89.7 | 93.7 | 93.4 | 76.6 | 79.0 | 73.0 |
Arabic GSM8K* Accuracy | 92.7 | 87.0 | 92.6 | 91.4 | 85.0 | 56.8 | 75.3 |
GATmath* Accuracy | 96.4 | 94.4 | 98.0 | 97.3 | 45.5 | 38.4 | 40.6 |
| Professional Domains | |||||||
MedAraBench* Accuracy | 78.3 | 68.4 | 81.0 | 80.8 | 48.0 | 49.1 | 50.7 |
Arabic Legal (HELM)* Accuracy | 65.9 | 63.1 | 67.4 | 64.3 | 57.9 | 61.2 | 61.8 |
| Arabic Language & Culture | |||||||
| Islamic Knowledge & Arab Culture | |||||||
IslamicQA Accuracy (mean of the 4 below) | 83.8 | 71.6 | 78.2 | 69.3 | 61.5 | 67.1 | 62.8 |
PaLM-X 2025-2* Accuracy | 91.2 | 82.9 | 89.6 | 84.5 | 74.3 | 85.9 | 80.3 |
QIAS-1* Accuracy | 88.5 | 62.5 | 74.5 | 61.1 | 44.0 | 31.2 | 36.3 |
QIAS-2* Accuracy | 80.7 | 69.5 | 81.3 | 72.3 | 65.8 | 72.9 | 64.9 |
IslamicEval2025-1B* Accuracy | 74.9 | 71.4 | 67.5 | 59.3 | 61.9 | 78.4 | 69.7 |
Arab Culture Accuracy (mean of the 3 below) | 83.8 | 78.5 | 84.2 | 77.3 | 65.5 | 76.1 | 71.1 |
ArabCulture* Accuracy | 84.9 | 81.6 | 87.0 | 80.4 | 72.4 | 77.7 | 77.3 |
AraDiCE-Culture* Accuracy | 81.0 | 76.0 | 81.6 | 74.9 | 59.2 | 79.3 | 67.0 |
Arabic Cuisine^ Accuracy | 85.5 | 77.8 | 84.1 | 76.6 | 65.0 | 71.3 | 68.9 |
| Dialects | |||||||
Dialectal Arabic MMLU* Accuracy | 83.6 | 76.6 | 83.5 | 80.4 | 58.5 | 56.6 | 58.2 |
Dialect Identification (QADI) Accuracy | 69.0 | 59.8 | 62.1 | 35.7 | 38.1 | 42.8 | 46.2 |
Alyah* Accuracy | 80.7 | 77.2 | 82.5 | 68.3 | 65.7 | 77.5 | 69.6 |
| Linguistics & Literature | |||||||
Arabic MMLU with diacritics Accuracy | 83.6 | 74.5 | 83.2 | 77.3 | 52.3 | 61.9 | 54.9 |
FannOrFlop-MCQ Accuracy | 69.4 | 64.0 | 66.2 | 58.2 | 51.4 | 66.7 | 63.3 |
Arabic Linguistics^ Accuracy (mean of the 2 below) | 93.2 | 84.1 | 93.0 | 81.5 | 47.5 | 67.5 | 57.6 |
Diacritization Accuracy | 90.8 | 76.6 | 88.7 | 82.8 | 48.6 | 75.0 | 68.3 |
Parsing Accuracy | 95.5 | 91.6 | 97.4 | 80.2 | 46.4 | 59.9 | 46.9 |
| Translation | |||||||
FLORES200+ LLM-as-a-judge | 90.6 | 84.0 | 89.5 | 74.3 | 59.8 | 74.5 | 68.4 |
| Assistant Capabilities | |||||||
| Instruction Following | |||||||
Arabic IFBench^ Accuracy (prompt-level strict) | 91.6 | 42.6 | 75.3 | 58.3 | 26.2 | 18.9 | 25.8 |
Arabic IFEval Accuracy | 80.2 | 72.3 | 78.7 | 73.8 | 62.4 | 48.0 | 44.6 |
| Long Context | |||||||
AA-LCR (Ar) Accuracy | 65.0 | - | 49.0 | 68.0 | 9.0 | - | - |
| Factuality & Hallucination | |||||||
HalluScore Accuracy | 55.1 | 38.2 | 55.4 | 48.8 | 14.7 | 34.8 | 42.4 |
SimpleQA Verified (Ar) Aggregate (2/3 F-score + 1/3 non-hallucination rate) | 25.7 | 24.4 | 9.4 | 8.5 | 3.8 | 4.2 | 6.1 |
F-score | 4.3 | 3.1 | 5.6 | 10.5 | 3.5 | 4.1 | 5.9 |
Non-hallucination rate | 68.3 | 67.0 | 17.1 | 4.4 | 4.5 | 4.5 | 6.6 |
| Agentic | |||||||
Terminal Bench 2.1 Accuracy (Avg@3) | 46.4 | 1.9 | 27.3 | 29.2 | 0.0 | 0.0 | 0.0 |
GDPVal Accuracy (@ 75% threshold) | 60.5 | 5.5 | 17.7 | 19.1 | 0.0 | 0.0 | 0.0 |
MCPMark Accuracy (Pass@1) | 49.6 | 3.2 | 17.3 | 31.5 | 0.0 | 0.0 | 0.0 |
WildClawBench (English text-only subset) Mean Score@3 | 38.9 | 22.3 | 29.0 | 34.4 | 9.4 | 0.0 | 0.0 |
Apex-Agents (420 text-only subset, loop agent) Pass@1 (Accuracy) | 21.7 | 1.0 | 7.6 | 5.0 | 0.5 | 0.0 | 0.0 |
GAIA v2 lit (Ar) Accuracy (Pass@1) | 44.9 | 19.4 | 39.4 | 29.1 | 0.0 | 0.0 | 0.0 |
Arabic File Processing Accuracy (@ 75% threshold) | 45.5 | 0.0 | 0.9 | 0.5 | 0.0 | 0.0 | 0.0 |
SWE-Bench Verified (Offline) Accuracy (Pass@1) | 70.2 | 4.4 | 28.2 | 50.8 | 0.0 | 0.0 | 0.0 |
BrowseComp-Plus Accuracy | 67.7 | 21.2 | 21.9 | 49.5 | 0.4 | 0.1 | 0.4 |
Starred (*) benchmarks have been audited for sample quality. Items with ambiguous questions, invalid answer options, or indefensible gold labels were excluded, since they can penalize a correct answer or reward a lucky guess. Scores on these benchmarks are reported on the cleaned sets. The audit methodology, the excluded samples and the verified benchmarks are available in the IFM/Arabic-Benchmark-Auditing collection.
Benchmarks marked with ^ will be released by IFM soon.
Quickstart
Serving
vLLM (vllm>=0.30.0) · vLLM recipe:
vllm serve inception42/Jais-3-7B \
--trust-remote-code \
--dtype bfloat16 \
--tensor-parallel-size 1 \
--reasoning-parser k2_horizon \
--enable-auto-tool-choice \
--tool-call-parser k2_horizon
Use an exact branch name from the inventory with vLLM's --revision option.
SGLang (sglang>=0.5.20) · SGLang recipe:
sglang serve \
--model-path inception42/Jais-3-7B \
--tp 1 \
--dtype bfloat16 \
--attention-backend fa3 \
--reasoning-parser k2_horizon \
--host 0.0.0.0 \
--port 30000 \
--tool-call-parser k2_horizon
API Usage
Recommended settings:
reasoning_effort="high", the sampling hyperparameters in the table below, and at least 32,768 output tokens. Reasoning depth is selected per request throughchat_template_kwargs. Thinking is returned inreasoning_contentand the answer incontent.
| Parameter | Default | Thinking mode, English | Thinking mode, Arabic |
|---|---|---|---|
temperature |
0.2 | 1.0 | 0.7 |
top_p |
0.95 | 0.95 | 0.95 |
top_k |
20 | 20 | 20 |
from openai import OpenAI
client = OpenAI(base_url="http://localhost:30000/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="inception42/Jais-3-7B",
messages=[{"role": "user", "content": "لدينا عددان مجموعهما 50 وحاصل ضربهما 600. ما هما العددان؟ اشرح خطوات الحل."}],
temperature=0.7,
top_p=0.95,
max_tokens=32768,
extra_body={"top_k": 20, "chat_template_kwargs": {"reasoning_effort": "high"}},
)
message = response.choices[0].message
print("Reasoning:", getattr(message, "reasoning_content", None))
print("Answer:", message.content)
import json
from datetime import datetime
from zoneinfo import ZoneInfo
from openai import OpenAI
client = OpenAI(base_url="http://localhost:30000/v1", api_key="EMPTY")
TIMEZONES = {"أبوظبي": "Asia/Dubai", "الرياض": "Asia/Riyadh", "القاهرة": "Africa/Cairo", "لندن": "Europe/London"}
def get_current_time(city: str) -> dict:
if city not in TIMEZONES:
return {"error": f"مدينة غير معروفة: {city}"}
return {"city": city, "time": datetime.now(ZoneInfo(TIMEZONES[city])).strftime("%H:%M")}
tools = [{
"type": "function",
"function": {
"name": "get_current_time",
"description": "يعيد الوقت الحالي في مدينة معينة",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string", "description": "اسم المدينة بالعربية"}},
"required": ["city"],
},
},
}]
available_tools = {"get_current_time": get_current_time}
messages = [{"role": "user", "content": "كم الساعة الآن في القاهرة؟"}]
for _ in range(5): # call the model, run any requested tools, repeat until it answers
message = client.chat.completions.create(
model="inception42/Jais-3-7B",
messages=messages,
tools=tools,
temperature=0.7,
top_p=0.95,
max_tokens=32768,
extra_body={
"top_k": 20,
"chat_template_kwargs": {"reasoning_effort": "high", "tool_call_format": "xml"},
},
).choices[0].message
messages.append(message)
if not message.tool_calls:
break
for call in message.tool_calls:
tool = available_tools.get(call.function.name)
arguments = json.loads(call.function.arguments)
result = tool(**arguments)
messages.append({"role": "tool", "tool_call_id": call.id,
"content": json.dumps(result, ensure_ascii=False)})
print(message.content)
Our model supports multiple tool-call formats, which can be changed with chat_template_kwargs. The supported values are json, xml, and xml_typed. The default is xml. Keep --tool-call-parser k2_horizon enabled to parse the selected format.
Transformers
Validated with Transformers 5.15.0, PyTorch 2.13.0, Safetensors 0.8.0.
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "inception42/Jais-3-7B"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id, device_map="auto", dtype="bfloat16", low_cpu_mem_usage=True, trust_remote_code=True
)
inputs = tokenizer("لدينا عددان مجموعهما 50 وحاصل ضربهما 600. ما هما العددان؟ اشرح خطوات الحل.", return_tensors="pt").to(model.device)
inputs.pop("token_type_ids", None)
outputs = model.generate(**inputs, max_new_tokens=32768, temperature=0.7, top_p=0.95, top_k=20, do_sample=True)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Release Artifacts
The table below lists the release artifacts for Jais-3-7B.
Artifact Index
| Artifact | Link |
|---|---|
| Model card | Hugging Face |
| Training logs | W&B |
| Blog post | Jais 3: Introducing Arabic-centric Agentic AI |
| Checkpoints | Checkpoint inventory |
| Technical report | Coming soon |
| Code repository | Coming soon |
Checkpoint Inventory
Model repository: inception42/Jais-3-7B
Branch names below refer to this repository.
| Checkpoint | Branch / repository |
|---|---|
| CPT Checkpoint | CPT |
| Cooldown Checkpoint | Cooldown |
| FTPO Checkpoint | FTPO |
| SFT Checkpoint | SFT |
Best Practices
- Reasoning effort: always
high. All reported results use high reasoning effort. Pass{"chat_template_kwargs": {"reasoning_effort": "high"}}on every request. No reasoning ({"reasoning_effort": "low"}) is not recommended except for research on reasoning efforts. - Sampling parameters. Use the values in the table above:
temperature=0.2,top_p=0.95,top_k=20by default. In thinking mode, settemperature=1.0for English andtemperature=0.7for Arabic. Keepmin_p=0.0,presence_penalty=0.0andrepetition_penalty=1.0. - Serving. Use the validated SGLang recipe above: BF16, TP=1 on a single H100 node, FlashAttention-3.
- Parsers. Enable the
k2_horizonreasoning parser for chat, and add thek2_horizontool-call parser for agent use. Leave both off for plain completion-style generation.
Intended Use and Limitations
Intended use: The model is designed for Arabic and English assistant and agentic applications, including reasoning and tool-use tasks, as well as for research and experimentation.
Out of scope: The model should not be used in ways that violate applicable laws or regulations. The following uses are also considered out of scope:
- Harmful or malicious use: generating hateful, extremist, discriminatory, or deliberately misleading content, or using the model to support illegal or harmful activities.
- Sensitive information: using the model to generate, expose, or infer personal, confidential, or otherwise sensitive information about individuals or organizations.
- Unsupported languages: applications that depend on reliable performance in languages other than Arabic or English.
- High-stakes decisions: relying on the model to make medical, legal, financial, or safety-critical decisions without appropriate human oversight.
Limitations: The model can produce inaccurate or made-up content and may reflect biases present in its training data. Evaluate it for your use case and add safeguards before deploying it.
Citation
@misc{jais3_2026,
title = {Jais 3: Introducing Arabic-centric Agentic AI},
author = {{IFM Team}},
year = {2026},
url = {https://ifm.ai/blog/jais3/},
}
- Downloads last month
- 5
Model tree for IFM/Jais-3-7B-FP8
Base model
inception42/Jais-3-7B