AllenAI logo

Olmo 3 32B Think

OlmoCurrent
byAllenAIAllenAI(research)
Released November 21, 2025
Context65.5K tokens
Price (In / Out)$0.15/M / $0.50/M
CategoryLarge Language Model
Max Output65.5K tokens

About Olmo 3 32B Think

Olmo 3 32B Think is a large language model from AllenAI. Supports up to 65,536 token context window. Available from $0.15/M input tokens.

Capabilities

textcode

Input Modalities

text

Output Modalities

text

Technical Details

API Identifier
allenai/olmo-3-32b-think
Category
Large Language Model
Context Window
65,536 tokens
Max Output Tokens
65,536 tokens

Tags

budget-friendly

Run this model yourself

Local and cloud setup for Olmo 3 32B Think, with exact configurations, sources and clear evidence limits.

Find a model for your hardware
Local hardwareDocumented setupSources checked Oct 16, 2026

Run Olmo 3 32B Think on a 64 GiB Intel desktop

Serve LM Studio’s exact 19.48 GB Q4_K_M derivative of Ai2 Olmo 3 32B Think using pinned llama.cpp and the separately pinned native Think template. Use an owned Intel Core i5-12400 desktop. Allocate 64 GiB RAM, eight inference threads and 80 GiB disk, one sequence and 8,192 total context tokens and a 4,096-token reasoning-plus-answer cap. Authenticated loopback; documented instructions with unknown full fit, latency and speed.

Hardware
Intel Core i5-12400 desktop, 8 inference threads, 64 GiB RAM
Runtime
llama.cpp v0.7.0 (620d2225cc436ab0b001e3200e590e3b286ef9ab) · CPU
Model format
GGUF · GGUF Q4_K_M mixed quantization · Q4_K_M post-training GGUF quantization by LM Studio community
Workload
8,192 token context · 1 concurrent

Based on source documentation; this setup has not been executed by OpenTools. Memory: unknown. No compatible measurement available.

Read the complete setup guide

Before you start

  • Use an Intel Core i5-12400 desktop (6 cores / 12 threads, AVX2) with Ubuntu 24.04 x86_64, 64 GiB installed RAM and 80 GiB free disk. Allocate eight inference threads. Before a RAM upgrade, confirm motherboard, DIMM and OS compatibility; Intel’s 128 GB CPU maximum depends on memory type and does not validate a particular desktop. Build and run natively on this same CPU.
  • 64 GiB RAM, 80 GiB free/root disk and eight threads are author allocations for the 19.48 GB artifact plus runtime/OS resources, not measured minimums or fit guarantees.
  • Read the publisher’s Apache 2.0 declarations and linked Ai2 Responsible Use Guidelines. LM Studio community publishes this GGUF derivative of Ai2’s model. This recipe serves text requests.
  • Use the exact Olmo 3 32B Think variant. Its native config specifies Olmo3ForCausalLM, 64 dense layers, a hidden size of 5,120, 40 attention heads and eight KV heads. Three sliding-attention layers precede each full-attention layer, with a 4,096-token sliding window.

Exact model and requirements

Artifact:
LM Studio community (GGUF quantization); Ai2 (original model) / Olmo-3-32B-Think Q4_K_M, LM Studio derivative · checkpoint lmstudio-community/Olmo-3-32B-Think-GGUF
Publisher revision:
6721e7e5fca656d696d4a1a8cc654c2bbada294b
Artifact digest:
sha256:d11b0348a5d42183523f2c774054848fe64f0bba090e87fff6bc7d85718a68aa
Download size:
18.14 GiB
Memory requirement (unknown):
Unknown — No exact full-process peak for this Olmo Q4_K_M, sliding/full-attention and workload configuration.
System RAM / disk:
Unknown / Unknown
Placement:
single device. One CPU host; no tensor/pipeline sharding. CPU-only execution; --device none and zero GPU layers. No disk or accelerator offload.
KV cache:
F16 attention K and V; architecture includes sliding-window and full-attention layers. No full cache-memory estimate or measured peak.
Workload:
8,192 token context; Unknown; Unknown; concurrency 1; batch 1; cache unknown; repetitions Unknown.
Tokenizer:
Exact LM Studio GGUF tokenizer with separately pinned Ai2 native Think Jinja template · 6721e7e5fca656d696d4a1a8cc654c2bbada294b; template f2edda15216e738ef2bb73771e11890e152b2112
Sampling / reasoning:
Publisher recommends temperature 0.6, top_p 0.95 and 32,768 output tokens. This bounded walkthrough chooses 4,096 output tokens inside 8,192 total context tokens. top_k 50 follows the publisher example; min_p 0 and repeat_penalty 1 are author choices. The exact Olmo 3 32B Think native Jinja template opens <think> in its assistant generation prompt. Raw message.content is preserved with reasoning-format none and skip-chat-parsing. Inspect a closing </think> and a nonempty final body; do not assume structured reasoning_content. No tool executor is configured.
Runtime prerequisites:
Ubuntu 24.04 x86_64; See prerequisites above.

