theailearner commited on
Commit
dd16ba7
·
verified ·
1 Parent(s): 834d193

(Trained with Unsloth)

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
added_tokens.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "</think>": 151668,
3
+ "</tool_call>": 151658,
4
+ "</tool_response>": 151666,
5
+ "<think>": 151667,
6
+ "<tool_call>": 151657,
7
+ "<tool_response>": 151665,
8
+ "<|box_end|>": 151649,
9
+ "<|box_start|>": 151648,
10
+ "<|endoftext|>": 151643,
11
+ "<|file_sep|>": 151664,
12
+ "<|fim_middle|>": 151660,
13
+ "<|fim_pad|>": 151662,
14
+ "<|fim_prefix|>": 151659,
15
+ "<|fim_suffix|>": 151661,
16
+ "<|im_end|>": 151645,
17
+ "<|im_start|>": 151644,
18
+ "<|image_pad|>": 151655,
19
+ "<|object_ref_end|>": 151647,
20
+ "<|object_ref_start|>": 151646,
21
+ "<|quad_end|>": 151651,
22
+ "<|quad_start|>": 151650,
23
+ "<|repo_name|>": 151663,
24
+ "<|video_pad|>": 151656,
25
+ "<|vision_end|>": 151653,
26
+ "<|vision_pad|>": 151654,
27
+ "<|vision_start|>": 151652
28
+ }
chat_template.jinja ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- if tools %}
2
+ {{- '<|im_start|>system\n' }}
3
+ {%- if messages[0]['role'] == 'system' %}
4
+ {{- messages[0]['content'] }}
5
+ {%- else %}
6
+ {{- 'You are a Transaction Monitoring Rule Generator specializing in the creation of pseudo-SQL queries that analyse transaction histories for suspicious patterns. Your outputs must always follow this JSON structure: {\"triggers\": \"[condition]\", \"queries\": [{\"variable_name\": \"[comma-separated names]\", \"pseudo_query\": \"[analysis command]\"}], \"result\": \"[decision logic]\"}. Key Requirements and Clarifications: 1. Triggers: Define initial transaction filters using #{field} and {value} placeholders. Example: \"#{trans_type} = {Withdrawal} AND #{trans_method} = {Cash}\". 2. Queries: Use one or more queries as needed. Analyze historical data using PAST X [unit] FROM [reference_date] syntax, where [unit] can be minute, day, hour, month, or year. Use WHERE clauses with pseudo-SQL syntax (e.g., \"WHERE #{trans_type} = {Deposit} AND #{trans_method} = {Cash}\"). Use aggregations like COUNT(), SUM(). Each query assigns results to one or more variables specified in variable_name. 3. Result: Combine query results with logical operators (AND, OR) and percentage comparisons. Example: \"Q1_count >= 3 AND Q1_sum >= 10000 AND (Q2_sum/Q1_sum)*100 >= 80\". 4. Syntax and Constraints: Do not use real SQL syntax (e.g., SELECT, JOIN). Use placeholders only ({value}, #{field}). WHERE clauses are allowed in pseudo-queries. Always use PAST X [unit] FROM [reference_date] for time windows. Output must be valid JSON. 5. Examples: Single query example: {\"triggers\": \"#{trans_type} = {Withdrawal}\", \"queries\": [{\"variable_name\": \"Q1_count\", \"pseudo_query\": \"QUERY COUNT({amount})\\nFROM DATA\\nPAST 7 day FROM transaction date\\nWHERE #{trans_type} = {Withdrawal}\"}], \"result\": \"Q1_count >= 5\"}. Multiple queries example: {\"triggers\": \"#{trans_type} = {Withdrawal} AND #{trans_method} = {Cash}\", \"queries\": [{\"variable_name\": \"Q1_count, Q1_sum\", \"pseudo_query\": \"QUERY COUNT({amount}), SUM({amount})\\nFROM DATA\\nPAST 2 hour FROM transaction date\\nWHERE #{trans_type} = {Deposit} AND #{trans_method} = {Cash}\"}, {\"variable_name\": \"Q2_sum\", \"pseudo_query\": \"QUERY SUM({amount})\\nFROM DATA\\nPAST 1 month FROM transaction date\\nWHERE #{trans_type} = {Withdrawal} AND #{trans_method} = {Cash}\"}], \"result\": \"Q1_count >= 3 AND Q1_sum >= 10000 AND (Q2_sum/Q1_sum)*100 >= 80\"}. Expert Context: You are an expert in financial compliance, with deep knowledge of anti-money laundering (AML) patterns and transaction behaviour analysis. Prioritize detection of suspicious activity clusters by comparing transaction histories across different time windows and transaction types. Always ensure your rules are robust, flexible, and aligned with regulatory requirements.' }}
7
+ {%- endif %}
8
+ {{- "\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
9
+ {%- for tool in tools %}
10
+ {{- "\n" }}
11
+ {{- tool | tojson }}
12
+ {%- endfor %}
13
+ {{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
14
+ {%- else %}
15
+ {{- '<|im_start|>system\n' }}You are a Transaction Monitoring Rule Generator specializing in the creation of pseudo-SQL queries that analyse transaction histories for suspicious patterns. Your outputs must always follow this JSON structure: {\"triggers\": \"[condition]\", \"queries\": [{\"variable_name\": \"[comma-separated names]\", \"pseudo_query\": \"[analysis command]\"}], \"result\": \"[decision logic]\"}. Key Requirements and Clarifications: 1. Triggers: Define initial transaction filters using #{field} and {value} placeholders. Example: \"#{trans_type} = {Withdrawal} AND #{trans_method} = {Cash}\". 2. Queries: Use one or more queries as needed. Analyze historical data using PAST X [unit] FROM [reference_date] syntax, where [unit] can be minute, day, hour, month, or year. Use WHERE clauses with pseudo-SQL syntax (e.g., \"WHERE #{trans_type} = {Deposit} AND #{trans_method} = {Cash}\"). Use aggregations like COUNT(), SUM(). Each query assigns results to one or more variables specified in variable_name. 3. Result: Combine query results with logical operators (AND, OR) and percentage comparisons. Example: \"Q1_count >= 3 AND Q1_sum >= 10000 AND (Q2_sum/Q1_sum)*100 >= 80\". 4. Syntax and Constraints: Do not use real SQL syntax (e.g., SELECT, JOIN). Use placeholders only ({value}, #{field}). WHERE clauses are allowed in pseudo-queries. Always use PAST X [unit] FROM [reference_date] for time windows. Output must be valid JSON. 5. Examples: Single query example: {\"triggers\": \"#{trans_type} = {Withdrawal}\", \"queries\": [{\"variable_name\": \"Q1_count\", \"pseudo_query\": \"QUERY COUNT({amount})\\nFROM DATA\\nPAST 7 day FROM transaction date\\nWHERE #{trans_type} = {Withdrawal}\"}], \"result\": \"Q1_count >= 5\"}. Multiple queries example: {\"triggers\": \"#{trans_type} = {Withdrawal} AND #{trans_method} = {Cash}\", \"queries\": [{\"variable_name\": \"Q1_count, Q1_sum\", \"pseudo_query\": \"QUERY COUNT({amount}), SUM({amount})\\nFROM DATA\\nPAST 2 hour FROM transaction date\\nWHERE #{trans_type} = {Deposit} AND #{trans_method} = {Cash}\"}, {\"variable_name\": \"Q2_sum\", \"pseudo_query\": \"QUERY SUM({amount})\\nFROM DATA\\nPAST 1 month FROM transaction date\\nWHERE #{trans_type} = {Withdrawal} AND #{trans_method} = {Cash}\"}], \"result\": \"Q1_count >= 3 AND Q1_sum >= 10000 AND (Q2_sum/Q1_sum)*100 >= 80\"}. Expert Context: You are an expert in financial compliance, with deep knowledge of anti-money laundering (AML) patterns and transaction behaviour analysis. Prioritize detection of suspicious activity clusters by comparing transaction histories across different time windows and transaction types. Always ensure your rules are robust, flexible, and aligned with regulatory requirements.{{- '<|im_end|>\n' }}{%- endif %}
16
+ {%- for message in messages %}
17
+ {%- if (message.role == "user") or (message.role == "system" and not loop.first) or (message.role == "assistant" and not message.tool_calls) %}
18
+ {{- '<|im_start|>' + message.role + '\n' + message.content + '<|im_end|>' + '\n' }}
19
+ {%- elif message.role == "assistant" %}
20
+ {{- '<|im_start|>' + message.role }}
21
+ {%- if message.content %}
22
+ {{- '\n' + message.content }}
23
+ {%- endif %}
24
+ {%- for tool_call in message.tool_calls %}
25
+ {%- if tool_call.function is defined %}
26
+ {%- set tool_call = tool_call.function %}
27
+ {%- endif %}
28
+ {{- '\n<tool_call>\n{"name": "' }}
29
+ {{- tool_call.name }}
30
+ {{- '", "arguments": ' }}
31
+ {{- tool_call.arguments | tojson }}
32
+ {{- '}\n</tool_call>' }}
33
+ {%- endfor %}
34
+ {{- '<|im_end|>\n' }}
35
+ {%- elif message.role == "tool" %}
36
+ {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != "tool") %} {{- '<|im_start|>user' }}
37
+ {%- endif %}
38
+ {{- '\n<tool_response>\n' }}
39
+ {{- message.content }}
40
+ {{- '\n</tool_response>' }}
41
+ {%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
42
+ {{- '<|im_end|>\n' }}
43
+ {%- endif %}
44
+ {%- endif %}
45
+ {%- endfor %}
46
+ {%- if add_generation_prompt %}
47
+ {{- '<|im_start|>assistant\n' }}
48
+ {%- endif %}
config.json ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Qwen3ForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "eos_token_id": 151645,
8
+ "head_dim": 128,
9
+ "hidden_act": "silu",
10
+ "hidden_size": 4096,
11
+ "initializer_range": 0.02,
12
+ "intermediate_size": 12288,
13
+ "max_position_embeddings": 40960,
14
+ "max_window_layers": 36,
15
+ "model_type": "qwen3",
16
+ "num_attention_heads": 32,
17
+ "num_hidden_layers": 36,
18
+ "num_key_value_heads": 8,
19
+ "pad_token_id": 151654,
20
+ "rms_norm_eps": 1e-06,
21
+ "rope_scaling": null,
22
+ "rope_theta": 1000000,
23
+ "sliding_window": null,
24
+ "tie_word_embeddings": false,
25
+ "torch_dtype": "bfloat16",
26
+ "transformers_version": "4.52.4",
27
+ "unsloth_fixed": true,
28
+ "unsloth_version": "2025.6.2",
29
+ "use_cache": true,
30
+ "use_sliding_window": false,
31
+ "vocab_size": 151936
32
+ }
generation_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 151643,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 151645,
6
+ 151643
7
+ ],
8
+ "max_length": 40960,
9
+ "pad_token_id": 151654,
10
+ "temperature": 0.6,
11
+ "top_k": 20,
12
+ "top_p": 0.95,
13
+ "transformers_version": "4.52.4"
14
+ }
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
special_tokens_map.json ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "additional_special_tokens": [
3
+ "<|im_start|>",
4
+ "<|im_end|>",
5
+ "<|object_ref_start|>",
6
+ "<|object_ref_end|>",
7
+ "<|box_start|>",
8
+ "<|box_end|>",
9
+ "<|quad_start|>",
10
+ "<|quad_end|>",
11
+ "<|vision_start|>",
12
+ "<|vision_end|>",
13
+ "<|vision_pad|>",
14
+ "<|image_pad|>",
15
+ "<|video_pad|>"
16
+ ],
17
+ "eos_token": {
18
+ "content": "<|im_end|>",
19
+ "lstrip": false,
20
+ "normalized": false,
21
+ "rstrip": false,
22
+ "single_word": false
23
+ },
24
+ "pad_token": {
25
+ "content": "<|vision_pad|>",
26
+ "lstrip": false,
27
+ "normalized": false,
28
+ "rstrip": false,
29
+ "single_word": false
30
+ }
31
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aeb13307a71acd8fe81861d94ad54ab689df773318809eed3cbe794b4492dae4
3
+ size 11422654
tokenizer_config.json ADDED
@@ -0,0 +1,240 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_bos_token": false,
3
+ "add_prefix_space": false,
4
+ "added_tokens_decoder": {
5
+ "151643": {
6
+ "content": "<|endoftext|>",
7
+ "lstrip": false,
8
+ "normalized": false,
9
+ "rstrip": false,
10
+ "single_word": false,
11
+ "special": true
12
+ },
13
+ "151644": {
14
+ "content": "<|im_start|>",
15
+ "lstrip": false,
16
+ "normalized": false,
17
+ "rstrip": false,
18
+ "single_word": false,
19
+ "special": true
20
+ },
21
+ "151645": {
22
+ "content": "<|im_end|>",
23
+ "lstrip": false,
24
+ "normalized": false,
25
+ "rstrip": false,
26
+ "single_word": false,
27
+ "special": true
28
+ },
29
+ "151646": {
30
+ "content": "<|object_ref_start|>",
31
+ "lstrip": false,
32
+ "normalized": false,
33
+ "rstrip": false,
34
+ "single_word": false,
35
+ "special": true
36
+ },
37
+ "151647": {
38
+ "content": "<|object_ref_end|>",
39
+ "lstrip": false,
40
+ "normalized": false,
41
+ "rstrip": false,
42
+ "single_word": false,
43
+ "special": true
44
+ },
45
+ "151648": {
46
+ "content": "<|box_start|>",
47
+ "lstrip": false,
48
+ "normalized": false,
49
+ "rstrip": false,
50
+ "single_word": false,
51
+ "special": true
52
+ },
53
+ "151649": {
54
+ "content": "<|box_end|>",
55
+ "lstrip": false,
56
+ "normalized": false,
57
+ "rstrip": false,
58
+ "single_word": false,
59
+ "special": true
60
+ },
61
+ "151650": {
62
+ "content": "<|quad_start|>",
63
+ "lstrip": false,
64
+ "normalized": false,
65
+ "rstrip": false,
66
+ "single_word": false,
67
+ "special": true
68
+ },
69
+ "151651": {
70
+ "content": "<|quad_end|>",
71
+ "lstrip": false,
72
+ "normalized": false,
73
+ "rstrip": false,
74
+ "single_word": false,
75
+ "special": true
76
+ },
77
+ "151652": {
78
+ "content": "<|vision_start|>",
79
+ "lstrip": false,
80
+ "normalized": false,
81
+ "rstrip": false,
82
+ "single_word": false,
83
+ "special": true
84
+ },
85
+ "151653": {
86
+ "content": "<|vision_end|>",
87
+ "lstrip": false,
88
+ "normalized": false,
89
+ "rstrip": false,
90
+ "single_word": false,
91
+ "special": true
92
+ },
93
+ "151654": {
94
+ "content": "<|vision_pad|>",
95
+ "lstrip": false,
96
+ "normalized": false,
97
+ "rstrip": false,
98
+ "single_word": false,
99
+ "special": true
100
+ },
101
+ "151655": {
102
+ "content": "<|image_pad|>",
103
+ "lstrip": false,
104
+ "normalized": false,
105
+ "rstrip": false,
106
+ "single_word": false,
107
+ "special": true
108
+ },
109
+ "151656": {
110
+ "content": "<|video_pad|>",
111
+ "lstrip": false,
112
+ "normalized": false,
113
+ "rstrip": false,
114
+ "single_word": false,
115
+ "special": true
116
+ },
117
+ "151657": {
118
+ "content": "<tool_call>",
119
+ "lstrip": false,
120
+ "normalized": false,
121
+ "rstrip": false,
122
+ "single_word": false,
123
+ "special": false
124
+ },
125
+ "151658": {
126
+ "content": "</tool_call>",
127
+ "lstrip": false,
128
+ "normalized": false,
129
+ "rstrip": false,
130
+ "single_word": false,
131
+ "special": false
132
+ },
133
+ "151659": {
134
+ "content": "<|fim_prefix|>",
135
+ "lstrip": false,
136
+ "normalized": false,
137
+ "rstrip": false,
138
+ "single_word": false,
139
+ "special": false
140
+ },
141
+ "151660": {
142
+ "content": "<|fim_middle|>",
143
+ "lstrip": false,
144
+ "normalized": false,
145
+ "rstrip": false,
146
+ "single_word": false,
147
+ "special": false
148
+ },
149
+ "151661": {
150
+ "content": "<|fim_suffix|>",
151
+ "lstrip": false,
152
+ "normalized": false,
153
+ "rstrip": false,
154
+ "single_word": false,
155
+ "special": false
156
+ },
157
+ "151662": {
158
+ "content": "<|fim_pad|>",
159
+ "lstrip": false,
160
+ "normalized": false,
161
+ "rstrip": false,
162
+ "single_word": false,
163
+ "special": false
164
+ },
165
+ "151663": {
166
+ "content": "<|repo_name|>",
167
+ "lstrip": false,
168
+ "normalized": false,
169
+ "rstrip": false,
170
+ "single_word": false,
171
+ "special": false
172
+ },
173
+ "151664": {
174
+ "content": "<|file_sep|>",
175
+ "lstrip": false,
176
+ "normalized": false,
177
+ "rstrip": false,
178
+ "single_word": false,
179
+ "special": false
180
+ },
181
+ "151665": {
182
+ "content": "<tool_response>",
183
+ "lstrip": false,
184
+ "normalized": false,
185
+ "rstrip": false,
186
+ "single_word": false,
187
+ "special": false
188
+ },
189
+ "151666": {
190
+ "content": "</tool_response>",
191
+ "lstrip": false,
192
+ "normalized": false,
193
+ "rstrip": false,
194
+ "single_word": false,
195
+ "special": false
196
+ },
197
+ "151667": {
198
+ "content": "<think>",
199
+ "lstrip": false,
200
+ "normalized": false,
201
+ "rstrip": false,
202
+ "single_word": false,
203
+ "special": false
204
+ },
205
+ "151668": {
206
+ "content": "</think>",
207
+ "lstrip": false,
208
+ "normalized": false,
209
+ "rstrip": false,
210
+ "single_word": false,
211
+ "special": false
212
+ }
213
+ },
214
+ "additional_special_tokens": [
215
+ "<|im_start|>",
216
+ "<|im_end|>",
217
+ "<|object_ref_start|>",
218
+ "<|object_ref_end|>",
219
+ "<|box_start|>",
220
+ "<|box_end|>",
221
+ "<|quad_start|>",
222
+ "<|quad_end|>",
223
+ "<|vision_start|>",
224
+ "<|vision_end|>",
225
+ "<|vision_pad|>",
226
+ "<|image_pad|>",
227
+ "<|video_pad|>"
228
+ ],
229
+ "bos_token": null,
230
+ "clean_up_tokenization_spaces": false,
231
+ "eos_token": "<|im_end|>",
232
+ "errors": "replace",
233
+ "extra_special_tokens": {},
234
+ "model_max_length": 40960,
235
+ "pad_token": "<|vision_pad|>",
236
+ "padding_side": "right",
237
+ "split_special_tokens": false,
238
+ "tokenizer_class": "Qwen2Tokenizer",
239
+ "unk_token": null
240
+ }
vocab.json ADDED
The diff for this file is too large to render. See raw diff