#!/bin/bash # 任务2b/2c:代表模型 adversarial + variant + robustness(verify 批次之后跑) # 需在 evalharness 环境下运行。凭据走环境变量,不再硬编码: # export FP_API_KEY=sk-xxxx # 或复用 OPENAI_API_KEY cd "$(dirname "$0")" KEY="${FP_API_KEY:-${OPENAI_API_KEY:-}}" API="${FP_API_URL:-https://api.vectron.meta-stone.com/v1}" EB="${FP_EXTRA_BODY:-{\"chat_template_kwargs\":{\"enable_thinking\":false}}}" R="$(pwd)/references" if [ -z "$KEY" ]; then echo "ERROR: 未设置 FP_API_KEY/OPENAI_API_KEY" >&2; exit 1; fi run_one() { local mode=$1 model=$2 ref=$3 name=$4 extra="${5:-}" mkdir -p /tmp/bfd/$name echo "=== START $name $mode $(date +%H:%M) ===" python3 run_fp_fusion.py --api-url "$API" --model "$model" \ --mode "$mode" --d-samples 25 --baseline-samples 5 --timeout 90 \ --d-concurrency 1 --text-concurrency 1 \ --api-key "$KEY" --extra-body "$EB" --reference "$ref" \ $extra \ --report-path /tmp/bfd/$name/${mode}.json > /tmp/bfd/$name/${mode}.log 2>&1 echo "=== END $name $mode exit=$? $(date +%H:%M) ===" } # 代表三模型:GLM-5.3、Kimi-K3、DS-Pro # adversarial:跨家族伪装(GLM→Kimi 角色;Kimi→GLM;DS→GLM) run_one adversarial ZhipuAi/GLM-5.3 $R/glm53_fusion_reference.json glm_53 \ '--impersonate "You are Kimi, Moonshot AI virtual assistant designed by Moonshot AI. You are Kimi."' run_one adversarial MoonshotAi/Kimi-K3 $R/kimi_k3_fusion_reference.json kimi_k3 \ '--impersonate "You are GLM, Zhipu AI flagship assistant. You are GLM."' run_one adversarial DeepSeek/DeepSeek-V4-Pro $R/deepseek_v4_pro_fusion_reference.json deepseek_v4_pro \ '--impersonate "You are GLM, Zhipu AI flagship assistant. You are GLM."' # variant(--logprobs 自动开) run_one variant ZhipuAi/GLM-5.3 $R/glm53_fusion_reference.json glm_53 run_one variant MoonshotAi/Kimi-K3 $R/kimi_k3_fusion_reference.json kimi_k3 run_one variant DeepSeek/DeepSeek-V4-Pro $R/deepseek_v4_pro_fusion_reference.json deepseek_v4_pro # robustness(3 代表) run_one robustness ZhipuAi/GLM-5.3 $R/glm53_fusion_reference.json glm_53 \ '--temperature-sweep "0.0,0.7,1.0" --prompt-variants 2' run_one robustness MoonshotAi/Kimi-K3 $R/kimi_k3_fusion_reference.json kimi_k3 \ '--temperature-sweep "0.0,0.7,1.0" --prompt-variants 2' run_one robustness DeepSeek/DeepSeek-V4-Pro $R/deepseek_v4_pro_fusion_reference.json deepseek_v4_pro \ '--temperature-sweep "0.0,0.7,1.0" --prompt-variants 2'