Arcee AI logo

Trinity Large Preview

TrinityCurrent
byArcee AIArcee AI(startup)
Released January 27, 2026
Context131K tokens
CategoryLarge Language Model

About Trinity Large Preview

Trinity Large Preview is a large language model from Arcee AI. Supports up to 131,000 token context window. Available free with rate limits on OpenRouter.

Capabilities

textcode

Input Modalities

text

Output Modalities

text

Technical Details

API Identifier
arcee-ai/trinity-large-preview:free
Category
Large Language Model
Context Window
131,000 tokens

Tags

long-context

Run this model yourself

Local and cloud setup for Trinity Large Preview, with exact configurations, sources and clear evidence limits.

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

Serve complete Trinity Large Preview on an owned 256 GiB Xeon workstation

Load all seven publisher Q4_K_M shards with the exact native Trinity template and a grounded text-summary check. Count complete templated input before generation within one 4,096-position sequence. The 256 GiB allocation is planning capacity; memory fit, speed and quality are unmeasured.

Hardware
Intel Xeon w5-2465X / ASUS W790E-SAGE SE,256GiB RAM,400GiB free disk
Runtime
llama.cpp v0.7.0 (620d2225cc436ab0b001e3200e590e3b286ef9ab) · CPU
Model format
GGUF · Publisher Q4_K_M mixed GGUF · Publisher Q4_K_M mixed quantization of Trinity-Large-Preview; not native BF16 byte equivalence
Workload
4,096 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 owned Intel Xeon w5-2465X / ASUS Pro WS W790E-SAGE SE workstation, Ubuntu 24.04 x86_64,256 GiB actually installed ECC RDIMM memory and 400 GiB free disk. Allocate 16 runtime threads. Verify exact BIOS/CPU/DIMM QVL/channel configuration and OS-visible capacity; CPU/platform maxima do not validate individual installed DIMMs.
  • This complete seven-file composition is about 225 GiB serialized. The 256 GiB allocation is not a minimum or a fit guarantee. Actual startup, memory peaks, latency and useful speed are unknown. Stop on allocation or loading failures.
  • Read the actual OpenMDW 1.1 native and publisher GGUF licenses. Retain all applicable distribution notices and honor its litigation/third-party-rights provisions. The author does not accept terms for the reader.
  • The frozen :free identifier is an OpenRouter routing alias for this exact named text-to-text model, not an independently hosted free-compute offer. Its archived endpoint list is empty; current provider availability is not assumed or needed. No remote inference or provider key is used.
  • Use Trinity Large Preview, not Base, TrueBase, Mini or Thinking. The exact publisher-native card recommends its complete GGUF llama.cpp route. Native modality is text input and text output; no vision/audio workflow is silently discarded.

Exact model and requirements

Artifact:
Arcee AI (native checkpoint and publisher-owned GGUF) / Trinity-Large-Preview Q4_K_M, complete seven-file publisher composition · checkpoint arcee-ai/Trinity-Large-Preview-GGUF
Publisher revision:
4f7d8c1427170f603c9a0f34aed936aebeb90615
Artifact digest:
The seven separately hashed split files have no published whole-composition digest.
Download size:
225.04 GiB
Memory requirement (unknown):
Unknown — No full CPU peak measurement for this complete model, hybrid cache, buffers, loading and OS.
System RAM / disk:
Unknown / Unknown
Placement:
single device. All seven disk splits are one complete model on one CPU host; no tensor/pipeline sharding. CPU only on one host, no GPU layers or accelerator offload.
KV cache:
Explicit F16 attention K/V cache flags; actual interleaved sliding/global allocation and other working tensors are unmeasured.
Workload:
4,096 token context; Unknown; Unknown; concurrency 1; batch 1; cache unknown; repetitions Unknown.
Tokenizer:
Publisher Trinity-Large-Preview GGUF tokenizer with independently pinned exact native template · 4f7d8c1427170f603c9a0f34aed936aebeb90615; template d8e126719c8bf2b3ac5a3551bd1f07fcee767a90
Sampling / reasoning:
Native example temperature0.8, top-k50 and top-p0.8. Explicit min-p0, presence/frequency penalties0 and repeat penalty1 are neutral reader choices. No unrelated family preset is inherited. Trinity Large Preview is the lightly post-trained chat-ready native checkpoint, distinct from Trinity Large Thinking. The selected template has no enable_thinking toggle. No fabricated thinking disable flag or alternate checkpoint is used; tools and separate reasoning-optimized workflows remain open.
Runtime prerequisites:
Ubuntu 24.04 x86_64; See prerequisites above.

Official artifact · License

