--- library_name: transformers language: - ru tags: - CoT --- # Model Card CoT(Chain of Thoughts) модель на русском языке! ### Model Description - **Developed by:** eridAI - **Model type:** GPT-reasoner - **Language(s) (NLP):** Russian - **Demo:** ``` from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer import torch model_name = "eridai/eridaRE" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, device_map="auto", ) input_instruct = input(">>> ") reasoning_prompt = """ Ниже приведена инструкция, описывающая задачу. Напишите рассуждение, которое поможет решить эту задачу. Инструкция: {} Рассуждение: """ answer_prompt = """ Ниже приведена инструкция, описывающая задачу, вместе с рассуждением. Напишите ответ, который соответствующим образом выполняет запрос. Инструкция: {} Рассуждение: {} Ответ: """ reasoning_inputs = tokenizer( [reasoning_prompt.format(input_instruct)], return_tensors="pt" ).to("cuda") text_streamer_main = TextStreamer(tokenizer, skip_prompt=True) reasoning_output = model.generate( **reasoning_inputs, streamer=text_streamer_main, max_new_tokens=1000, pad_token_id=tokenizer.eos_token_id ) reasoning = tokenizer.decode(reasoning_output[0], skip_special_tokens=True) answer_inputs = tokenizer( [answer_prompt.format( input_instruct, reasoning )], return_tensors="pt" ).to("cuda") _ = model.generate( **answer_inputs, streamer=text_streamer_main, max_new_tokens=600, pad_token_id=tokenizer.eos_token_id ) ``` ### Output ``` >>> У Брайана есть несколько марок номиналом 3 цента и несколько марок номиналом 4 цента. Какое наименьшее количество марок он может объединить, чтобы их стоимость составляла 33 цента? Сначала я определю, сколько марок по 3 и 4 цента я могу использовать, чтобы их общая стоимость составляла 33 цента. Я подумаю о том, как разбить 33 на суммы из 3 и 4. Возможно, я начну с наименьшего количества марок, например, с 0 марок по 4 цента и посмотреть, сколько марок по 3 цента мне понадобится. Если я использую 11 марок по 3 цента, это даст 33 цента, но тогда я использую 11 марок, что, возможно, не оптимально. Затем я попробую использовать 1 марку по 4 цента и посчитаю, сколько марок по 3 цента мне нужно: (33 - 4) = 29, и 29 делится на 3? 29/3 ≈ 9.666, что не целое число, поэтому это не подходит. Next, я попробую 2 марки по 4 цента: (33 - 8) = 25, 25/3 ≈ 8.333, также не целое. Потом 3 марки: (33 - 12) = 21, 21/3 = 7. Это целое! Значит, я могу использовать 3 марки по 4 цента и 7 марок по 3 цента, что даст 3 + 7 = 10 марок. Мне нужно проверить, есть ли способ с меньшим количеством марок. Допустим, я использую 4 марки по 4 цента: (33 - 16) = 17, 17/3 ≈ 5.666, не целое. 5 марок: (33 - 20) = 13, 13/3 ≈ 4.333, не целое. 6 марок: (33 - 24) = 9, 9/3 = 3. Значит, я могу использовать 6 марок по 4 цента и 3 марок по 3 цента, что даст 6 + 3 = 9 марок. Это лучше, чем 10. Проверю, есть ли еще лучший способ. 7 марок по 4 цента: (33 - 28) = 5, 5/3 ≈ 1.666, не целое. 8 марок: (33 - 32) = 1, 1/3 ≈ 0.333, не целое. 9 марок: (33 - 36) = -3, что не подходит. Значит, наименьшее количество марок равно 9. Чтобы решить задачу,我们必须 найти наименьшее количество марок с nominalem 3 и 4 центов,能够让 их общая стоимость равняться 33 центам. **Шаг 1:** Обозначим количество марок по 3 цента за \( x \), а по 4 цента за \( y \). Тогда общая стоимость марок может быть представлена уравнением: \[ 3x + 4y = 33 \] **Шаг 2:** Нам нужно найти наименьшее значение \( x + y \), при котором \( x \) и \( y \) — целые неотрицательные числа. **Шаг 3:** Попробуем разные значения \( y \) и постараемся найти соответствующее \( x \), чтобы общая стоимость составляла 33 центов: - Если \( y = 0 \), тогда \( 3x = 33 \) → \( x = 11 \). Всего марок: \( 11 + 0 = 11 \). - Если \( y = 1 \), тогда \( 3x = 33 - 4 = 29 \) → \( x \) не целое. - Если \( y = 2 \), тогда \( 3x = 33 - 8 = 25 \) → \( x \) не целое. - Если \( y = 3 \), тогда \( 3 \[ \boxed{9} \]<|end▁of▁sentence|> ```