Official artifact · License

Ai2’s pinned model card explicitly declares Apache License 2.0 and links its Responsible Use Guidelines; LM Studio derivative metadata also declares Apache-2.0 and links the original model. A separate root LICENSE file returned 404 at the pinned base revision; this classification relies on those explicit declarations, not an invented retrieved license file. Read applicable terms and retain required notices when redistributing.

  • The complete model file is 19,482,033,568 bytes. Runtime weights, sliding-window and full-attention cache, buffers, the operating system and build artifacts add requirements. File size alone does not prove fit.
  • 64 GiB RAM and 80 GiB disk are author planning allocations, not measured minimums. Full working memory, latency and speed remain unknown.

One-time setup and hardware

hardware
Unknown — Existing desktop purchase price and incremental hardware cost depend on the reader; unknown.
Existing desktop purchase price and incremental hardware cost depend on the reader; unknown. Tax: unknown.
setup
Unknown — Initial provisioning/build time and labor cost are unknown.
Initial provisioning/build time and labor cost are unknown. Tax: unknown.

Recurring costs

electricity
Unknown — Actual wall power, electricity rate and powered hours are unknown; no TDP-to-wall-power conversion.
Actual wall power, electricity rate and powered hours are unknown; no TDP-to-wall-power conversion. Tax: unknown.
storage
Unknown — Incremental cost of local disk capacity is unknown. The 80 GiB free-disk walkthrough allocation is an author choice, not a measured requirement.
Incremental cost of local disk capacity is unknown. The 80 GiB free-disk walkthrough allocation is an author choice, not a measured requirement. Tax: unknown.
egress
Unknown — Data transfer price, allowances and traffic volume are unknown.
Data transfer price, allowances and traffic volume are unknown. Tax: unknown.
administration
Unknown — Maintenance labor rate and hours are unknown.
Maintenance labor rate and hours are unknown. Tax: unknown.

Install the runtime

  1. 1. Build the pinned CPU server

    Install build dependencies and compile the exact official source revision. These packages are system shared dependencies; no CUDA/GPU driver is required. GGML_NATIVE=ON selects -march=native for this GNU/Linux x86 build, compiling for the host CPU. Build and run on the same machine; no AVX-512 requirement is imposed on the i5-12400.

    Command
    sudo apt-get update
    sudo apt-get install -y build-essential cmake git curl ca-certificates openssl
    mkdir -p "$HOME/olmo3-32b-think-hosting/models"
    cd "$HOME/olmo3-32b-think-hosting"
    git clone https://github.com/ggml-org/llama.cpp.git
    cd llama.cpp
    git checkout --detach 620d2225cc436ab0b001e3200e590e3b286ef9ab
    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=OFF -DGGML_NATIVE=ON
    cmake --build build --config Release -j 8
    ./build/bin/llama-server --version

    Expected result: Build succeeds and server version identifies pinned source. Stop if checkout or build fails.

Download the model

  1. 1. Download exact LM Studio GGUF and native Ai2 template

    Verify both independent immutable inputs. LM Studio says the derivative was produced using llama.cpp b7112; this walkthrough selects newer pinned runtime 0.7.0. Source architecture support is not an executed compatibility proof.

    Command
    cd "$HOME/olmo3-32b-think-hosting"
    curl --fail --location --output models/Olmo-3-32B-Think-Q4_K_M.gguf 'https://huggingface.co/lmstudio-community/Olmo-3-32B-Think-GGUF/resolve/6721e7e5fca656d696d4a1a8cc654c2bbada294b/Olmo-3-32B-Think-Q4_K_M.gguf'
    curl --fail --location --output models/olmo3-think-chat-template.jinja 'https://huggingface.co/allenai/Olmo-3-32B-Think/raw/f2edda15216e738ef2bb73771e11890e152b2112/chat_template.jinja'
    sha256sum --check <<'SHA256'
    d11b0348a5d42183523f2c774054848fe64f0bba090e87fff6bc7d85718a68aa  models/Olmo-3-32B-Think-Q4_K_M.gguf
    eba6e269f669706e5c788e370160dad953137f3fa7014fa69d03c7b3ad9f0e72  models/olmo3-think-chat-template.jinja
    SHA256

    Expected result: Both files report OK; model 19,482,033,568 bytes, template 1434 bytes. Stop on mismatch.