The selected native checkpoint and publisher GGUF both carry the actual OpenMDW License Agreement version 1.1. Subject to compliance it grants use of Model Materials free of charge under its included rights. Distribution must retain the agreement and applicable copyright/origin notices. Filing, maintaining or voluntarily participating in covered patent/copyright litigation terminates grants, except the specified responsive-lawsuit case. Outputs have no restrictions or obligations under this agreement. Materials are provided as is; clearing other rights and necessary consents remains the user responsibility. Exercising rights accepts its terms; the documentation author has not exercised model rights or accepted terms for the reader. Read the complete agreement. OpenRouter free routing is separate from independent selfhosting costs and rights.

  • The complete seven model parts total 241,632,210,848 bytes. The native card describes 398B total and approximately 13B active parameters; all dense/routed/shared weights remain required.
  • The selected serialized model is about 225 GiB before KV cache, runtime buffers, OS and build files. Remaining capacity does not establish actual startup or working-memory fit.
  • Native AFMoE has 60 layers, six leading dense layers,256 routed experts/four selected and one shared expert, dual normalization, gated attention and three sliding layers per global layer attention. No active-parameter or dense-only cache formula is used.

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 400 GiB free-disk walkthrough allocation is an author choice, not a measured requirement.
Incremental local400GiB available disk cost is unknown; this is an allocation, not a measured minimum. 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 exact CPU runtime

    Build the pinned official runtime on this same CPU. Its AFMoE converter and graph handle dense-leading layers, routed/shared experts, MuP, dual normalization, attention gates and interleaved sliding/global attention. Support is source qualified, not executed fit.

    Command
    set -e
    sudo apt-get update
    sudo apt-get install -y build-essential cmake git curl ca-certificates openssl python3
    mkdir -p "$HOME/trinity-large-preview-hosting/models"
    cd "$HOME/trinity-large-preview-hosting"
    git clone https://github.com/ggml-org/llama.cpp.git
    cd llama.cpp
    git checkout --detach 620d2225cc436ab0b001e3200e590e3b286ef9ab
    test "$(git rev-parse HEAD)" = 620d2225cc436ab0b001e3200e590e3b286ef9ab
    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=OFF -DGGML_NATIVE=ON
    cmake --build build --config Release -j 16
    ./build/bin/llama-server --version

    Expected result: Checkout and build succeed. Stop on any failure; save version/build logs for actual execution.

Download the model

  1. 1. Download every publisher shard and the exact native template

    Keep all seven exact split names together. Opening the first file discovers the split set. Verify every SHA before starting; the publisher GGUF and native template are separate immutable revisions. No conversion or partial expert subset is used. Extract the exact native embedded template from the full hash-verified tokenizer configuration. The standalone native Jinja is a separate file, not assumed identical.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00001-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00001-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00002-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00002-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00003-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00003-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00004-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00004-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00005-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00005-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00006-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00006-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00007-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00007-of-00007.gguf'
    curl --fail --location --output models/tokenizer_config.json 'https://huggingface.co/arcee-ai/Trinity-Large-Preview/resolve/d8e126719c8bf2b3ac5a3551bd1f07fcee767a90/tokenizer_config.json'
    sha256sum --check <<'SHA256'
    ced79cf97045db8717d4b89957325aa4252e10704d607373ce6c2667f8e387ef  models/Trinity-Large-Preview-Q4_K_M-00001-of-00007.gguf
    ada93ed215e3c6c942e488150d49e39b11d233b9c0739705135cb4ef61c22c57  models/Trinity-Large-Preview-Q4_K_M-00002-of-00007.gguf
    022400c38de5ac52b975a723fe971332ffdfd8c911c495a26f16683276be64b1  models/Trinity-Large-Preview-Q4_K_M-00003-of-00007.gguf
    67ba91191c53a1ce9dbc2a0548980f85a000f0157c1db93a1bc479275b827546  models/Trinity-Large-Preview-Q4_K_M-00004-of-00007.gguf
    0d7bd7177321b31ba5547f1ca6ae8cbc87b0672ea751b7f8fabc264dba3e4a45  models/Trinity-Large-Preview-Q4_K_M-00005-of-00007.gguf
    aa22b2e05fb06887078ee92e1239399832f16703c8d4d059a94264c0f020ba97  models/Trinity-Large-Preview-Q4_K_M-00006-of-00007.gguf
    139e9b1c86ed21e570a3ee45244db0b34cc06ca4327aa3740a08b3997ec076d1  models/Trinity-Large-Preview-Q4_K_M-00007-of-00007.gguf
    2f0dbb87667b9c94b3f205ea61fca0752fd02c0eefa20153faea6627aef2c67c  models/tokenizer_config.json
    SHA256
    python3 - <<'PYTEMPLATE'
    import pathlib,json,hashlib
    b=json.loads(pathlib.Path('models/tokenizer_config.json').read_text())['chat_template'].encode('utf-8')
    assert hashlib.sha256(b).hexdigest()=='5aaedc16d1ba0398644bf7caf1226aedebcaf17facf987f7c0336ca24795839d'
    pathlib.Path('models/native-chat-template.jinja').write_bytes(b)
    PYTEMPLATE

    Expected result: All eight files report OK. Complete seven-shard composition required; a first shard alone cannot run this model.

