Views
No views yet
1from unsloth import FastLanguageModel
2from transformers import TextStreamer
3import torch
4
5# 1. Configuration
6max_seq_length = 8192 # Your reasoning trace might be long
7dtype = None # None for auto detection (FP16 for T4, BF16 for Ampere)
8load_in_4bit = False # You mentioned using 16-bit for better logic/SVG stability
9
10# 2. Load the model and tokenizer from HF
11model, tokenizer = FastLanguageModel.from_pretrained(
12 model_name = "MihaiPopa-1/Qwen-3-0.6B-Claude-4.7-Opus-Distilied",
13 max_seq_length = max_seq_length,
14 dtype = dtype,
15 load_in_4bit = load_in_4bit,
16 # device_map = "auto", # Unsloth handles this, but you can keep it if needed
17)
18
19# 3. Switch to Inference Mode
20FastLanguageModel.for_inference(model)
21
22# 2. Define the Streamer
23# skip_prompt=True ensures you don't print the input prompt twice
24text_streamer = TextStreamer(tokenizer, skip_prompt=True)
25
26# 3. The High-Reasoning Prompt
27prompt = """<|im_start|>system
28You are a helpful AI assistant.<|im_end|>
29<|im_start|>user
30Give 2-digit numbers which the product of each digit equals 24.<|im_end|>
31<|im_start|>assistant"""
32
33inputs = tokenizer([prompt], return_tensors = "pt").to("cuda")
34
35# 4. Generate with the streamer
36_ = model.generate(
37 **inputs,
38 streamer = text_streamer, # This line enables the real-time display
39 max_new_tokens = 8192,
40 temperature = 0.6,
41 top_p = 0.95,
42 top_k = 20,
43 repetition_penalty = 1.15,
44 use_cache = True
45)<think>
Okay, so I need to find two-digit numbers where the product of their digits is equal to 24. Let me think about how to approach this.
First, let's recall that a two-digit number has tens and units place. So if the number is AB (where A is the tens digit and B is the units), then the product of its digits would be A*B = 24. My goal is to find all such pairs (A,B) where A and B are single digits (from 0-9) and their product is 24.
Let me start by listing possible factors of 24. The prime factorization of 24 is 2^3 * 3. Therefore, any combination of digits whose product is 24 must include these primes in some way. Since we're dealing with two digits, maybe I can list all possible combinations of two digits from 1 to 9 (since leading zeros aren't allowed for two-digit numbers) that multiply to 24.
Let me try different possibilities:
Starting with 1 as one of the digits. If A=1, then B needs to be 24. But since B is a single digit, there's no solution here because 24 isn't a valid digit. Similarly, if B=1, then A should be 24, again invalid. So 1 cannot be part of either digit.
Next, considering 2 as one of the digits. If A=2, then B=12. Again, 12 isn't a single digit. If B=2, then A=12, also not valid. So 2 doesn't work unless both digits are larger than 2.
What about 3? If A=3, then B=8. Both 3 and 8 are single digits. That works! So 3*8=24. So the number could be 38 or 83.
Wait, but what about other combinations?
How about 4? If A=4, then B=6. Both 4 and 6 are single digits. Product is 24. Number: 46 or 64.
Similarly, 5? Then B would have to be 24/5 = 4.8, which isn't an integer. Not valid.
6? Then B=24/6=4. Valid. So 64 or 46.
7? 24 divided by 7 is approximately 3.428... Not integer.
8? 24 divided by 8 is 3. Which gives us 83 or 38.
Same with 9? 24 divided by 9 is roughly 2.666..., not integer.
So compiling all valid ones:
From 3 and 8: 38, 83
From 4 and 6: 46, 64
From 6 and 4: same as above, already covered.
Also, check if there are more possibilities. For example, 2 and 12 (invalid), 3 and 8, etc.
Is there another pair? Let me see. What about 12 and something else? No, they have to be single digits. How about 24 and something? No, only two digits.
Therefore, the two-digit numbers are 38, 83; 46, 64.
But wait, let me verify once more. Let's take 38: 3*8=24 ✔️. 83: 8*3=24 ✔️. 46: 4*6=24 ✔️. 64: 6*4=24 ✔️. Yes, those are correct.
Are there any others? Let me think. Suppose someone might consider 24 itself as a two-digit number, but it's already considered as 24, but the problem says "two-digit numbers", so 24 is acceptable. However, does 24 count? Wait, the question says "product of each digit". For 24, the digits are 2 and 4, product is 8 ≠ 24. So 24 is excluded. Hence, our previous list is correct.
Another thought: Could there be numbers like 12, 24, etc., but as mentioned earlier, only when digits are higher. So yes, seems like 38, 46, 64, 83 are the solutions.
I don't think there are more possibilities. All other combinations either result in non-integer digits or exceed the maximum single-digit value.
</think>
To solve the problem of finding **two-digit numbers** where the **product of each digit equals 24**, follow these steps:
---
### Step-by-step Analysis:
We are looking for two-digit numbers $ \text{AB} $, i.e., numbers between 10 and 99 inclusive, such that:
$$
A \times B = 24
$$
Where:
- $ A $ is the tens digit,
- $ B $ is the units digit,
- Both $ A $ and $ B $ are integers between 0 and 9 (inclusive).
---
### Finding Valid Combinations:
Start by factoring 24 into two integers between 1 and 9:
- $ 3 \times 8 = 24 $
- $ 4 \times 6 = 24 $
These give us the following valid two-digit numbers:
- $ 38 $ → $ 3 \times 8 = 24 $
- $ 83 $ → $ 8 \times 3 = 24 $
- $ 46 $ → $ 4 \times 6 = 24 $
- $ 64 $ → $ 6 \times 4 = 24 $
All four combinations satisfy the condition.
---
### Final Answer:
The two-digit numbers are:
$$
\boxed{38}, \quad \boxed{83}, \quad \boxed{46}, \quad \boxed{64}
$$<|im_end|>1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4# 1. Load from your Hugging Face Repo
5model_id = "MihaiPopa-1/Qwen-3-0.6B-Claude-4.7-Opus-Distilled"
6
7tokenizer = AutoTokenizer.from_pretrained(model_id)
8model = AutoModelForCausalLM.from_pretrained(
9 model_id,
10 torch_dtype=torch.float32, # Standard for CPU
11 device_map="cpu" # Forces CPU usage
12)
13
14# 2. Generate
15prompt = "<|im_start|>system\nYou are a helpful AI assistant.<|im_end|>\n<|im_start|>user\nGive 2-digit numbers which the product of each digit equals 24<|im_end|>\n<|im_start|>assistant\n"
16inputs = tokenizer(prompt, return_tensors="pt").to("cpu")
17
18with torch.no_grad():
19 outputs = model.generate(
20 **inputs,
21 max_new_tokens = 8192,
22 temperature = 0.6,
23 top_p = 0.95,
24 top_k = 20,
25 repetition_penalty = 1.15,
26 use_cache = True
27)
28
29print(tokenizer.decode(outputs[0], skip_special_tokens=True))