IFM/Jais-3-32B-GGUF
- License
- apache-2.0
- Size
- not mirrored yet
No official torrent yet — requesting it tells the flock what to host next. You cannot seed a catalog-only page.
Cataloged from IFM/Jais-3-32B-GGUF
All models by IFM →No official torrent yet — requesting it tells the flock what to host next. You cannot seed a catalog-only page.
Cataloged from IFM/Jais-3-32B-GGUF
All models by IFM →[!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:
[Image blocked: Jais-3-32B benchmark results]
[!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.
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.
.tabsA { position: relative; margin: 12px 0 18px; } .tabsA input { position: absolute; opacity: 0; pointer-events: none; } .tabsA .barA { display: flex; gap: 2px; border-bottom: 1px solid rgba(128,128,128,0.35); } .tabsA .barA label { padding: 9px 18px; margin-bottom: -1px; font-size: 13.5px; font-weight: 600; letter-spacing: 0.01em; cursor: pointer; opacity: 0.6; border-bottom: 3px solid transparent; transition: opacity 0.15s, border-color 0.15s; } .tabsA .barA label:hover { opacity: 1; } #a1:checked ~ .barA label[for="a1"], #a2:checked ~ .barA label[for="a2"] { opacity: 1; border-bottom-color: #0b9573; } #a1:focus-visible ~ .barA label[for="a1"], #a2:focus-visible ~ .barA label[for="a2"] { outline: 2px solid #0b9573; outline-offset: -2px; } .tabsA .pA { display: none; } #a1:checked ~ .p1, #a2:checked ~ .p2 { display: block; } .tabsA .pA pre { margin: 0; border: 1px solid rgba(128,128,128,0.25); border-top: none; border-radius: 0 0 8px 8px; }[!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.
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.
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.temperature=0.2, top_p=0.95, top_k=20 by default. In thinking mode, set temperature=1.0 for English and temperature=0.7 for Arabic. Keep min_p=0.0, presence_penalty=0.0 and repetition_penalty=1.0.--jinja, llama.cpp detects the K2 Horizon template and parses reasoning and tool calls itself; no parser flags are needed.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:
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.
cmake -B build -DGGML_CUDA=ONcmake --build build -j --target llama-server./build/bin/llama-server -hf IFM/Jais-3-32B-GGUF:Q8_0 --jinja -ngl 99 -c 32768 -np 1from openai import OpenAIclient = 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].messageprint("Reasoning:", getattr(message, "reasoning_content", None))print("Answer:", message.content)import jsonfrom datetime import datetimefrom zoneinfo import ZoneInfofrom openai import OpenAIclient = 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)@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/},}