@@ -33,6 +33,24 @@ cleanup_files() {
3333 rm result* .txt
3434}
3535
36+ matches_base_response_prefix () {
37+ local output_file=" $1 "
38+ python - " $output_file " << 'PY '
39+ import pathlib
40+ import re
41+ import sys
42+
43+ text = pathlib.Path(sys.argv[1]).read_text()
44+ pattern = re.compile(
45+ r"^<\|im_start\|>user Calculate 15% of 80\?<\|im_end\|><\|im_start\|>assistant:\n"
46+ r"(?:<think>\n)+"
47+ r"Okay, so I need to calculate 15% of 80\.",
48+ re.MULTILINE,
49+ )
50+ sys.exit(0 if pattern.match(text) else 1)
51+ PY
52+ }
53+
3654# Hosting lora adapter in personal repo for now.
3755python -m pip install -q huggingface_hub
3856HF_ADAPTER_REPO=" lucylq/qwen3_06B_lora_math"
@@ -142,6 +160,13 @@ To calculate 15% of 80, we can multiply 80 by 15/100.
142160So, 15% of 80 is equal to (80 * 15) / 100 = 1200 / 100 = 12.
143161#### 12
144162The answer is: 12<|im_end|>"
163+ EXPECTED_QUANT_LORA_ALTERNATE_PREFIX="
164+ <|im_start|>user Calculate 15% of 80?<|im_end|><|im_start|>assistant
165+ To calculate 15% of 80, we can multiply 80 by 15/100.
166+ 80 * 15/100 = 12.
167+ So, 15% of 80 is 12.
168+ #### 12
169+ The answer is: 12<|im_end|>"
145170
146171# Export Quantized PTE, PTD file, no LoRA.
147172# override base.lora_config=null to avoid creating a lora model
@@ -186,7 +211,7 @@ cmake-out/examples/models/llama/llama_main --model_path=qwen_q.pte --data_paths=
186211NOW=$( date +" %H:%M:%S" )
187212echo " Finished at ${NOW} "
188213RESULT=$( cat result.txt)
189- if [[ " ${RESULT} " == " ${EXPECTED_QUANT_PREFIX} " * ]] ; then
214+ if matches_base_response_prefix result.txt ; then
190215 echo " Expected result prefix: ${EXPECTED_QUANT_PREFIX} "
191216 echo " Actual result: ${RESULT} "
192217 echo " Test 3: Success"
@@ -207,12 +232,13 @@ NOW=$(date +"%H:%M:%S")
207232echo " Finished at ${NOW} "
208233
209234RESULT=$( cat result.txt)
210- if [[ " ${RESULT} " == " ${EXPECTED_QUANT_LORA_PREFIX} " * ]]; then
235+ if [[ " ${RESULT} " == " ${EXPECTED_QUANT_LORA_PREFIX} " * ]] || [[ " ${RESULT} " == " ${EXPECTED_QUANT_LORA_ALTERNATE_PREFIX} " * ]] ; then
211236 echo " Expected result prefix: ${EXPECTED_QUANT_LORA_PREFIX} "
212237 echo " Actual result: ${RESULT} "
213238 echo " Test 4: Success"
214239else
215240 echo " Expected result prefix: ${EXPECTED_QUANT_LORA_PREFIX} "
241+ echo " Alternate expected result prefix: ${EXPECTED_QUANT_LORA_ALTERNATE_PREFIX} "
216242 echo " Actual result: ${RESULT} "
217243 echo " Test 4: Failure; results not the same"
218244 cleanup_files
0 commit comments