Configure

  1. 1. Create a private service credential

    Generate this only on your own host when following the guide. It is a local service password, not an OpenAI/provider credential. Keep it private and never paste it into tickets. Create it only when absent; preserve an existing key so a repeated setup does not silently rotate access. It is not created during this documentation run.

    Command
    cd "$HOME/olmo3-32b-think-hosting"
    umask 077
    if [ ! -e .api-key ]; then
      openssl rand -hex 32 > .api-key
    fi
    test -s .api-key || { echo 'Existing .api-key is empty; restore it before continuing.'; exit 1; }
    chmod 600 .api-key

    Expected result: A non-empty private .api-key file exists; existing key preserved. No secret is printed.

Start the model

  1. 1. Start one CPU Think sequence

    The pinned converter registers Olmo3ForCausalLM as OLMO2 and preserves its sliding-window pattern. The native CPU runtime supports the 64-layer 32B architecture and sliding/full attention. Use the native Think template verbatim. The author-selected 8,192-token combined context and 4,096-token output cap are a bounded functional walkthrough, reduced from the publisher’s 32,768-token output recommendation. They do not establish adequate reasoning budget. Stop if reasoning or final output is incomplete.

    Command
    cd "$HOME/olmo3-32b-think-hosting"
    export OLMO3_THINK_SERVICE_KEY="$(cat .api-key)"
    ./llama.cpp/build/bin/llama-server -m models/Olmo-3-32B-Think-Q4_K_M.gguf --alias olmo3-32b-think --host 127.0.0.1 --port 8080 --api-key "$OLMO3_THINK_SERVICE_KEY" --device none -ngl 0 -t 8 -c 8192 -np 1 --cache-type-k f16 --cache-type-v f16 --jinja --chat-template-file models/olmo3-think-chat-template.jinja --reasoning-format none --skip-chat-parsing --temp 0.6 --top-p 0.95 --top-k 50 --min-p 0.0 --repeat-penalty 1.0

    Expected result: Model initializes and listener starts. Pass readiness and authenticated chat checks before relying on it. Command-line key may be visible to privileged/local users; trusted host required.

Connect to your endpoint

http://127.0.0.1:8080/v1

Same desktop loopback only; no LAN/public listener. Use on a trusted single-user host.

Access: loopback. Reader-generated private service key in Authorization: Bearer header for chat; /health is public on loopback. Run the client on this same desktop. Keep the key private; this is not an OpenAI API key.

Verify the setup

  1. 1. Check readiness and authenticated text generation

    Use a second terminal on the server. Inspect raw choices[0].message.content for a closing </think>, followed by a nonempty final answer accurately summarizing the supplied passage. The opening <think> is in the template prefill and may not repeat in returned content. Require finish_reason != length. Missing closure, no final body, added facts or truncation fails this functional check. This does not measure reasoning quality.

    Command
    cd "$HOME/olmo3-32b-think-hosting"
    export OLMO3_THINK_SERVICE_KEY="$(cat .api-key)"
    curl --fail http://127.0.0.1:8080/health
    curl --fail http://127.0.0.1:8080/v1/chat/completions -H "Authorization: Bearer $OLMO3_THINK_SERVICE_KEY" -H 'Content-Type: application/json' -d '{"model":"olmo3-32b-think","messages":[{"role":"user","content":"Summarize this supplied passage in one sentence without adding facts: The community library opens at 9am on weekdays and closes at 6pm. On Saturday it opens at 10am and closes at 4pm. It is closed on Sunday."}],"max_tokens":4096,"temperature":0.6,"top_k":50,"top_p":0.95,"min_p":0.0,"repeat_penalty":1.0}'
    curl -o /dev/null -s -w '%{http_code}\n' http://127.0.0.1:8080/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"olmo3-32b-think","messages":[{"role":"user","content":"Hello"}]}'

    Expected result: Health HTTP 200; authenticated generation contains closed reasoning and an accurate nonempty final summary, finish_reason is not length; unauthenticated chat HTTP 401. Never accept a partial reasoning trace as the final answer.

Performance evidence

No compatible measurement available. Documented support and estimated memory do not establish response speed.

