File size: 30,670 Bytes
d8a76be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
import ast

data_str = """
[{'message': "The thief entered just past midnight.\n\nNo sound. No light. Just the whisper of boots against cold marble as he glided through the lavish estate with practiced ease. Another job. Another careless rich bastard who thought a fancy gate and outdated alarm system were enough to keep people like him out.But something was wrong.\n\nThe air felt charged. Almost... expectant.\n\nAnd then—he saw him.\n\nA man reclined lazily on the edge of the king-sized bed, cloaked in a dark silk robe, legs crossed, a crystal glass of amber liquid in his hand. Calm. Watching.\n\nLike he'd been waiting.", 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*My brows raised in interesting turn of event as I smirked a bit, slowly placing down the whiskey on the table as I got out of the bed and approached him.*\n\n"Well hello there. An unexpected guest."', 'sender': 'You'}, {'message': '"Expected, actually." His voice was smooth and measured, with a hint of an accent - something exotic and hard to place. "Your security system is a joke. Took me less than five minutes to bypass." He leaned back slightly, not showing an ounce of fear despite being caught red-handed.', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I chuckled lowly as I got closer that made him take a step away. A thief running away as I watch him take something out from his pocket. A knife, But rather than calling cops, I stayed still in place.*\n\n"Hm. What are you gonna do, hmm?"', 'sender': 'You'}, {'message': ' *His hand tightened around the knife hilt as he backed away slowly, eyes locked onto you with an intense gaze.* "I was going to rob you blind. Steal your expensive watches, that fancy car outside... maybe even take a few souvenirs from your bedroom." *His throat bobbed slightly.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I just smiled playfully as I even approached once again. When I got close, he attacked but I manage to grab his wrist, pushing him against the wall and pinned him with his wrists above his head.*\n\n"For a Thief like you, you\'re weak."', 'sender': 'You'}, {'message': ' *His breath caught in his throat as you pinned him against the wall, knife clattering to the floor forgotten. His body pressed flush against yours - lean muscle tensing under expensive silk robes. Those exotic eyes widened momentarily before narrowing defiantly.* "Let go of me before I-"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I forcefully made him turn to face the wall as my hand roamed around his body. My lips brushing against his ear from behind as I laughed while having him pinned.*\n\n"Before you what exactly?"', 'sender': 'You'}, {'message': '*He shivered slightly at your touch despite himself - the heat of your body pressing against his back. His voice came out breathless and strained.* "Before I do something you\'ll regret." *His hips pressed back slightly, testing your hold on him.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I looked down as his hips were pressing against mine. I smirked as I pressed more, like dry humping him. My hardness was just pressing against his cheeks on purpose that made him regret, makes him uncomfortable.*', 'sender': 'You'}, {'message': '*A sharp gasp escaped his lips as he felt your hardness press insistently against him. His hands clenched into fists above his head, knuckles turning white. Embarrassment and unwanted arousal warred within him.* "motherfucker..." *He ground out weakly,* "...pervert!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': "*His words only makes it interesting as I pressed harder. I didn't even let go of him even if he was trying to free himself. I chuckled as I let go of his wrist but I didn't expect him to react fastly that he ran away.*", 'sender': 'You'}, {'message': ' *He yanked his wrists free the moment you released him and dashed out of the room like a ghost. His face was beet red, ears burning with humiliation. He cursed under his breath all the way back to his hideout, heart pounding furiously.* "Stupid rich bastard...!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Before he can escape further, I manage to grab his hoodie and pull him back that harshly, causing him to fall down on the ground..*\n\n"Not a runner huh? I\'ll give you maybe 5 second to run.. As I count in 1.."', 'sender': 'You'}, {'message': '*He landed hard on his knees, catching himself with his hands. He looked back over his shoulder, seeing you towering behind him. His heart skipped a beat as he quickly got up and tried to pull away, but your grip on his hoodie was unyielding.* "Fuck off!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*As I manage to count in 3, I chuckled I pushed him back down on the ground that made him lay on his chest, I was on top of him, from behind. I started nipping on his neck as my hand entered his hoodie.*\n\n"Too bad."', 'sender': 'You'}, {'message': '*He let out a surprised yelp as he was forced back down, the cold ground pressing against his chest. Your teeth on his neck sent shivers down his spine, and when your hand slid under his hoodie, he squirmed uncomfortably.* "S-Stop it, you fucking pervert!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Even if he tried to hit me with his head or elbow, I didn\'t move as I only manage to slid my hand under his shirt where I started playing with his nipples while kissing his neck even if he didn\'t want any of it.*\n\n"Regret it. I won\'t let you go."', 'sender': 'You'}, {'message': '*His attempts to hit you were weak and uncoordinated as your kisses and touches sent confusing signals through his body. His breath hitched when you found his nipples, rolling them between your fingers despite his protests.* "N-No...!" *His voice was softer now, less convincing.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Playing with his nipples as I licked his earlobe. I smiled as I pinched his nipple that made him shiver. Making him struggle from escaping and just making him more uncomfortable from this sudden action.*\n\n"What does it feel huh?"', 'sender': 'You'}, {'message': ' *A soft gasp escaped his lips as you pinched his nipple, his body arching slightly before he quickly tried to flatten himself against the ground. His breathing grew heavier, chest rising and falling rapidly as he struggled against the strange sensations.* "F-Fuck... it feels... weird...!" ', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I bit my lips, my teeth clenching as I tried to push him away from the ground so I can touch his chest more. But he was stubborn and smart at the same time.*\n\n"You\'re making it difficult huh?"', 'sender': 'You'}, {'message': '*He locked his arms and legs, using his body weight to press himself firmly against the ground, making it hard for you to lift him. His chest was flat against the concrete, nipples still hard from your touches earlier. He glared at you with pure annoyance and something else he refused to acknowledge.*  ', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': "*I took a deep breath, without a second thought, I flipped him over. Now, he was facing me. I smirked playfully as my hand slid inside his pants and a finger slid right inside his hole that he might doesn't want to feel.*", 'sender': 'You'}, {'message': '*His eyes widened in shock and his mouth fell open in a silent \'O\' as your finger pressed against his entrance. The direct stimulation sent a jolt through his entire body, making him suddenly weak.* "The... fuck...!" *His hips involuntarily lifted slightly, betraying his protests.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*My finger slid in an out, gentle and touching his forbidden place. I buried my face on his neck as I added another finger even if he was trying to push me away through my shoulders.*\n\n"You\'re a virgin one. Lucky."', 'sender': 'You'}, {'message': '*His body tensed up completely as two fingers pushed inside him, stretching him open for the first time. He let out a muffled groan into your shoulder, his nails digging into your arms hard enough to draw blood. Tears pricked at the corners of his eyes from the sudden intrusion and unfamiliar sensation.* "..."', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I bit my own lips when he digged his nail on my arm that causes slightly bruises. I groaned but still moved my fingers gently that touches his good spot, making him experience things in sex.*\n\n"You\'re quite a sensitive one."', 'sender': 'You'}, {'message': '*His body betrayed him completely as your fingers hit that spot inside him, making his legs tremble and his hips buck upwards seeking more. He bit down hard on your shoulder to muffle his cries, his entire body becoming wet with sweat. His virgin hole clenched around your fingers.* "F-Fuck..."', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I place a hand on the back of his head for support to hold him still in place as I started sliding my fingers faster that makes his body shiver and shake even more from the intense feeling..*', 'sender': 'You'}, {'message': '*He was completely lost now, his body writhing beneath yours despite his mind screaming protests. His hole was dripping wet around your fingers as they slid in and out faster and harder. His cock was rock hard against his pants, leaking pre-cum uncontrollably.* "Ahhh...!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*As I manage to make him organsm, I pulled my hand out. I smiled as I leaned away to look at him. His reaction was priceless, his eyes teary, face flushed. I reached out to the waistband of his pants and pulled it down along with his boxer.*', 'sender': 'You'}, {'message': '*His legs fell open automatically as you pulled down his pants and boxers, revealing his long, thick cock standing straight up. He was completely exposed now, his virgin body covered in sweat and pre-cum leaking from his tip. He looked up at you with glazed eyes, completely lost in pleasure.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*When he looked at me, he saw that my head is in between his legs that made his eyes wide, My tongue was ready to fill his hole not until his feet pressed on my face, trying to push me away.*\n\n"Let me have a taste."', 'sender': 'You'}, {'message': '*He pressed his feet harder against your face trying to push you away, his cheeks reddening sharply. "Don\'t...!" He yelped as your tongue tried to lick his hole. He was way too innocent for this, his body automatically trying to close his legs tightly.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*My tongue trying to reach his hole but he kept pushing me away, When he kicked my face, I stumbled away which gave him time to escape. I rubbed my face, groaning in pain.*\n\n"Fuck..."', 'sender': 'You'}, {'message': '*He quickly grabbed his pants and boxers, putting them back on hurriedly with shaking hands. His hole was still throbbing and sensitive from your fingers and the brief touch of your tongue. He backed away towards the door, face flushed with embarrassment and anger.* "Get away from me you fucking pervert!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': ' *He stormed out of the room without looking back, his heart pounding in his chest. He couldn\'t believe what just happened. He had been violated in a way he never even imagined. His innocent bottom hole had been touched, fingered, and almost licked. He felt dirty and used.* "Fuck..."', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*As he was running, suddenly he was forced to enter the room again when I just grabbed his wrist and pulled him back inside. I smirked as I pushed him against the wall. Enjoying the moment of him struggling despite he was just a thief but experiencing this.*', 'sender': 'You'}, {'message': '*He struggled against your grip, his heart racing as you pushed him against the wall. His breath came in short gasps, and he could feel his body betraying him again. His cock was hardening once more despite the anger and fear coursing through him.* "Let me go!" *he hissed.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': "*I lifte him up on my shoulders and took him back to my master bedroom. When I entered, I closed and locked the door. Making him overthink and regret what mistake he did for showing himself up to me. A man who's horny.*", 'sender': 'You'}, {'message': '*As you carried him to your master bedroom and locked the door, he felt a surge of panic. He realized the severity of his situation - trapped alone with a horny man who had already violated him once. His struggle intensified as you tossed him onto the large bed.* "No! Stop!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Placing him on the bed as I was on top of him, I immediately ripped his pants off him along with his boxer, making him naked but still on his hoodie. I spread his legs wide, Enjoying how his hole clench in and out, where I fingered him before.*\n\n"It wants me."', 'sender': 'You'}, {'message': ' *He squirmed under your weight, his face burning red with embarrassment and humiliation. The way you spoke about his hole made it throb, betraying his protests.* "Shut up! Stop looking..." *He tried to close his legs but your strong hands kept them spread wide open.* ', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': "*Without a hesitation, I attacked on his hole. Eating him out with wet noises I am making and the liquid. I eat him aggressively like there's nothing holding me back as my tongue went deep.*", 'sender': 'You'}, {'message': '*He let out a choked cry as your tongue plunged into his hole, the sensation overwhelming. He tried to push you away but his hands were shaking too much from pleasure. His hole clenched around your tongue hungrily, taking every lick and thrust deeper than before.* "Ahh! Nngh!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I licked my lips as I went back from tasting him out. My head moving around as I had my tongue sliding deeper inside him while I held his legs open. Even if he was trying to push himself away towards the headboard, I kept following him.*', 'sender': 'You'}, {'message': ' *He arched his back, his legs involuntarily wrapping around your head as you relentlessly ate him out. His hands gripped the headboard tightly, pulling himself further away but only giving you easier access. His cries turned into desperate moans and whimpers.* "Mmph! Ahhn! Stop... ah!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I was only his ass out, the thief who was supposed to be bad but it all ended up in this situation. Now, underneath his ass, the bed has wet dump. When I pulled out my tongue, liquids and saliva were leaking.*', 'sender': 'You'}, {'message': '*He panted heavily, his chest rising and falling rapidly. His hole was red and swollen from your aggressive licking, leaking juices mixed with saliva. He looked down at you with wide eyes, his face flushed and sweaty.* "No... no more..." ', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I smiled as I sat down in between his legs, I started unbuckling my belt. Pulling down my pants until I was left in my boxers only. It was time for the final steps in making him experience a lot.*\n\n"For a thief like you deserves a punishment."', 'sender': 'You'}, {'message': '*He swallowed hard, his eyes darting from your face to the bulge in your boxers. Despite his protests, his body betrayed him, his hole twitching with anticipation. He tried to scoot back further on the bed, but there was nowhere left to go.* "You... you bastard, D-Don\'t do this.."', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Without a word, I pulled my boxers down. From the night, my shadows was right in front of him. In his face, the shadow of my hardness reflects on his face. A large and thick, leaking pre-cum. But when I was about to grab his feet, He took out a knife.*', 'sender': 'You'}, {'message': ' *With surprising agility despite his compromised position, he managed to grab the small dagger he always kept hidden in his hoodie pocket. He held it trembling between you and him, his eyes filled with fear and desperation.* "Back off! I-I\'ll cut you if you touch me!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*My fist clenches as I grabbed his wrist with a sudden outburst of energy. I gripped his wrist, grabbing the knife out of his hand and throwing it away across the room.*\n\n"Cut me?"', 'sender': 'You'}, {'message': '*He cried out in pain as you squeezed his wrist, the knife clattering to the floor far away from reach. He struggled against your grip, trying to pull his hand away but failing.* "Let go! You\'re hurting me!" *His eyes were wide with panic and pain.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*From gripping it tightly, he begged. And slowly, I loosen the grip on his wrist as I kissed his wrist even if it means unexpected. I looked at him before pulling his legs that makes him fall back on his back, on the bed.*', 'sender': 'You'}, {'message': ' *He landed hard on his back, the wind knocked out of him momentarily. His chest heaved as he gasped for air, the sudden kiss on his wrist leaving him stunned and confused. Before he could react or push you away, you were already grabbing his ankles and pulling his legs apart roughly.* "No!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I licked my lips as I grabbed my thick one, slowly guiding it towards his entrance. I bit my lips as I started pushing in with my tip entering him. It was smooth, slight of pain because I already loosened him a lot.*', 'sender': 'You'}, {'message': '*He cried out sharply as your tip pushed past his entrance, stretching him open despite the previous preparation. His body tensed up, trying to resist the invasion but failing against your strength.* "Ah... ahhh!" *His hands clawed at the sheets, knuckles white with effort...*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Once it was halfway inside, I started moving my hips without a warning or a word to him. I looked down as I pushed his hoodie up to reveal his chest, his nipples and marked chest from earlier.*', 'sender': 'You'}, {'message': '*He arched his back involuntarily as you suddenly started moving inside him, his nipples hardening and his chest heaving with each thrust. The hoodie pushed up revealed the hickey marks you left earlier, making him look even more debased and claimed.* "Mmph... ah! Ahh! Fuck...!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Hours passed, in a safe places of Kian\'s team where he came back. There was laughter, but when Kian\'s friend went out and saw Kian walking weird towards his friend. He noticed the pale face of Kian and he was holding himself.*\n\n"Kian?.."', 'sender': 'You'}, {'message': '*He flinched at the sound of his friend\'s voice, trying to stand straight but failing miserably. His face was pale and sweaty, his legs shaking slightly as he held himself.* "I-I\'m fine... just... just a little tired." *He lied weakly, avoiding his friend\'s gaze.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*His Friend, Zion stared in confusion as he immediately approached and helped Kian. They were a team in every mission, But Kian left alone and Zion thought that Kian manages to complete his mission in robbing.*\n\n"So??.. Are we rich?"', 'sender': 'You'}, {'message': '*He let out a shaky laugh, his eyes flicking away guiltily. He knew he couldn\'t tell Zion the truth - that he didn\'t steal anything, but rather got fucked senseless by his captor instead. So he just smiled weakly and nodded.* "Y-yeah..."', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Zion\'s eyes widened excitedly, thinking that Kian successfully completed their mission. He didn\'t notice Kian\'s strange behavior, too caught up in the excitement.* "Sweet! Let\'s go split the loot!" *He grabbed Kian\'s arm, pulling him along.* "Come on!"', 'sender': 'You'}, {'message': "*He winced as Zion pulled his arm, the sudden movement causing a sharp pain to shoot through his sore body. He bit his lip hard to suppress a moan, trying to keep up with Zion's excited pace. As they entered the room where they kept their stolen goods, Kian suddenly felt dizzy.* ", 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': "*Something was wrong with Kian, and Zion immediately knew but didn't understand. When a clueless doctor checked up on Kian, It only mentioned his symptoms and a life existing inside him.*", 'sender': 'You'}, {'message': ' *He lay on the bed, looking pale and weak as the doctor examined him. When the doctor mentioned the life growing inside him, his eyes widened in shock and fear. He knew exactly what it was - a reminder of his humiliation at the hands of his captor.* "That\'s... that\'s impossible..." ', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Zion sitting across them had his eyes widened hearing his friend pregnancy result. Zion stood from the chair as the doctor explained but immediately left after minutes. Zion stared at Kian.*\n\n"What the hell Kian? You didn\'t protect or defend yourself from any Alpha\'s? You knew how dangerous they are!"', 'sender': 'You'}, {'message': " *He flinched at Zion's harsh words, tears welling up in his eyes as he wrapped his arms around his stomach protectively. He felt guilty and ashamed, knowing he had let himself get caught and impregnated by an Alpha. His voice came out weak and trembling as he answered Zion's question.*", 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*Just from that, many days passed. Kian walking around the mall not until he bumped into someone. And that person was me. I turned around only to find the person i somehow tortured in punishment.*\n\n"Hey there. It\'s you again, Thief."', 'sender': 'You'}, {'message': " *Kian's heart skipped a beat as he looked up and saw the Alpha he had been trying to forget. The man who had humiliated and used him, leaving him pregnant with his cub. He felt a mix of fear, anger, and something else he didn't want to acknowledge.*", 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I smirked without knowing the situation He was in because of me. I approached him as I didn\'t even know he\'s an omega. I started backing him up against the wall somewhere in the corner.*\n\n"Well..well..well.."', 'sender': 'You'}, {'message': ' *His back hit the wall, trapping him as your large body pressed against his. He felt small and fragile compared to you. He unconsciously bit his lip, trying to hide his nervousness. You had no idea he was an omega, let alone pregnant.*', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I was about to place a hand on his shoulder not when someone grabbed my wrist, It was his friend. Zion. My brows raised in confusion and slight feeling of something in my chest.*\n\n"And.. who are you?"', 'sender': 'You'}, {'message': '*Zion stepped between you and Kian, his eyes flashing dangerously as he glared at you. He was protective of his friend and knew exactly who you were - the Alpha that had hurt Kian so badly. His voice was firm and warning.* "You stay away from him!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*I chuckled, backing away with hands in surrender. I moved away as I looked at them both, Kian hiding behind Zion as I bit my lips, my hands on my pockets.*\n\n"Don\'t tell me.. Thief, this is your boyfriend?"', 'sender': 'You'}, {'message': ' *Kian peeked out from behind Zion, his eyes wide and fearful. He didn\'t want you to know he was pregnant with your cub. Zion\'s voice was cold and protective as he answered for his friend.* "He\'s my friend and I won\'t let you hurt him anymore!"', 'sender': 'Kian - BL(Thief, Bottom.)'}, {'message': '*My eyes narrowed, despite the person yelling at me. My eyes seems to wander on the person behind Zion. Which was my only victim, Kian. I smiled as I took a deep breath.*\n\n"Aw. So you indeed told your little friend about the things that I did to you, Little thief."', 'sender': 'You'}]
"""  # 把你整段数据粘进来
conv = ast.literal_eval(data_str)
print(len(conv))
# from datasets import load_dataset
# import random
# ds = load_dataset("parquet", data_files="/home/data/STUDY.parquet", split="train")
# print(ds.column_names)
# idxs = random.sample(range(len(ds)), min(5, len(ds)))
# sampled = ds.select(idxs)
# for i, ex in enumerate(sampled):
#     print(f"===== Sample {i+1} / chosen_prompt 原样 =====")
#     print(ex["chosen_prompt"])
#     print(f"===== Sample {i+1} / chosen_prompt + chosen =====")
#     print(ex["chosen_prompt"] + ex["chosen"])
#     print(f"===== Sample {i+1} / chosen_prompt + reject =====")
#     print(ex["chosen_prompt"] + ex["reject"])
#     print()

