Jais-3-32B-GGUF
[!NOTE] This repository contains GGUF versions of inception42/Jais-3-32B for use with
llama.cpp.Multiple precision and quantization variants are available:
BF16,Q8_0,Q6_K,Q5_K_M,Q5_0,Q4_K_M.
[!WARNING] Deployment notes: K2 Horizon architecture support is merged into
llama.cpp(ggml-org/llama.cpp#29535). Use a recentllama.cppbuild, build it yourself frommaster, or wait for the next officialllama.cpprelease. Startllama-serverwith--jinjaso that reasoning and tool calls are parsed.
Jais-3-32B is the large dense member of the Jais-3 family: a 32B-class decoder-only model with a 512K context window.
[!TIP] Other formats are available in the IFM/Jais-3 collection:
- Quantization: IFM/Jais-3-32B-FP8
- MLX for Apple silicon:
Benchmark Results
| Reference models | ||||||
|---|---|---|---|---|---|---|
| Jais-3-32B | Falcon-H1-34B-Instruct | Gemma-4-31B-it | Muse-Glimmer-30B | Qwen3.8-27B | Fanar-2-27B | |
| # Params | 32B | 34B | 31B | 30B | 27B | 27B |
| # Activated params | 32B | 34B | 31B | 30B | 27B | 27B |
| Architecture | Dense | Dense | Dense | Dense | Dense | Dense |
| Open-ended Generation | ||||||
| AraGen | ||||||
| AraGen v3 (3C3H)09-2025 | 71.0 | 45.0 | 73.4 | 75.6 | 66.7 | 55.9 |
| Correctness | 81.0 | 53.2 | 85.4 | 87.7 | 77.1 | 65.7 |
| Completeness | 80.3 | 51.0 | 84.9 | 87.0 | 76.2 | 63.5 |
| Conciseness | 28.1 | 19.7 | 21.1 | 23.0 | 23.9 | 21.6 |
| Helpfulness | 76.4 | 45.4 | 79.7 | 81.2 | 71.5 | 59.0 |
| Honesty | 79.9 | 49.0 | 84.4 | 86.7 | 74.7 | 61.3 |
| Harmlessness | 80.3 | 51.4 | 84.9 | 87.7 | 76.5 | 64.4 |
| Knowledge & Reasoning | ||||||
| General Knowledge & Comprehension | ||||||
| Arabic MMLU*Accuracy | 88.6 | 73.7 | 89.5 | 87.0 | 85.8 | 66.3 |
| BelebeleAccuracy | 95.0 | 86.6 | 95.9 | 94.3 | 94.4 | 61.8 |
| STEM & Math | ||||||
| AraSTEM*Accuracy | 95.2 | 85.5 | 96.3 | 94.7 | 95.3 | 42.4 |
| Arabic GSM8K*Accuracy | 94.3 | 90.2 | 93.7 | 95.2 | 93.2 | 87.7 |
| GATmath*Accuracy | 98.5 | 63.4 | 98.6 | 98.5 | 98.4 | 87.8 |
| Professional Domains | ||||||
| MedAraBench*Accuracy | 87.0 | 60.7 | 88.8 | 86.1 | 87.3 | 50.9 |
| Arabic Legal (HELM)*Accuracy | 73.4 | 63.1 | 71.1 | 73.1 | 70.5 | 45.7 |
| Arabic Language & Culture | ||||||
| Islamic Knowledge & Arab Culture | ||||||
| IslamicQAAccuracy (mean of the 4 below) | 88.7 | 71.1 | 89.7 | 83.7 | 77.1 | 52.0 |
| PaLM-X 2025-2*Accuracy | 94.6 | 84.7 | 94.5 | 92.6 | 90.8 | 69.3 |
| QIAS-1*Accuracy | 95.9 | 56.2 | 93.2 | 87.4 | 81.6 | 31.4 |
| QIAS-2*Accuracy | 85.5 | 73.4 | 86.9 | 83.0 | 81.9 | 61.8 |
| IslamicEval2025-1B*Accuracy | 78.8 | 70.1 | 84.0 | 71.9 | 54.1 | 45.5 |
| Arab CultureAccuracy (mean of the 3 below) | 88.0 | 76.5 | 90.2 | 84.6 | 81.0 | 41.4 |
| ArabCulture*Accuracy | 88.2 | 79.7 | 91.4 | 86.0 | 85.0 | 34.2 |
| AraDiCE-Culture*Accuracy | 88.3 | 75.4 | 89.4 | 83.2 | 77.1 | 55.9 |
| Arabic Cuisine^Accuracy | 87.4 | 74.4 | 89.8 | 84.7 | 81.0 | 34.0 |
| Dialects | ||||||
| Dialectal Arabic MMLU*Accuracy | 88.5 | 71.5 | 89.4 | 87.0 | 87.0 | 28.2 |
| Dialect Identification (QADI)Accuracy | 70.6 | 50.3 | 70.4 | 60.6 | 51.5 | 29.6 |
| Alyah*Accuracy | 83.0 | 71.8 | 88.4 | 80.3 | 77.7 | 36.3 |
| Linguistics & Literature | ||||||
| Arabic MMLU with diacriticsAccuracy | 87.9 | 69.1 | 88.9 | 86.6 | 85.2 | 64.2 |
| FannOrFlop-MCQAccuracy | 71.8 | 62.4 | 72.6 | 68.3 | 62.5 | 46.4 |
| Arabic Linguistics^Accuracy (mean of the 2 below) | 94.3 | 57.4 | 96.7 | 91.8 | 89.7 | 39.1 |
| DiacritizationAccuracy | 91.9 | 65.2 | 95.2 | 89.5 | 89.6 | 47.0 |
| ParsingAccuracy | 96.7 | 49.7 | 98.3 | 94.1 | 89.8 | 31.3 |
| Translation | ||||||
| FLORES200+LLM-as-a-judge | 91.5 | 70.6 | 92.8 | 84.8 | 81.8 | 71.2 |
| Assistant Capabilities | ||||||
| Instruction Following | ||||||
| Arabic IFBench^Accuracy (prompt-level strict) | 88.7 | 32.2 | 80.8 | 84.2 | 81.3 | 40.0 |
| Arabic IFEvalAccuracy | 80.0 | 66.8 | 78.7 | 79.5 | 77.0 | 49.8 |
| Long Context | ||||||
| AA-LCR (Ar)Accuracy | 75.0 | 14.0 | 66.0 | - | 79.0 | - |
| Factuality & Hallucination | ||||||
| HalluScoreAccuracy | 67.3 | 42.4 | 69.7 | 69.1 | 54.6 | 41.7 |
| SimpleQA Verified (Ar)Aggregate (2/3 F-score + 1/3 non-hallucination rate) | 28.1 | 7.5 | 10.6 | 13.3 | 8.0 | 11.0 |
| F-score | 7.1 | 6.6 | 10.7 | 18.2 | 9.2 | 10.4 |
| Non-hallucination rate | 70.1 | 9.4 | 10.5 | 3.7 | 5.4 | 12.2 |
| Agentic | ||||||
| Terminal Bench 2.1Accuracy (Avg@3) | 63.7 | 1.1 | 43.5 | 51.7 | 79.8 | 1.1 |
| GDPValAccuracy (@ 75% threshold) | 75.5 | 0.0 | 30.5 | 48.2 | 78.2 | 0.0 |
| MCPMarkAccuracy (Pass@1) | 66.1 | 0.8 | 48.8 | 44.9 | 49.6 | 12.1 |
| WildClawBench (English text-only subset)Mean Score@3 | 42.0 | 10.7 | 44.1 | 43.2 | 52.1 | 10.3 |
| Apex-Agents (420 text-only subset, loop agent)Pass@1 (Accuracy) | 25.2 | 0.7 | 12.4 | 22.1 | 28.6 | 0.2 |
| GAIA v2 lit (Ar)Accuracy (Pass@1) | 51.5 | 9.7 | 42.4 | 36.4 | 55.8 | 12.1 |
| Arabic File ProcessingAccuracy (@ 75% threshold) | 71.8 | 0.0 | 4.5 | 20.9 | 78.6 | 0.0 |
| SWE-Bench Verified (Offline)Accuracy (Pass@1) | 72.4 | 0.4 | 59.0 | 71.4 | 73.5 | 0.4 |
| BrowseComp-PlusAccuracy | 71.9 | 1.8 | 42.5 | 41.1 | 53.0 | 3.9 |
[!NOTE] 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.
[!NOTE] Benchmarks marked with ^ will be released by IFM soon.
[!NOTE] Scores above are for the BF16 source checkpoint. Quantized variants have not been separately evaluated yet.
Files
| File | Type | Size |
|---|---|---|
Jais-3-32B-BF16.gguf |
BF16 | 69.57 GB |
Jais-3-32B-Q8_0.gguf |
Q8_0 | 36.97 GB |
Jais-3-32B-Q6_K.gguf |
Q6_K | 28.54 GB |
Jais-3-32B-Q5_K_M.gguf |
Q5_K_M | 24.70 GB |
Jais-3-32B-Q5_0.gguf |
Q5_0 | 24.09 GB |
Jais-3-32B-Q4_K_M.gguf |
Q4_K_M | 21.08 GB |
Quickstart
llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build -j --target llama-server
./build/bin/llama-server -hf IFM/Jais-3-32B-GGUF:Q8_0 --jinja -ngl 99 -c 32768 -np 1
Pick a variant with :BF16, :Q8_0, :Q6_K, :Q5_K_M, :Q5_0 or :Q4_K_M, or pass a local file with -m. --jinja enables the embedded chat
template, which handles reasoning_effort and K2 Horizon tool calls; reasoning_content is returned separately from content.
API Usage
[!TIP] 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:8080/v1", api_key="EMPTY")
response = client.chat.completions.create(
model="Jais-3-32B",
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:8080/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="Jais-3-32B",
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.
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. - Parsers. With
--jinja, llama.cpp detects the K2 Horizon template and parses reasoning and tool calls itself; no parser flags are needed.
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, Inception42 Team, and Cerebras Team}},
year = {2026},
url = {https://ifm.ai/blog/jais3/},
}