Limits and troubleshooting

  • Documented instructions only. OpenTools has not run this build or model, or measured peak memory, throughput or latency.
  • This is the dense Olmo 3 32B Think text checkpoint. Its pinned native template initiates thinking. Raw reasoning and final content are returned together; no tool executor or structured reasoning parser is configured.
  • The exact native config advertises 65,536 maximum positions with YaRN factor 8 and an original window of 8,192 tokens. Three of every four layers use a 4,096-token sliding window, distinct from the total context. This walkthrough chooses 8,192 combined prompt and output tokens, reserving up to 4,096 for reasoning plus final answer. Actual prompt/template token count is unmeasured; keep all input below the remaining budget. No larger-window behavior or RoPE modification is validated.
  • F16 flags specify attention K and V cache precision. Full process memory and fit remain unknown; no cache-memory formula or performance observation is supplied.
  • LM Studio says this derivative was quantized using llama.cpp b7112. The selected newer source runtime supports the Olmo 3 architecture, but this exact binary has not undergone a startup or compatibility test here.
  • The separately pinned 1,434-byte native Think template is used verbatim. It appends <think> to the assistant generation prompt. Functional verification must find </think> and a final answer after it; equality with the GGUF embedded template and structured reasoning parsing have not been verified.
  • The publisher recommends temperature 0.6, top_p 0.95 and 32,768 output tokens. This recipe deliberately caps output at 4,096 within 8,192 total context tokens for a bounded functional check; complex tasks may need a larger configuration and new review. A short cap does not disable thinking or prove adequate reasoning. top_k 50 follows the publisher example; min_p 0 and repeat_penalty 1 are author choices.
  • 64 GiB RAM, 80 GiB disk and eight inference threads are resource allocations, not minimum requirements. Original dated cloud compute and storage quotes exclude tax, egress and administration. Local hardware purchase and electricity costs remain unknown.
  • Loopback binding and a service key do not isolate the service from privileged local users. A public or shared service needs separately designed TLS, authentication and operations. Operating-system and build dependencies resolve at installation; retain tool versions and build logs.
Download or checksum failure
Verify exact uppercase filename and pinned URL; remove only the incomplete dedicated model file and retry. Do not run a mismatching file.
Architecture unsupported or build fails
Confirm exact pinned source commit, Ubuntu compiler/CMake dependencies and GGUF. Do not substitute an older packaged llama.cpp silently.
Out of memory or context overflow
Stop server, free/provision RAM or reduce context and restart; shorten input/output within configured total. Allocation is not a measured guarantee; record any changed configuration.
Connection refused or HTTP 401
Check foreground server logs, 8080 binding, matching private key and Bearer header. Run the client on this same desktop and keep the loopback listener.
Template error, incomplete answer or architecture mismatch
Confirm the exact Olmo 3 32B Think GGUF, native Think template hashes and pinned OLMO2 runtime mapping. Stop on loading or template errors. Require </think> followed by a useful final summary and finish_reason other than length. Keep template, prompt and generated reasoning plus final output within 8,192 tokens. If the 4,096 output cap truncates reasoning, the check fails; changing context/output creates a new configuration requiring validation.

Stop the model

  1. 1. Stop the service

    Press Ctrl+C in server terminal. Unset key in each shell. Confirm this desktop localhost:8080 no longer serves the model.

    Command
    unset OLMO3_THINK_SERVICE_KEY

    Expected result: Server stops and localhost:8080 stops serving.

Uninstall

  1. 1. Remove dedicated model, build and credential files

    Back up wanted logs/files first. Remove only this walkthrough directory after confirming its path. Shared apt packages can remain; do not remove other workloads.

    Command
    rm -r -- "$HOME/olmo3-32b-think-hosting"

    Expected result: Dedicated files and local service credential removed; shared system dependencies remain.

Sources and verification

Sources checked Oct 16, 2026. Verification source

Related guides

Compare this configuration
Cloud serverDocumented setupSources checked Oct 16, 2026

Self-host Olmo 3 32B Think on an AWS CPU VM

Serve LM Studio’s exact 19.48 GB Q4_K_M derivative of Ai2 Olmo 3 32B Think using pinned llama.cpp and the separately pinned native Think template. Use AWS r7i.2xlarge in us-east-1. Allocate 64 GiB RAM, eight inference threads and 80 GiB disk, one sequence and 8,192 total context tokens and a 4,096-token reasoning-plus-answer cap. Authenticated loopback; documented instructions with unknown full fit, latency and speed.