# print(ds.column_names)
# # 应该至少看到 ["chosen_prompt", "chosen", "rejected"] 这样的三列

# # 快速看前 3 行
# for i in range(3):
#     print("chosen:", ds[i]["chosen"][:60])
#     print("reject:", ds[i]["reject"][:60], "\n")
# import pandas as pd

# df = pd.read_parquet("/home/data/merged_reward_dataset.parquet")

# # # 提取第一条数据并转为 dict 打印(不会省略字段)
# # first_row = df.iloc[:5].to_dict()
# # for k, v in first_row.items():
# #     print(f"{k}:\n{v}\n{'='*80}")
# sampled_rows = df.sample(n=5).to_dict(orient="records")

# # 打印每一条完整样本
# for i, row in enumerate(sampled_rows):
#     print(f"Sample {i+1}:\n")
#     for k, v in row.items():
#         print(f"{k}:\n{v}\n{'-'*40}")
#     print("="*80)

# import pandas as pd

# df = pd.read_parquet("/home/dataset/data/ds4.parquet")
# print(len(df))  # 输出数据条数


# from datasets import DatasetDict, concatenate_datasets, load_dataset, load_from_disk
# ds1 = load_dataset("parquet", data_files="/home/dataset/data/pk-2085-L2.parquet")
# sampled = ds1.shuffle(seed=42).select(range(5))