Configure

  1. 1. Preserve a private service key

    Create only when absent; an existing empty key fails rather than silently rotating access. This is your local service credential, not a paid provider key.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    umask 077
    if [ ! -e .api-key ]; then openssl rand -hex 32 > .api-key; fi
    test -s .api-key
    chmod 600 .api-key

    Expected result: Private nonempty key exists without printing it.

  2. 2. Write the fixed bounded native diagnostic client

    The client counts the exact same full native-templated request before generation, reserves 512 positions and rejects length truncation, tools or inconsistent usage. It accepts only the fixed original supplied-evidence prompt; factual accuracy still needs human inspection.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    cat > text-client.py <<'PYCLIENT'
    """Fixed original native text diagnostic, not a public proxy or tool runner."""
    import json,pathlib,urllib.request,urllib.error
    BASE='http://127.0.0.1:8080';CONTEXT=4096;OUTPUT=512
    BODY={'model':'trinity-large-preview','messages':[{'role':'system','content':'Answer only from the supplied passage; do not use tools.'},{'role':'user','content':'Summarize this 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':OUTPUT,'temperature':0.8,'top_k':50,'top_p':0.8,'min_p':0,'presence_penalty':0,'frequency_penalty':0,'repeat_penalty':1,'stream':False}
    def positive(v):return type(v) is int and v>0
    def checked(call,body):
     count=call('/v1/chat/completions/input_tokens',body).get('input_tokens')
     if not positive(count) or count+OUTPUT>CONTEXT:raise ValueError('Invalid full input count or context budget')
     result=call('/v1/chat/completions',body);choices=result.get('choices')
     if not isinstance(choices,list) or len(choices)!=1:raise ValueError('One complete response required')
     c=choices[0];message=c.get('message',{});s=message.get('content')
     if c.get('finish_reason')!='stop' or not isinstance(s,str) or not s.strip():raise ValueError('Empty, incomplete or exhausted-cap response')
     if message.get('tool_calls') or '<tool_call>' in s:raise ValueError('No tool result accepted')
     usage=result.get('usage',{});n=usage.get('completion_tokens')
     if usage.get('prompt_tokens')!=count or not positive(n) or n>OUTPUT or count+n>CONTEXT:raise ValueError('Usage mismatch or cap exceeded')
     return {'preflightInputTokens':count,'response':result}
    def http(key):
     def call(route,body=None):
      data=None if body is None else json.dumps(body).encode()
      req=urllib.request.Request(BASE+route,data=data,headers={'Authorization':'Bearer '+key,'Content-Type':'application/json'})
      with urllib.request.urlopen(req,timeout=1800) as r:
       if r.status!=200:raise ValueError('HTTP failure')
       raw=r.read(2000001)
      if len(raw)>2000000:raise ValueError('Oversized response')
      d=json.loads(raw)
      if not isinstance(d,dict):raise ValueError('Object response required')
      return d
     return call
    def main():
     key=pathlib.Path('.api-key').read_text().strip()
     if len(key)!=64 or any(c not in '0123456789abcdef' for c in key):raise ValueError('Restore private service key')
     call=http(key);call('/health')
     req=urllib.request.Request(BASE+'/v1/chat/completions',data=b'{}',headers={'Content-Type':'application/json'})
     try:
      with urllib.request.urlopen(req,timeout=30):raise ValueError('Unauthenticated request accepted')
     except urllib.error.HTTPError as e:
      if e.code!=401:raise
     result=checked(call,BODY);pathlib.Path('response.json').write_text(json.dumps(result,indent=2)+'\n');print(json.dumps(result,ensure_ascii=False))
     print('Manually require the supplied weekday/Saturday hours and Sunday closure; structural success does not prove factual correctness.')
    if __name__=='__main__':main()
    PYCLIENT

    Expected result: Client saved; no inference is performed by writing it.

Start the model

  1. 1. Start the full Trinity CPU model

    Run one sequence with 4096 total positions and 16 CPU threads. Exact native BOS/chat boundaries come from the complete native template. Native EOS ends ordinary text; no invented thinking toggle or MTP draft is installed. Context shifting is disabled; the client checks input plus response reserve.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    export TRINITY_SERVICE_KEY="$(cat .api-key)"
    ./llama.cpp/build/bin/llama-server -m models/Trinity-Large-Preview-Q4_K_M-00001-of-00007.gguf --alias trinity-large-preview --host 127.0.0.1 --port 8080 --api-key "$TRINITY_SERVICE_KEY" --device none -ngl 0 -t 16 -c 4096 -np 1 --no-context-shift --cache-type-k f16 --cache-type-v f16 --jinja --chat-template-file models/native-chat-template.jinja --reasoning-format none --skip-chat-parsing --temp 0.8 --top-k 50 --top-p 0.8 --min-p 0 --presence-penalty 0 --frequency-penalty 0 --repeat-penalty 1

    Expected result: All seven splits load before readiness. Stop on missing tensors, architecture/template, allocation or context errors. A ?B size display is not evidence of successful compatibility; health and real checks remain required.

Connect to your endpoint

http://127.0.0.1:8080/v1

Same trusted workstation loopback only.

Access: loopback. Chat and native input counting require the reader-created Bearer service key. Health is public on loopback. Protect the key and trusted host; privileged users can inspect process arguments. No provider key is required.

Verify the setup

  1. 1. Check readiness, authentication, budget and supplied evidence

    Use a second terminal inside the host. Read both the native preflight count and saved final response. Require the correct weekday/Saturday hours and Sunday closure from the supplied passage. A stop-finished response or protocol test alone does not prove accuracy.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    python3 text-client.py

    Expected result: Health ready; unauthenticated 401; positive full input count plus 512 no greater than 4096; nonempty stop-finished text with matching actual usage. Manually reject invented hours or omitted closure.

Performance evidence

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

Limits and troubleshooting

  • Source-qualified configuration only; no weights/model imports, build, installation, startup, inference, fit, speed or quality was executed.
  • All seven publisher Q4_K_M files total 241,632,210,848 bytes. Approximate 13B active computation does not shrink 398B total stored parameters into a 13B memory allowance.
  • The native card advertises 512k context, while the pinned config stores 262144 maximum positions; neither is an executed long-context result. Configured sliding window is 4096 with every fourth layer global. This guide allocates 4096 total input/output positions for one sequence, reserving 512 output. Full input/output counts remain unknown until actual reader execution.
  • Pinned AFMoE model size labeling lists smaller known sizes and labels 60 layers unknown/?B. Actual tensor creation and graph iteration use loaded dimensions and leading-dense/expert configuration, not that display label. This source argument is not an executed compatibility result; stop on actual loading errors.
  • The publisher-owned GGUF explicitly names the native Preview base; its exact quantization input base commit is not established. Native template and GGUF pins are independent, not a weight byte-equivalence claim.
  • The native OpenMDW 1.1 grant covers selected artifacts; third-party rights/consents remain reader responsibility. No terms acceptance or legal clearance is performed by the author.
  • The OpenRouter free alias is independently documented identity/routing context only, with no assumed endpoint availability. Your owned CPU electricity and cloud rental/storage costs remain separate.
  • Preview is a chat-ready lightly post-trained checkpoint. Thinking, tools, other quantizations, native BF16/FP8/GPU, concurrency and long context remain separate open scopes. Required family totals stay null.
  • A private loopback service is not a public TLS or multi-user isolation design. Retain logs and stop on unexpected output, decoder/template errors or resource failures.
  • The exact selected template is the native tokenizer configuration embedded field. Its separately published standalone Jinja adds generation-mask tags and a trailing newline; these files are not byte-identical. The guide uses the complete embedded native template with a checked derivation, not an edited or sibling template.
Shard/checksum or architecture failure
Stop. Check all seven exact publisher files and the native template hashes and pinned runtime. Do not substitute Mini, Base, Thinking or a partial expert subset.
Out of memory or slow response
Stop the foreground server and inspect actual OS-visible RAM/logs. Capacity beyond serialized bytes is not measured working fit. A changed allocation or context is a different configuration.
Input budget, response cap or usage fails
Do not bypass the native count or silently truncate. Preserve errors; review a changed workload/configuration separately. Wrong factual output fails even when protocol fields pass.
Connection refused or401
Check successful initialization, exact local key/Bearer header and intended workstation loopback host. Keep the public inference port closed.

Stop the model

  1. 1. Stop the foreground server

    Press Ctrl+C in the server terminal, then unset the key in each shell. Verify localhost no longer serves.

    Command
    unset TRINITY_SERVICE_KEY
    if curl --silent --max-time 2 http://127.0.0.1:8080/health >/dev/null; then echo 'Still serving; stop the foreground process.'; exit 1; fi

    Expected result: No service remains on loopback 8080.

Uninstall

  1. 1. Remove the dedicated walkthrough files

    After stopping, back up wanted logs, confirm the dedicated directory and remove only it. Shared apt packages can remain.

    Command
    rm -r -- "$HOME/trinity-large-preview-hosting"

    Expected result: Dedicated model, build, responses and key removed; shared packages remain.

Sources and verification

Sources checked Oct 16, 2026. Verification source

Related guides

Compare this configuration
Cloud serverDocumented setupSources checked Oct 16, 2026

Serve complete Trinity Large Preview on a private AWS r7i.8xlarge CPU host

Load all seven publisher Q4_K_M shards with the exact native Trinity template and a grounded text-summary check. Count complete templated input before generation within one 4,096-position sequence. The 256 GiB allocation is planning capacity; memory fit, speed and quality are unmeasured.

Hardware
AWS r7i.8xlarge CPU,256GiB RAM,400GiB gp3,16 allocated threads
Runtime
llama.cpp v0.7.0 (620d2225cc436ab0b001e3200e590e3b286ef9ab) · CPU
Model format
GGUF · Publisher Q4_K_M mixed GGUF · Publisher Q4_K_M mixed quantization of Trinity-Large-Preview; not native BF16 byte equivalence
Workload
4,096 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 existing AWS r7i.8xlarge Linux host in us-east-1, Ubuntu 24.04 x86_64,32 vCPU and 256 GiB RAM with400 GiB gp3. Allocate 16 runtime threads. Keep TCP8080 closed; use an existing trusted SSH identity. No instance is provisioned by the guide.
  • This complete seven-file composition is about 225 GiB serialized. The 256 GiB allocation is not a minimum or a fit guarantee. Actual startup, memory peaks, latency and useful speed are unknown. Stop on allocation or loading failures.
  • Read the actual OpenMDW 1.1 native and publisher GGUF licenses. Retain all applicable distribution notices and honor its litigation/third-party-rights provisions. The author does not accept terms for the reader.
  • The frozen :free identifier is an OpenRouter routing alias for this exact named text-to-text model, not an independently hosted free-compute offer. Its archived endpoint list is empty; current provider availability is not assumed or needed. No remote inference or provider key is used.
  • Use Trinity Large Preview, not Base, TrueBase, Mini or Thinking. The exact publisher-native card recommends its complete GGUF llama.cpp route. Native modality is text input and text output; no vision/audio workflow is silently discarded.

Exact model and requirements

Artifact:
Arcee AI (native checkpoint and publisher-owned GGUF) / Trinity-Large-Preview Q4_K_M, complete seven-file publisher composition · checkpoint arcee-ai/Trinity-Large-Preview-GGUF
Publisher revision:
4f7d8c1427170f603c9a0f34aed936aebeb90615
Artifact digest:
The seven separately hashed split files have no published whole-composition digest.
Download size:
225.04 GiB
Memory requirement (unknown):
Unknown — No full CPU peak measurement for this complete model, hybrid cache, buffers, loading and OS.
System RAM / disk:
Unknown / Unknown
Placement:
single device. All seven disk splits are one complete model on one CPU host; no tensor/pipeline sharding. CPU only on one host, no GPU layers or accelerator offload.
KV cache:
Explicit F16 attention K/V cache flags; actual interleaved sliding/global allocation and other working tensors are unmeasured.
Workload:
4,096 token context; Unknown; Unknown; concurrency 1; batch 1; cache unknown; repetitions Unknown.
Tokenizer:
Publisher Trinity-Large-Preview GGUF tokenizer with independently pinned exact native template · 4f7d8c1427170f603c9a0f34aed936aebeb90615; template d8e126719c8bf2b3ac5a3551bd1f07fcee767a90
Sampling / reasoning:
Native example temperature0.8, top-k50 and top-p0.8. Explicit min-p0, presence/frequency penalties0 and repeat penalty1 are neutral reader choices. No unrelated family preset is inherited. Trinity Large Preview is the lightly post-trained chat-ready native checkpoint, distinct from Trinity Large Thinking. The selected template has no enable_thinking toggle. No fabricated thinking disable flag or alternate checkpoint is used; tools and separate reasoning-optimized workflows remain open.
Runtime prerequisites:
Ubuntu 24.04 x86_64; See prerequisites above.

Official artifact · License

The selected native checkpoint and publisher GGUF both carry the actual OpenMDW License Agreement version 1.1. Subject to compliance it grants use of Model Materials free of charge under its included rights. Distribution must retain the agreement and applicable copyright/origin notices. Filing, maintaining or voluntarily participating in covered patent/copyright litigation terminates grants, except the specified responsive-lawsuit case. Outputs have no restrictions or obligations under this agreement. Materials are provided as is; clearing other rights and necessary consents remains the user responsibility. Exercising rights accepts its terms; the documentation author has not exercised model rights or accepted terms for the reader. Read the complete agreement. OpenRouter free routing is separate from independent selfhosting costs and rights.

  • The complete seven model parts total 241,632,210,848 bytes. The native card describes 398B total and approximately 13B active parameters; all dense/routed/shared weights remain required.
  • The selected serialized model is about 225 GiB before KV cache, runtime buffers, OS and build files. Remaining capacity does not establish actual startup or working-memory fit.
  • Native AFMoE has 60 layers, six leading dense layers,256 routed experts/four selected and one shared expert, dual normalization, gated attention and three sliding layers per global layer attention. No active-parameter or dense-only cache formula is used.

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
$2.12 / hour
Exact AWS published us-east-1 Linux On-Demand row: USD2.1168 per billed instance-hour. Eight hours USD16.9344;24 hours USD50.8032 compute. Idle running hours bill. Storage, transfer, taxes and administration are separate; capacity unknown. Region: us-east-1. SKU: r7i.8xlarge Linux On-Demand. Tax: excluded. Price dated Oct 15, 2026. Price source
storage
$0.08 / GB month
Existing dated us-east-1 gp3 quote USD0.08 per GB-month, with GB defined as1024^3 bytes. Selected400GiB costs USD32 per full month, prorated by provisioned duration, at baseline3000IOPS/125MB/s. Retained resources and snapshots bill separately. 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 exact CPU runtime

    Build the pinned official runtime on this same CPU. Its AFMoE converter and graph handle dense-leading layers, routed/shared experts, MuP, dual normalization, attention gates and interleaved sliding/global attention. Support is source qualified, not executed fit.

    Command
    set -e
    sudo apt-get update
    sudo apt-get install -y build-essential cmake git curl ca-certificates openssl python3
    mkdir -p "$HOME/trinity-large-preview-hosting/models"
    cd "$HOME/trinity-large-preview-hosting"
    git clone https://github.com/ggml-org/llama.cpp.git
    cd llama.cpp
    git checkout --detach 620d2225cc436ab0b001e3200e590e3b286ef9ab
    test "$(git rev-parse HEAD)" = 620d2225cc436ab0b001e3200e590e3b286ef9ab
    cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=OFF -DGGML_NATIVE=ON
    cmake --build build --config Release -j 16
    ./build/bin/llama-server --version

    Expected result: Checkout and build succeed. Stop on any failure; save version/build logs for actual execution.

Download the model

  1. 1. Download every publisher shard and the exact native template

    Keep all seven exact split names together. Opening the first file discovers the split set. Verify every SHA before starting; the publisher GGUF and native template are separate immutable revisions. No conversion or partial expert subset is used. Extract the exact native embedded template from the full hash-verified tokenizer configuration. The standalone native Jinja is a separate file, not assumed identical.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00001-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00001-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00002-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00002-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00003-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00003-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00004-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00004-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00005-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00005-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00006-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00006-of-00007.gguf'
    curl --fail --location --output models/Trinity-Large-Preview-Q4_K_M-00007-of-00007.gguf 'https://huggingface.co/arcee-ai/Trinity-Large-Preview-GGUF/resolve/4f7d8c1427170f603c9a0f34aed936aebeb90615/Trinity-Large-Preview-Q4_K_M/Trinity-Large-Preview-Q4_K_M-00007-of-00007.gguf'
    curl --fail --location --output models/tokenizer_config.json 'https://huggingface.co/arcee-ai/Trinity-Large-Preview/resolve/d8e126719c8bf2b3ac5a3551bd1f07fcee767a90/tokenizer_config.json'
    sha256sum --check <<'SHA256'
    ced79cf97045db8717d4b89957325aa4252e10704d607373ce6c2667f8e387ef  models/Trinity-Large-Preview-Q4_K_M-00001-of-00007.gguf
    ada93ed215e3c6c942e488150d49e39b11d233b9c0739705135cb4ef61c22c57  models/Trinity-Large-Preview-Q4_K_M-00002-of-00007.gguf
    022400c38de5ac52b975a723fe971332ffdfd8c911c495a26f16683276be64b1  models/Trinity-Large-Preview-Q4_K_M-00003-of-00007.gguf
    67ba91191c53a1ce9dbc2a0548980f85a000f0157c1db93a1bc479275b827546  models/Trinity-Large-Preview-Q4_K_M-00004-of-00007.gguf
    0d7bd7177321b31ba5547f1ca6ae8cbc87b0672ea751b7f8fabc264dba3e4a45  models/Trinity-Large-Preview-Q4_K_M-00005-of-00007.gguf
    aa22b2e05fb06887078ee92e1239399832f16703c8d4d059a94264c0f020ba97  models/Trinity-Large-Preview-Q4_K_M-00006-of-00007.gguf
    139e9b1c86ed21e570a3ee45244db0b34cc06ca4327aa3740a08b3997ec076d1  models/Trinity-Large-Preview-Q4_K_M-00007-of-00007.gguf
    2f0dbb87667b9c94b3f205ea61fca0752fd02c0eefa20153faea6627aef2c67c  models/tokenizer_config.json
    SHA256
    python3 - <<'PYTEMPLATE'
    import pathlib,json,hashlib
    b=json.loads(pathlib.Path('models/tokenizer_config.json').read_text())['chat_template'].encode('utf-8')
    assert hashlib.sha256(b).hexdigest()=='5aaedc16d1ba0398644bf7caf1226aedebcaf17facf987f7c0336ca24795839d'
    pathlib.Path('models/native-chat-template.jinja').write_bytes(b)
    PYTEMPLATE

    Expected result: All eight files report OK. Complete seven-shard composition required; a first shard alone cannot run this model.

Configure

  1. 1. Preserve a private service key

    Create only when absent; an existing empty key fails rather than silently rotating access. This is your local service credential, not a paid provider key.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    umask 077
    if [ ! -e .api-key ]; then openssl rand -hex 32 > .api-key; fi
    test -s .api-key
    chmod 600 .api-key

    Expected result: Private nonempty key exists without printing it.

  2. 2. Write the fixed bounded native diagnostic client

    The client counts the exact same full native-templated request before generation, reserves 512 positions and rejects length truncation, tools or inconsistent usage. It accepts only the fixed original supplied-evidence prompt; factual accuracy still needs human inspection.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    cat > text-client.py <<'PYCLIENT'
    """Fixed original native text diagnostic, not a public proxy or tool runner."""
    import json,pathlib,urllib.request,urllib.error
    BASE='http://127.0.0.1:8080';CONTEXT=4096;OUTPUT=512
    BODY={'model':'trinity-large-preview','messages':[{'role':'system','content':'Answer only from the supplied passage; do not use tools.'},{'role':'user','content':'Summarize this 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':OUTPUT,'temperature':0.8,'top_k':50,'top_p':0.8,'min_p':0,'presence_penalty':0,'frequency_penalty':0,'repeat_penalty':1,'stream':False}
    def positive(v):return type(v) is int and v>0
    def checked(call,body):
     count=call('/v1/chat/completions/input_tokens',body).get('input_tokens')
     if not positive(count) or count+OUTPUT>CONTEXT:raise ValueError('Invalid full input count or context budget')
     result=call('/v1/chat/completions',body);choices=result.get('choices')
     if not isinstance(choices,list) or len(choices)!=1:raise ValueError('One complete response required')
     c=choices[0];message=c.get('message',{});s=message.get('content')
     if c.get('finish_reason')!='stop' or not isinstance(s,str) or not s.strip():raise ValueError('Empty, incomplete or exhausted-cap response')
     if message.get('tool_calls') or '<tool_call>' in s:raise ValueError('No tool result accepted')
     usage=result.get('usage',{});n=usage.get('completion_tokens')
     if usage.get('prompt_tokens')!=count or not positive(n) or n>OUTPUT or count+n>CONTEXT:raise ValueError('Usage mismatch or cap exceeded')
     return {'preflightInputTokens':count,'response':result}
    def http(key):
     def call(route,body=None):
      data=None if body is None else json.dumps(body).encode()
      req=urllib.request.Request(BASE+route,data=data,headers={'Authorization':'Bearer '+key,'Content-Type':'application/json'})
      with urllib.request.urlopen(req,timeout=1800) as r:
       if r.status!=200:raise ValueError('HTTP failure')
       raw=r.read(2000001)
      if len(raw)>2000000:raise ValueError('Oversized response')
      d=json.loads(raw)
      if not isinstance(d,dict):raise ValueError('Object response required')
      return d
     return call
    def main():
     key=pathlib.Path('.api-key').read_text().strip()
     if len(key)!=64 or any(c not in '0123456789abcdef' for c in key):raise ValueError('Restore private service key')
     call=http(key);call('/health')
     req=urllib.request.Request(BASE+'/v1/chat/completions',data=b'{}',headers={'Content-Type':'application/json'})
     try:
      with urllib.request.urlopen(req,timeout=30):raise ValueError('Unauthenticated request accepted')
     except urllib.error.HTTPError as e:
      if e.code!=401:raise
     result=checked(call,BODY);pathlib.Path('response.json').write_text(json.dumps(result,indent=2)+'\n');print(json.dumps(result,ensure_ascii=False))
     print('Manually require the supplied weekday/Saturday hours and Sunday closure; structural success does not prove factual correctness.')
    if __name__=='__main__':main()
    PYCLIENT

    Expected result: Client saved; no inference is performed by writing it.

Start the model

  1. 1. Start the full Trinity CPU model

    Run one sequence with 4096 total positions and 16 CPU threads. Exact native BOS/chat boundaries come from the complete native template. Native EOS ends ordinary text; no invented thinking toggle or MTP draft is installed. Context shifting is disabled; the client checks input plus response reserve.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    export TRINITY_SERVICE_KEY="$(cat .api-key)"
    ./llama.cpp/build/bin/llama-server -m models/Trinity-Large-Preview-Q4_K_M-00001-of-00007.gguf --alias trinity-large-preview --host 127.0.0.1 --port 8080 --api-key "$TRINITY_SERVICE_KEY" --device none -ngl 0 -t 16 -c 4096 -np 1 --no-context-shift --cache-type-k f16 --cache-type-v f16 --jinja --chat-template-file models/native-chat-template.jinja --reasoning-format none --skip-chat-parsing --temp 0.8 --top-k 50 --top-p 0.8 --min-p 0 --presence-penalty 0 --frequency-penalty 0 --repeat-penalty 1

    Expected result: All seven splits load before readiness. Stop on missing tensors, architecture/template, allocation or context errors. A ?B size display is not evidence of successful compatibility; health and real checks remain required.

Connect to your endpoint

http://127.0.0.1:8080/v1

VM loopback only. Use a shell inside the VM, or optional existing SSH tunnel: ssh -N -L 8080:127.0.0.1:8080 ubuntu@HOST. Replace HOST with your existing instance host.

Access: loopback. Chat and native input counting require the reader-created Bearer service key. Health is public on loopback. Protect the key and trusted host; privileged users can inspect process arguments. No provider key is required.

Verify the setup

  1. 1. Check readiness, authentication, budget and supplied evidence

    Use a second terminal inside the host. Read both the native preflight count and saved final response. Require the correct weekday/Saturday hours and Sunday closure from the supplied passage. A stop-finished response or protocol test alone does not prove accuracy.

    Command
    set -e
    cd "$HOME/trinity-large-preview-hosting"
    python3 text-client.py

    Expected result: Health ready; unauthenticated 401; positive full input count plus 512 no greater than 4096; nonempty stop-finished text with matching actual usage. Manually reject invented hours or omitted closure.

Performance evidence

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

Limits and troubleshooting

  • Source-qualified configuration only; no weights/model imports, build, installation, startup, inference, fit, speed or quality was executed.
  • All seven publisher Q4_K_M files total 241,632,210,848 bytes. Approximate 13B active computation does not shrink 398B total stored parameters into a 13B memory allowance.
  • The native card advertises 512k context, while the pinned config stores 262144 maximum positions; neither is an executed long-context result. Configured sliding window is 4096 with every fourth layer global. This guide allocates 4096 total input/output positions for one sequence, reserving 512 output. Full input/output counts remain unknown until actual reader execution.
  • Pinned AFMoE model size labeling lists smaller known sizes and labels 60 layers unknown/?B. Actual tensor creation and graph iteration use loaded dimensions and leading-dense/expert configuration, not that display label. This source argument is not an executed compatibility result; stop on actual loading errors.
  • The publisher-owned GGUF explicitly names the native Preview base; its exact quantization input base commit is not established. Native template and GGUF pins are independent, not a weight byte-equivalence claim.
  • The native OpenMDW 1.1 grant covers selected artifacts; third-party rights/consents remain reader responsibility. No terms acceptance or legal clearance is performed by the author.
  • The OpenRouter free alias is independently documented identity/routing context only, with no assumed endpoint availability. Your owned CPU electricity and cloud rental/storage costs remain separate.
  • Preview is a chat-ready lightly post-trained checkpoint. Thinking, tools, other quantizations, native BF16/FP8/GPU, concurrency and long context remain separate open scopes. Required family totals stay null.
  • A private loopback service is not a public TLS or multi-user isolation design. Retain logs and stop on unexpected output, decoder/template errors or resource failures.
  • The exact selected template is the native tokenizer configuration embedded field. Its separately published standalone Jinja adds generation-mask tags and a trailing newline; these files are not byte-identical. The guide uses the complete embedded native template with a checked derivation, not an edited or sibling template.
Shard/checksum or architecture failure
Stop. Check all seven exact publisher files and the native template hashes and pinned runtime. Do not substitute Mini, Base, Thinking or a partial expert subset.
Out of memory or slow response
Stop the foreground server and inspect actual OS-visible RAM/logs. Capacity beyond serialized bytes is not measured working fit. A changed allocation or context is a different configuration.
Input budget, response cap or usage fails
Do not bypass the native count or silently truncate. Preserve errors; review a changed workload/configuration separately. Wrong factual output fails even when protocol fields pass.
Connection refused or401
Check successful initialization, exact local key/Bearer header and intended loopback/SSH host. Keep the public inference port closed.

Stop the model

  1. 1. Stop the foreground server

    Press Ctrl+C in the server terminal, then unset the key in each shell. Verify localhost no longer serves. Stopping the process does not stop EC2 billing.

    Command
    unset TRINITY_SERVICE_KEY
    if curl --silent --max-time 2 http://127.0.0.1:8080/health >/dev/null; then echo 'Still serving; stop the foreground process.'; exit 1; fi

    Expected result: No service remains on loopback 8080.

Uninstall

  1. 1. Remove the dedicated walkthrough files

    After stopping, back up wanted logs, confirm the dedicated directory and remove only it. Shared apt packages can remain.

    Command
    rm -r -- "$HOME/trinity-large-preview-hosting"

    Expected result: Dedicated model, build, responses and key removed; shared packages 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 Trinity Large Preview across standard benchmarks.

MMLUhttps://huggingface.co/arcee-ai/Trinity-Large-Preview
87.2%
MMLU-Prohttps://huggingface.co/arcee-ai/Trinity-Large-Preview
75.2%
GPQA Diamondhttps://huggingface.co/arcee-ai/Trinity-Large-Preview
63.3%

Pricing and access

Free tier available on OpenRouter with rate limits

AI Models by Arcee AI

AI models from the same organization.

ModelContext WindowPrice (In / Out per M)
Trinity Large ThinkingCurrent262K$0.22 / $0.85
Trinity MiniCurrent131K$0.04 / $0.15
SpotlightCurrent131K$0.18 / $0.18