Hardware
AWS r7i.2xlarge, 64 GiB RAM, Ubuntu x86_64
Runtime
llama.cpp v0.7.0 (620d2225cc436ab0b001e3200e590e3b286ef9ab) · CPU
Model format
GGUF · GGUF Q4_K_M mixed quantization · Q4_K_M post-training GGUF quantization by LM Studio community
Workload
8,192 token context · 1 concurrent

Based on source documentation; this setup has not been executed by OpenTools. Memory: unknown. No compatible measurement available.

Read the complete setup guide

Before you start

  • Use Ubuntu 24.04 x86_64 on AWS r7i.2xlarge (8 vCPUs, 64 GiB RAM) in us-east-1 with an 80 GiB gp3 root disk. Check current quote, quota and capacity before provisioning; creating resources incurs charges. Use an existing SSH key, allow inbound SSH only from your client IP, and keep port 8080 closed.
  • 64 GiB RAM, 80 GiB free/root disk and eight threads are author allocations for the 19.48 GB artifact plus runtime/OS resources, not measured minimums or fit guarantees.
  • Read the publisher’s Apache 2.0 declarations and linked Ai2 Responsible Use Guidelines. LM Studio community publishes this GGUF derivative of Ai2’s model. This recipe serves text requests.
  • Use the exact Olmo 3 32B Think variant. Its native config specifies Olmo3ForCausalLM, 64 dense layers, a hidden size of 5,120, 40 attention heads and eight KV heads. Three sliding-attention layers precede each full-attention layer, with a 4,096-token sliding window.

Exact model and requirements

Artifact:
LM Studio community (GGUF quantization); Ai2 (original model) / Olmo-3-32B-Think Q4_K_M, LM Studio derivative · checkpoint lmstudio-community/Olmo-3-32B-Think-GGUF
Publisher revision:
6721e7e5fca656d696d4a1a8cc654c2bbada294b
Artifact digest:
sha256:d11b0348a5d42183523f2c774054848fe64f0bba090e87fff6bc7d85718a68aa
Download size:
18.14 GiB
Memory requirement (unknown):
Unknown — No exact full-process peak for this Olmo Q4_K_M, sliding/full-attention and workload configuration.
System RAM / disk:
Unknown / Unknown
Placement:
single device. One CPU host; no tensor/pipeline sharding. CPU-only execution; --device none and zero GPU layers. No disk or accelerator offload.
KV cache:
F16 attention K and V; architecture includes sliding-window and full-attention layers. No full cache-memory estimate or measured peak.
Workload:
8,192 token context; Unknown; Unknown; concurrency 1; batch 1; cache unknown; repetitions Unknown.
Tokenizer:
Exact LM Studio GGUF tokenizer with separately pinned Ai2 native Think Jinja template · 6721e7e5fca656d696d4a1a8cc654c2bbada294b; template f2edda15216e738ef2bb73771e11890e152b2112
Sampling / reasoning:
Publisher recommends temperature 0.6, top_p 0.95 and 32,768 output tokens. This bounded walkthrough chooses 4,096 output tokens inside 8,192 total context tokens. top_k 50 follows the publisher example; min_p 0 and repeat_penalty 1 are author choices. The exact Olmo 3 32B Think native Jinja template opens <think> in its assistant generation prompt. Raw message.content is preserved with reasoning-format none and skip-chat-parsing. Inspect a closing </think> and a nonempty final body; do not assume structured reasoning_content. No tool executor is configured.
Runtime prerequisites:
Ubuntu 24.04 x86_64; See prerequisites above.

Official artifact · License

Ai2’s pinned model card explicitly declares Apache License 2.0 and links its Responsible Use Guidelines; LM Studio derivative metadata also declares Apache-2.0 and links the original model. A separate root LICENSE file returned 404 at the pinned base revision; this classification relies on those explicit declarations, not an invented retrieved license file. Read applicable terms and retain required notices when redistributing.

  • The complete model file is 19,482,033,568 bytes. Runtime weights, sliding-window and full-attention cache, buffers, the operating system and build artifacts add requirements. File size alone does not prove fit.
  • 64 GiB RAM and 80 GiB disk are author planning allocations, not measured minimums. Full working memory, latency and speed remain unknown.

One-time setup and hardware

hardware
Not applicable — AWS hardware acquisition is included in compute rental; no purchased GPU required. Any separate hardware cost is not applicable.
AWS hardware acquisition is included in compute rental; no purchased GPU required. Any separate hardware cost is not applicable. Tax: unknown.
setup
Unknown — Initial provisioning/build time and labor cost are unknown.
Initial provisioning/build time and labor cost are unknown. Tax: unknown.

