arriella-docs / guides /reasoning-format.md
UnaverageTech411's picture
Publish Arriella fleet documentation collection (docs only, no weights)
61cf0ce verified
|
Raw
History Blame Contribute Delete
2.34 kB

Fleet internal reasoning format

Arriella fleet models support Ollama native thinking like enterprise models (Qwen3, DeepSeek-R1): clients toggle reasoning with API think:true / think:false or CLI --think / --think=false.

Ollama native flow (preferred)

When think:true:

  1. The Ollama template opens /think at generation time (the model must not repeat it).
  2. The model writes a scratchpad inside the thinking channel — multi-step [Step N] Input:/ Op:/ Output:/ Check: chains for hard questions.
  3. The model emits /thinking end on its own line.
  4. The model writes the plain user-facing answer in message.content.

When think:false:

  • Reply directly in message.content with no /think, /thinking end, /answer, or XML markers.

Ascension (DeepSeek-R1 native)

Fourth core tier arriella-ascension uses DeepSeek-R1 distill markers:

<think>
scratchpad …
</think>
plain answer

Ollama template (deepseek_native) matches official deepseek-r1:

  • think:false → injects empty <think></think> so the model skips CoT
  • think:true → model opens <think> itself, then closes and answers

Bootstrap / catch-up: scripts/fleet_ascension_catchup.py

Training targets

Mode Assistant output target
Think on (Ollama) {scratchpad}\n/thinking end\n{plain answer}no leading /think
Think on (HF legacy) /think\n…\n/thinking end\n/answer\n…\n/answer end
Think off Plain answer only (chat_direct_anchor)

Also accepted in eval

Older paths may emit <scratchpad>…</scratchpad> and <answer>…</answer>. Capability scoring grades the answer block only.

Required behavior

  1. Scratchpad lives inside the thinking channel when think is on — not in a separate broken channel.
  2. Always emit /thinking end before the user-visible answer when think is on.
  3. Use math only when numerical computation helps — not for open-ended writing.
  4. Never leave refusal/think tags in the final answer body.

Related tools

  • Enable native templates: scripts/enable_native_thinking_ollama.py
  • Prove think on/off: scripts/prove_deep_think_ollama.py
  • Atlas proxy that strips think leakage: scripts/atlas_ollama_proxy.py
  • Chat with think/vision: scripts/fleet_chat.py