🍓 Strawberry-1.2
Strawberry-1.2 is a fine-tuned version of artindnr/strawberry-1.1, further trained to extend reasoning beyond the English-Farsi pair to a broader set of languages, including German and Spanish, among others.
Model Details
- Base model: artindnr/strawberry-1.1 (itself fine-tuned from artindnr/strawberry-1, which in turn is a fine-tune of openai/gpt-oss-20b, 21B parameters)
- Architecture:
gpt_oss - Fine-tuned by: artindnr
- License: Apache 2.0
- Languages: Farsi (Persian), English, German, Spanish, and broader multilingual reasoning support
- Model type: Causal decoder-only language model with reasoning ("thinking") traces
What's New
Strawberry-1.1 resolved the language conflict that Strawberry-1 could run into when reasoning across English and Farsi at once, but its dual-linguality training was scoped to that one language pair. Strawberry-1.2 was fine-tuned to generalize this beyond a pair:
- Extends coherent, conflict-free reasoning from the English-Farsi pair to multiple languages, including German and Spanish
- Preserves the reasoning-language control and general instruction-following ability inherited from Strawberry-1.1
- Builds on the same Harmony chat template and usage pattern as the earlier Strawberry releases, so it's a drop-in upgrade
Training
Strawberry-1.2 was produced by further fine-tuning artindnr/strawberry-1.1 on a multilingual reasoning dataset.
Training Data
Strawberry-1.2 was trained on a multilingual reasoning dataset drawn from the Thinking Datasets collection, the same collection used to train the earlier Strawberry models.
How to Use
Strawberry-1.2 uses the gpt-oss chat template (Harmony format) inherited from the base model, so it works with 🤗 Transformers.
Installation
pip install torch --index-url https://download.pytorch.org/whl/cu128
pip install "trl>=0.20.0" "peft>=0.17.0" "transformers>=4.55.0" "kernels>=0.12.0"
This has been verified to work with:
| Package | Version |
|---|---|
torch |
2.8.0+cu129 |
transformers |
5.14.1 |
trl |
1.9.2 |
peft |
0.20.0 |
accelerate |
1.10.1 |
tokenizers |
0.22.0 |
Generation
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_ID = "artindnr/strawberry-1.2"
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
torch_dtype=torch.bfloat16,
device_map="auto",
)
REASONING_LANGUAGE = "German" # e.g. "English", "Farsi", "German", "Spanish"
SYSTEM_PROMPT = f"reasoning language: {REASONING_LANGUAGE}"
USER_PROMPT = "تو کی هستی و اسمت چیه؟"
messages = [
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": USER_PROMPT},
]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=512,
temperature=0.6,
do_sample=True,
)
print(tokenizer.decode(outputs[0]))
This prints the full Harmony-formatted output, including the analysis (reasoning) and final (answer) channels and their special tokens. To get just the plain-text final answer, decode with skip_special_tokens=True and parse out the final channel, or use tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True) to only decode the newly generated tokens.
Reasoning in a specific language
Set reasoning language: <Language> as the system message content to control the language of the reasoning trace (the analysis channel), independent of the language the user writes in. Strawberry-1.2 extends this control to a wider set of languages beyond English and Farsi, including German and Spanish, while aiming to keep reasoning stable and conflict-free regardless of which language a prompt draws on.
Note that the model's default chat template also auto-populates a Harmony-format preamble (identity, knowledge cutoff, current date, reasoning effort, valid channels) ahead of your system/developer message — you don't need to set these yourself.
Intended Use
Strawberry-1.2 is intended for:
- Research and experimentation on multilingual reasoning across a broader set of languages than a single pair
- Building multilingual assistants, tutoring tools, and reasoning-heavy applications for German, Spanish, Farsi, English, and other supported languages
- General-purpose multilingual chain-of-thought tasks
Limitations
- Reasoning quality across languages, while a focus of this fine-tune, may still occasionally mix in tokens or phrasing from another language, especially for highly technical topics.
- Language coverage and quality are not necessarily uniform — languages with more representation in the training data are likely to reason more reliably than lower-resource ones.
- As with any fine-tune, Strawberry-1.2 inherits the general capabilities and limitations of the
strawberry-1.1,strawberry-1, andgpt-oss-20bbase models, including the possibility of hallucinated facts and reasoning errors. - No formal safety fine-tuning beyond what is inherited from the base models has been applied; use appropriate safeguards in production settings.
License
This model is released under the Apache 2.0 license, consistent with the base strawberry-1.1, strawberry-1, and gpt-oss-20b models.
Citation
If you use Strawberry-1.2 in your work, please cite:
@misc{strawberry12,
title = {Strawberry-1.2: Extending Reasoning to Multiple Languages in a Fine-tuned GPT-OSS-20B Model},
author = {artindnr},
year = {2026},
url = {https://huggingface.co/artindnr/strawberry-1.2}
}
Acknowledgements
Built on top of artindnr/strawberry-1.1, artindnr/strawberry-1, and, in turn, openai/gpt-oss-20b, using the Thinking Datasets collection.
- Downloads last month
- -
](https://i.pinimg.com/736x/b5/04/41/b50441f456e162ee3fb651898d20324a.jpg)