🫐 Blueberry-2
Blueberry-2 is a fine-tuned version of openai/gpt-oss-120b, specialized as a bilingual Farsi-English reasoning model. Unlike Blueberry-1's broader multilingual focus, Blueberry-2 concentrates its training specifically on the Farsi-English pair, making it stronger at the situations that pair actually produces in practice: code-switched conversations, Farsi prompts that mix in English technical terms, translation-adjacent reasoning, and answers that need to move fluently between the two languages within a single response.
Blueberry-2 continues the line of work started by Strawberry-1 — which set out to prove open-source models could reason natively in Farsi instead of defaulting to English chain-of-thought — and extends it through Blueberry-1 into a dedicated bilingual specialist.
Model Details
- Base model: openai/gpt-oss-120b (117B parameters)
- Architecture:
gpt_oss - Fine-tuned by: artindnr
- License: Apache 2.0
- Languages: Farsi (Persian) and English (bilingual specialist)
- Model type: Causal decoder-only language model with reasoning ("thinking") traces
- Related models: Strawberry-1 (20B, Farsi + multilingual) · Blueberry-1 (120B, Farsi + multilingual)
What's New
Blueberry-1 (and Strawberry-1 before it) targeted broad multilingual reasoning with Farsi as the flagship non-English language. Blueberry-2 narrows that focus deliberately:
- Handles Farsi-English code-switching within a single prompt or conversation naturally
- Produces coherent reasoning traces even when the input mixes both languages mid-sentence
- Improves on real-world Farsi-English use cases — e.g. technical/academic Farsi text peppered with English terminology — where general multilingual models tend to falter
- Retains the ability to reason fully in either language on its own, in addition to handling the mixed case
Training
Blueberry-2 was trained using a mix of fine-tuning strategies — including full fine-tuning and LoRA experiments — on top of gpt-oss-120b, with training data concentrated on Farsi, English, and Farsi-English mixed-language examples rather than the broader multilingual mix used for Blueberry-1. The version released here is the fully fine-tuned (merged, dense-weights) checkpoint, not a LoRA adapter.
How to Use
Blueberry-2 uses the gpt-oss chat template (Harmony format) shipped with the base model, so it works with 🤗 Transformers.
Installation
pip install torch --index-url https://download.pytorch.org/whl/cu128
pip install trl peft transformers kernels
Generation
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_ID = "artindnr/blueberry-2"
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
torch_dtype=torch.bfloat16,
device_map="auto",
)
REASONING_LANGUAGE = "English" # e.g. "English", "Farsi", "Persian"
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. Blueberry-2 also handles this well when the user prompt itself switches between Farsi and English mid-message.
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.
Relationship to Strawberry-1 and Blueberry-1
| Strawberry-1 | Blueberry-1 | Blueberry-2 | |
|---|---|---|---|
| Base model | gpt-oss-20b (21B) |
gpt-oss-120b (117B) |
gpt-oss-120b (117B) |
| Language scope | Farsi + multilingual | Farsi + multilingual | Farsi-English bilingual specialist |
| Objective | Prove native Farsi reasoning at small scale | Same objective, larger scale | Best-in-class Farsi-English mixed handling |
Choose Blueberry-1 for broad multilingual coverage, and Blueberry-2 specifically when your workload is Farsi, English, or a mix of the two.
Intended Use
Blueberry-2 is intended for:
- Farsi-English bilingual assistants and support tools
- Applications where users frequently code-switch between Farsi and English
- Technical/academic Farsi content that includes embedded English terminology
- Translation-adjacent reasoning tasks between Farsi and English
Limitations
- Blueberry-2's specialization is Farsi-English; it is not intended for and has not been optimized for other languages.
- As with any fine-tune, Blueberry-2 inherits the general capabilities and limitations of the
gpt-oss-120bbase model, including the possibility of hallucinated facts and reasoning errors. - No formal safety fine-tuning beyond what is inherited from the base model has been applied; use appropriate safeguards in production settings.
License
This model is released under the Apache 2.0 license, consistent with the base gpt-oss-120b model.
Citation
If you use Blueberry-2 in your work, please cite:
@misc{blueberry2,
title = {Blueberry-2: A Bilingual Farsi-English Reasoning Model Fine-tuned from GPT-OSS-120B},
author = {artindnr},
year = {2026},
url = {https://huggingface.co/artindnr/blueberry-2}
}
Acknowledgements
Built on top of openai/gpt-oss-120b. Blueberry-2 builds on the groundwork laid by Strawberry-1 and Blueberry-1.
- Downloads last month
- 131
Model tree for artindnr/BlueBerry-2
Base model
openai/gpt-oss-120b