Recurring costs

compute
$0.53 / hour
AWS published us-east-1 Linux On-Demand quote USD 0.5292 per billed instance-hour, no paid preinstalled software. Eight billed hours cost USD 4.2336; 24 hours USD 12.7008 compute. Idle running hours bill. No discount, Spot or reservation assumed. Storage, egress, tax and administration additional; capacity unknown. Region: us-east-1. SKU: r7i.2xlarge Linux On-Demand. Tax: excluded. Price dated Oct 15, 2026. Price source
storage
$0.08 / GB month
Captured us-east-1 gp3 quote USD 0.08 per GB-month, with GB defined as 1024^3 bytes. Selected 80 GiB root volume costs USD 6.40 per full month, prorated by provisioned duration, at baseline 3000 IOPS and 125 MB/s. No provisioned extras assumed; retained snapshots/resources separate. Storage persists after stop; tax excluded. Region: us-east-1. SKU: EBS gp3 baseline 3000 IOPS / 125 MB/s. Tax: excluded. Price dated Oct 16, 2026. Price source
egress
Unknown — Data transfer price, allowances and traffic volume are unknown.
Data transfer price, allowances and traffic volume are unknown. Tax: unknown.
administration
Unknown — Maintenance labor rate and hours are unknown.
Maintenance labor rate and hours are unknown. Tax: unknown.

Install the runtime

  1. 1. Build the pinned CPU server

    Install build dependencies and compile the exact official source revision. These packages are system shared dependencies; no CUDA/GPU driver is required. GGML_NATIVE=ON selects -march=native for this GNU/Linux x86 build, compiling for the host CPU. Build and run on the same machine; the binary uses the instruction set exposed by this r7i.2xlarge guest. Do not copy it to a different instance family without rebuilding.

    Command
    sudo apt-get update
    sudo apt-get install -y build-essential cmake git curl ca-certificates openssl
    mkdir -p "$HOME/olmo3-32b-think-hosting/models"
    cd "$HOME/olmo3-32b-think-hosting"
    git clone https://github.com/ggml-org/llama.cpp.git
    cd llama.cpp
    git checkout --detach 620d2225cc436ab0b001e3200e590e3b286ef9ab
    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=OFF -DGGML_NATIVE=ON
    cmake --build build --config Release -j 8
    ./build/bin/llama-server --version

    Expected result: Build succeeds and server version identifies pinned source. Stop if checkout or build fails.

Download the model

  1. 1. Download exact LM Studio GGUF and native Ai2 template

    Verify both independent immutable inputs. LM Studio says the derivative was produced using llama.cpp b7112; this walkthrough selects newer pinned runtime 0.7.0. Source architecture support is not an executed compatibility proof.

    Command
    cd "$HOME/olmo3-32b-think-hosting"
    curl --fail --location --output models/Olmo-3-32B-Think-Q4_K_M.gguf 'https://huggingface.co/lmstudio-community/Olmo-3-32B-Think-GGUF/resolve/6721e7e5fca656d696d4a1a8cc654c2bbada294b/Olmo-3-32B-Think-Q4_K_M.gguf'
    curl --fail --location --output models/olmo3-think-chat-template.jinja 'https://huggingface.co/allenai/Olmo-3-32B-Think/raw/f2edda15216e738ef2bb73771e11890e152b2112/chat_template.jinja'
    sha256sum --check <<'SHA256'
    d11b0348a5d42183523f2c774054848fe64f0bba090e87fff6bc7d85718a68aa  models/Olmo-3-32B-Think-Q4_K_M.gguf
    eba6e269f669706e5c788e370160dad953137f3fa7014fa69d03c7b3ad9f0e72  models/olmo3-think-chat-template.jinja
    SHA256

    Expected result: Both files report OK; model 19,482,033,568 bytes, template 1434 bytes. Stop on mismatch.

Configure

  1. 1. Create a private service credential

    Generate this only on your own host when following the guide. It is a local service password, not an OpenAI/provider credential. Keep it private and never paste it into tickets. Create it only when absent; preserve an existing key so a repeated setup does not silently rotate access. It is not created during this documentation run.

    Command
    cd "$HOME/olmo3-32b-think-hosting"
    umask 077
    if [ ! -e .api-key ]; then
      openssl rand -hex 32 > .api-key
    fi
    test -s .api-key || { echo 'Existing .api-key is empty; restore it before continuing.'; exit 1; }
    chmod 600 .api-key

    Expected result: A non-empty private .api-key file exists; existing key preserved. No secret is printed.