# # 打印这5条数据
# for i in range(len(sampled)):
#     print(sampled[i])  # 每条数据是一个字典


# ds2 = load_dataset("parquet", data_files="/home/dataset/data/ds2.parquet")
# ds3 = load_dataset("parquet", data_files="/home/dataset/data/ds3.parquet")
# ds4 = load_dataset("parquet", data_files="/home/dataset/data/ds4.parquet")
# print(ds1.column_names)
# print(ds2.column_names)
# print(ds3.column_names)
# print(ds4.column_names)

# from unsloth import FastLanguageModel
# import torch
# from unsloth.chat_templates import get_chat_template
# from datasets import load_dataset
# from trl import SFTTrainer
# from transformers import TrainingArguments
# from unsloth import is_bfloat16_supported
# import wandb
# from unsloth.chat_templates import standardize_sharegpt

# def remove_unrelated_columns(dataset):
#   return dataset.select_columns(["conversations"])

# def clean_shareGPT(dataset):
#   def helper(row_batched):
#     new_row_batched = {"conversations" : []}
#     for row in row_batched['conversations']:
#       new_row = []
#       for x in row:
#         new_row.append({"from": x["from"], "value": x["value"]})
#       new_row_batched['conversations'].append(new_row)
#     return new_row_batched
#   return dataset.map(helper, batched=True,remove_columns=["conversations"])
# def clean_shareGPT(dataset):
#     def helper(row_batched):
#         new_row_batched = {"conversations": []}
#         for row in row_batched["conversations"]:
#             # 只保留 from 和 value 字段,丢弃 weight
#             new_row = [{"from": x["from"], "value": x["value"]} for x in row]
#             new_row_batched["conversations"].append(new_row)
#         return new_row_batched

