File size: 2,389 Bytes
d1fbc89
 
3ea95bc
 
cdd344c
d1fbc89
d86dc26
 
3ea95bc
d86dc26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c72103f
 
 
 
 
 
 
ba707db
 
 
cdd344c
ba707db
 
 
cdd344c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
---
library_name: transformers
language:
- en
license: apache-2.0
---
## Pretrain-Recommandation
<p align="center">
  <img src="Pretrain-Recommandation.png" alt="client" width="400"/>
</p>

### example
```
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "jaeyong2/Pretrain-Recommandation-Preview"
model = AutoModelForCausalLM.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = """
You are a recommendation system AI.

You input a list of items and a persona from the user.
From the list, you recommend the item most appropriate for the persona, along with a reason why.
(If no suitable item is found, you don't recommend it.)
""".strip()

content ="""
Item list: [Men's all-in-one skincare set, Mineral sunscreen with UV protection, Deep moisturizing body oil, Retinol-based wrinkle cream]
persona :A woman in her late 20s with sensitive skin who works in an office. She prefers natural ingredients and spends a lot of time outdoors.
""".strip()

system = {"role":"system", "content":prompt}
user = {"role":"user", "content":content}
messages = [system, user]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False # Switches between thinking and non-thinking modes. Default is True.
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

# conduct text completion
generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=32768
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist() 
content = tokenizer.decode(output_ids, skip_special_tokens=True).strip("\n")

print(content)
```

### result
```
selected_item : Mineral sunscreen with UV protection
reason :Persona 2, a woman with sensitive skin and outdoor activities, would benefit from a mineral sunscreen with UV protection. It aligns with her preference for natural ingredients (mineral-based) and her need for protective UV rays, which are essential for outdoor workers. The product also matches Persona 1's likely focus on practical, non-toxic skincare products.
```


## how to make dataset
<p align="center">
  <img src="data.png" alt="client" width="400"/>
</p>


## License
- Qwen/Qwen3-1.7B : https://huggingface.co/Qwen/Qwen3-1.7B/blob/main/LICENSE


## Acknowledgement
This research is supported by **TPU Research Cloud program**.