Start the model

  1. 1. Start one CPU Think sequence

    The pinned converter registers Olmo3ForCausalLM as OLMO2 and preserves its sliding-window pattern. The native CPU runtime supports the 64-layer 32B architecture and sliding/full attention. Use the native Think template verbatim. The author-selected 8,192-token combined context and 4,096-token output cap are a bounded functional walkthrough, reduced from the publisher’s 32,768-token output recommendation. They do not establish adequate reasoning budget. Stop if reasoning or final output is incomplete.

    Command
    cd "$HOME/olmo3-32b-think-hosting"
    export OLMO3_THINK_SERVICE_KEY="$(cat .api-key)"
    ./llama.cpp/build/bin/llama-server -m models/Olmo-3-32B-Think-Q4_K_M.gguf --alias olmo3-32b-think --host 127.0.0.1 --port 8080 --api-key "$OLMO3_THINK_SERVICE_KEY" --device none -ngl 0 -t 8 -c 8192 -np 1 --cache-type-k f16 --cache-type-v f16 --jinja --chat-template-file models/olmo3-think-chat-template.jinja --reasoning-format none --skip-chat-parsing --temp 0.6 --top-p 0.95 --top-k 50 --min-p 0.0 --repeat-penalty 1.0

    Expected result: Model initializes and listener starts. Pass readiness and authenticated chat checks before relying on it. Command-line key may be visible to privileged/local users; trusted host required.

Connect to your endpoint

http://127.0.0.1:8080/v1

Server loopback only. For remote client run ssh -N -L 8080:127.0.0.1:8080 USER@VM_IP using your existing SSH access, then call localhost:8080 on client with the service key. Keep EC2 8080 closed.

Access: loopback. Reader-generated private service key in Authorization: Bearer header for chat; /health is public on loopback. SSH authenticates the cloud tunnel separately. Keep the key private; this is not an OpenAI API key.

Verify the setup

  1. 1. Check readiness and authenticated text generation

    Use a second terminal on the server. Inspect raw choices[0].message.content for a closing </think>, followed by a nonempty final answer accurately summarizing the supplied passage. The opening <think> is in the template prefill and may not repeat in returned content. Require finish_reason != length. Missing closure, no final body, added facts or truncation fails this functional check. This does not measure reasoning quality.

    Command
    cd "$HOME/olmo3-32b-think-hosting"
    export OLMO3_THINK_SERVICE_KEY="$(cat .api-key)"
    curl --fail http://127.0.0.1:8080/health
    curl --fail http://127.0.0.1:8080/v1/chat/completions -H "Authorization: Bearer $OLMO3_THINK_SERVICE_KEY" -H 'Content-Type: application/json' -d '{"model":"olmo3-32b-think","messages":[{"role":"user","content":"Summarize this supplied passage in one sentence without adding facts: The community library opens at 9am on weekdays and closes at 6pm. On Saturday it opens at 10am and closes at 4pm. It is closed on Sunday."}],"max_tokens":4096,"temperature":0.6,"top_k":50,"top_p":0.95,"min_p":0.0,"repeat_penalty":1.0}'
    curl -o /dev/null -s -w '%{http_code}\n' http://127.0.0.1:8080/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"olmo3-32b-think","messages":[{"role":"user","content":"Hello"}]}'

    Expected result: Health HTTP 200; authenticated generation contains closed reasoning and an accurate nonempty final summary, finish_reason is not length; unauthenticated chat HTTP 401. Never accept a partial reasoning trace as the final answer.

Performance evidence

No compatible measurement available. Documented support and estimated memory do not establish response speed.