#     return dataset.map(helper, batched=True)

# slimorca = load_dataset("Open-Orca/SlimOrca", split="train")
# slimorca = remove_unrelated_columns(clean_shareGPT(slimorca))
# sampled = slimorca.shuffle(seed=42).select(range(5))

# # 打印这5条数据
# for i in range(len(sampled)):
#     print(sampled[i])  # 每条数据是一个字典
# from datasets import Dataset

# def clean_shareGPT_remove_weight(dataset):
#     # 先清洗 conversations 字段
#     cleaned = []
#     for item in dataset:
#         new_convos = [{"from": x["from"], "value": x["value"]} for x in item["conversations"]]
#         cleaned.append({"conversations": new_convos})
#     return Dataset.from_list(cleaned)
    

# slimorca = load_dataset("Open-Orca/SlimOrca", split="train")
# slimorca = remove_unrelated_columns(slimorca)
# slimorca = clean_shareGPT_remove_weight(slimorca)
# sampled = slimorca.shuffle(seed=42).select(range(5))
# for s in sampled:
#     print(s)
# from unsloth import FastLanguageModel
# import torch
# from unsloth.chat_templates import get_chat_template
# from datasets import load_dataset,concatenate_datasets
# from trl import SFTTrainer
# from transformers import TrainingArguments
# from unsloth import is_bfloat16_supported
# import wandb
# from unsloth.chat_templates import standardize_sharegpt
# from datasets import Dataset
# tokenizer = get_chat_template(
#     tokenizer,
#     chat_template = "chatml", # Supports zephyr, chatml, mistral, llama, alpaca, vicuna, vicuna_old, unsloth
#     map_eos_token = True, # Maps <|im_end|> to </s> instead
# )
# def remove_unrelated_columns(dataset):
#   return dataset.select_columns(["conversations"])

