How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="dankalin/ruadapt-s1")
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("dankalin/ruadapt-s1")
model = AutoModelForCausalLM.from_pretrained("dankalin/ruadapt-s1")
messages = [
    {"role": "user", "content": "Who are you?"},
]
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=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

ruadapt-s1

Инструктивная модель на основе ruadapt_qwen2.5_3B, обученная на датасете переведенный на русский язык s1K-1.1.

Метод обучения и его параметры почти полностью соответствуют тем, что описаны в статье: статья

Пример кода для запуска:

from transformers import AutoModelForCausalLM, AutoTokenizer


model_name = "dankalin/ruadapt-s1"

model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

SYSTEM_PROMPT = """
Отвечай в формате:
<reasoning>
...
</reasoning>
<answer>
...
</answer>
"""

input_text = """
 9 игроков бейсбольной команды пошли в кафе-мороженое после игры. Каждый игрок взял один рожок мороженого с одним шариком: шоколадным, ванильным или клубничным.
 По крайней мере один игрок выбрал каждый вкус, и количество игроков, выбравших шоколадное мороженое, было больше, чем количество игроков, выбравших ванильное, которое, в свою очередь, было больше, чем количество игроков, выбравших клубничное.
 Пусть $N$ — количество различных вариантов распределения вкусов между игроками, удовлетворяющих этим условиям. Найдите остаток от деления $N$ на 1000."""

messages = [
    {'role': 'system', 'content': SYSTEM_PROMPT},
    {"role": "user", "content": input_text},
]


input_ids = tokenizer.apply_chat_template(messages, truncation=True, add_generation_prompt=True, return_tensors="pt")
output = model.generate(
    input_ids,
)

generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)

Наблюдения:

Модель демонстрирует значительные отклонения, особенно в решении математических задач. Однако на десятом прогоне kristaller486/aime2025-ru она смогла верно решить одну задачу.

Downloads last month
2
Safetensors
Model size
3B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for dankalin/ruadapt-s1

Dataset used to train dankalin/ruadapt-s1

Paper for dankalin/ruadapt-s1