Limits and troubleshooting

  • Documented instructions only. OpenTools has not run this build or model, or measured peak memory, throughput or latency.
  • This is the dense Olmo 3 32B Think text checkpoint. Its pinned native template initiates thinking. Raw reasoning and final content are returned together; no tool executor or structured reasoning parser is configured.
  • The exact native config advertises 65,536 maximum positions with YaRN factor 8 and an original window of 8,192 tokens. Three of every four layers use a 4,096-token sliding window, distinct from the total context. This walkthrough chooses 8,192 combined prompt and output tokens, reserving up to 4,096 for reasoning plus final answer. Actual prompt/template token count is unmeasured; keep all input below the remaining budget. No larger-window behavior or RoPE modification is validated.
  • F16 flags specify attention K and V cache precision. Full process memory and fit remain unknown; no cache-memory formula or performance observation is supplied.
  • LM Studio says this derivative was quantized using llama.cpp b7112. The selected newer source runtime supports the Olmo 3 architecture, but this exact binary has not undergone a startup or compatibility test here.
  • The separately pinned 1,434-byte native Think template is used verbatim. It appends <think> to the assistant generation prompt. Functional verification must find </think> and a final answer after it; equality with the GGUF embedded template and structured reasoning parsing have not been verified.
  • The publisher recommends temperature 0.6, top_p 0.95 and 32,768 output tokens. This recipe deliberately caps output at 4,096 within 8,192 total context tokens for a bounded functional check; complex tasks may need a larger configuration and new review. A short cap does not disable thinking or prove adequate reasoning. top_k 50 follows the publisher example; min_p 0 and repeat_penalty 1 are author choices.
  • 64 GiB RAM, 80 GiB disk and eight inference threads are resource allocations, not minimum requirements. Original dated cloud compute and storage quotes exclude tax, egress and administration. Local hardware purchase and electricity costs remain unknown.
  • Loopback binding and a service key do not isolate the service from privileged local users. A public or shared service needs separately designed TLS, authentication and operations. Operating-system and build dependencies resolve at installation; retain tool versions and build logs.
Download or checksum failure
Verify exact uppercase filename and pinned URL; remove only the incomplete dedicated model file and retry. Do not run a mismatching file.
Architecture unsupported or build fails
Confirm exact pinned source commit, Ubuntu compiler/CMake dependencies and GGUF. Do not substitute an older packaged llama.cpp silently.
Out of memory or context overflow
Stop server, free/provision RAM or reduce context and restart; shorten input/output within configured total. Allocation is not a measured guarantee; record any changed configuration.
Connection refused or HTTP 401
Check foreground server logs, 8080 binding, matching private key and Bearer header. Cloud client must have working SSH tunnel to the correct VM; do not expose the port to repair a tunnel.
Template error, incomplete answer or architecture mismatch
Confirm the exact Olmo 3 32B Think GGUF, native Think template hashes and pinned OLMO2 runtime mapping. Stop on loading or template errors. Require </think> followed by a useful final summary and finish_reason other than length. Keep template, prompt and generated reasoning plus final output within 8,192 tokens. If the 4,096 output cap truncates reasoning, the check fails; changing context/output creates a new configuration requiring validation.

Stop the model

  1. 1. Stop the service

    Press Ctrl+C in server terminal. Unset key in each shell. Close the SSH tunnel with Ctrl+C. Stopping the process alone does not stop EC2 billing.

    Command
    unset OLMO3_THINK_SERVICE_KEY

    Expected result: Server stops and localhost:8080 stops serving.

Uninstall

  1. 1. Remove dedicated model, build and credential files

    Back up wanted logs/files first. Remove only this walkthrough directory after confirming its path. Shared apt packages can remain; do not remove other workloads.

    Command
    rm -r -- "$HOME/olmo3-32b-think-hosting"

    Expected result: Dedicated files and local service credential removed; shared system dependencies remain.

Shut down cloud resources

  1. 1. End cloud billing resources

    In EC2 us-east-1, stop for later reuse or terminate this exact VM. Review Delete on termination for its root volume. Delete unwanted detached EBS volumes, snapshots and reserved/Elastic/public IP resources. Stopped VM storage and retained resources may still bill. Check Bills/Cost Explorer later for final usage.

    Expected result: Exact instance is stopped/terminated as intended; no unwanted attached/retained billed resources remain. Instance compute stops only after its lifecycle transition, not when llama-server stops.

Sources and verification

Sources checked Oct 16, 2026. Verification source

Related guides

Compare this configuration

Benchmarks

Performance scores for Olmo 3 32B Think across standard benchmarks.

MMLUhttps://huggingface.co/allenai/Olmo-3-32B-Think
85.4%
GPQAhttps://huggingface.co/allenai/Olmo-3-32B-Think
58.1%
GPQA DiamondArtificial Analysis
61%
AIME 2025Artificial Analysis
73.7%

Pricing

Token pricing for Olmo 3 32B Think API usage.

Input Tokens

$0.15/M

per million tokens

Output Tokens

$0.50/M

per million tokens

Competing Models

Same pricing tier — direct alternatives to Olmo 3 32B Think

Efficiency
AllenAI logo
AllenAIresearch
2 Models
View full profile

AI Models by AllenAI

AI models from the same organization.

ModelContext WindowPrice (In / Out per M)
Olmo 3.1 32B InstructCurrent66K$0.20 / $0.60