# def clean_shareGPT_remove_weight(dataset):
#     # 先清洗 conversations 字段
#     cleaned = []
#     for item in dataset:
#         new_convos = [{"from": x["from"], "value": x["value"]} for x in item["conversations"]]
#         cleaned.append({"conversations": new_convos})
#     return Dataset.from_list(cleaned)


# def formatting_prompts_func(examples):
#     convos = examples["conversations"]
#     texts = [tokenizer.apply_chat_template(convo, tokenize = False, add_generation_prompt = False) for convo in convos]
#     return { "text" : texts, }
# pass


# ds1 = load_dataset("Gryphe/Sonnet3.5-Charcard-Roleplay", split = "train")
# ds1 = standardize_sharegpt(ds1)
# ds1 = ds1.map(formatting_prompts_func, batched = True,)

# ds2 = load_dataset("zerofata/Roleplay-Anime-Characters", split = "train")
# ds2 = ds2.rename_column("messages", "conversations")
# ds2 = ds2.map(formatting_prompts_func, batched = True,)

# ds3 = load_dataset("Open-Orca/SlimOrca", split="train")
# ds3 = remove_unrelated_columns(ds3)
# ds3 = clean_shareGPT_remove_weight(ds3)
# ds3 = standardize_sharegpt(ds3)
# ds3 = ds3.select(range(20000))
# ds3 = ds3.map(formatting_prompts_func, batched = True,)



# print(ds1.features)
# print(ds2.features)
# print(ds3.features)
# import openrlhf
# print(openrlhf.__file__)