Eval v4: --merged-repo, eos_token_id, deps without unsloth
Browse files- eval_securecoder.py +10 -10
eval_securecoder.py
CHANGED
|
@@ -71,8 +71,9 @@ TOOL_PARAM_PAT = re.compile(r"<parameter=([A-Za-z0-9_]+)>\s*(.*?)\s*</parameter>
|
|
| 71 |
|
| 72 |
def parse_args() -> argparse.Namespace:
|
| 73 |
p = argparse.ArgumentParser(description="SecureCoder evaluations")
|
| 74 |
-
p.add_argument("--adapter", default="Taimwe/securecoder-30b-pro")
|
| 75 |
-
p.add_argument("--base", default="unsloth/Qwen3-Coder-30B-A3B-Instruct")
|
|
|
|
| 76 |
p.add_argument("--out-dir", default="/data/eval-out")
|
| 77 |
p.add_argument("--tool-prompts", type=int, default=80)
|
| 78 |
p.add_argument("--code-prompts", type=int, default=15)
|
|
@@ -372,16 +373,15 @@ def main() -> int:
|
|
| 372 |
log.error("HF_TOKEN not set"); return 1
|
| 373 |
os.makedirs(args.out_dir, exist_ok=True)
|
| 374 |
import torch
|
| 375 |
-
from transformers import AutoTokenizer
|
| 376 |
-
from peft import PeftModel
|
| 377 |
-
from unsloth import FastLanguageModel
|
| 378 |
|
| 379 |
random.seed(args.seed)
|
| 380 |
-
log.info("loading
|
| 381 |
-
|
| 382 |
-
|
| 383 |
-
|
| 384 |
-
|
|
|
|
| 385 |
|
| 386 |
sections = [
|
| 387 |
eval_tool_calls(tokenizer, model, args),
|
|
|
|
| 71 |
|
| 72 |
def parse_args() -> argparse.Namespace:
|
| 73 |
p = argparse.ArgumentParser(description="SecureCoder evaluations")
|
| 74 |
+
p.add_argument("--adapter", default="Taimwe/securecoder-30b-pro", help="(unused when --merged-repo is set)")
|
| 75 |
+
p.add_argument("--base", default="unsloth/Qwen3-Coder-30B-A3B-Instruct", help="(unused when --merged-repo is set)")
|
| 76 |
+
p.add_argument("--merged-repo", default="Taimwe/securecoder-30b-pro-merged", help="merged safetensors repo")
|
| 77 |
p.add_argument("--out-dir", default="/data/eval-out")
|
| 78 |
p.add_argument("--tool-prompts", type=int, default=80)
|
| 79 |
p.add_argument("--code-prompts", type=int, default=15)
|
|
|
|
| 373 |
log.error("HF_TOKEN not set"); return 1
|
| 374 |
os.makedirs(args.out_dir, exist_ok=True)
|
| 375 |
import torch
|
| 376 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
|
|
|
|
|
| 377 |
|
| 378 |
random.seed(args.seed)
|
| 379 |
+
log.info("loading merged model %s in 4-bit ...", args.merged_repo)
|
| 380 |
+
tokenizer = AutoTokenizer.from_pretrained(args.merged_repo, token=token)
|
| 381 |
+
model = AutoModelForCausalLM.from_pretrained(
|
| 382 |
+
args.merged_repo, token=token, dtype=torch.bfloat16, load_in_4bit=True,
|
| 383 |
+
device_map="auto")
|
| 384 |
+
log.info("model loaded")
|
| 385 |
|
| 386 |
sections = [
|
| 387 |
eval_tool_calls(tokenizer, model, args),
|