🫐 Blueberry-2

from [](https://wpcom-themes.svn.automattic.com/fruit-shake/images/headers/)

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-120b base 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
Safetensors
Model size
117B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for artindnr/BlueBerry-2

Finetuned
(110)
this model

Collection including artindnr/BlueBerry-2