这是科学论文中提出的解决方案的实现:Evaluating Context Segmentation in Locally Deployable SLMs for Cybersecurity CTF Tasks
确保你已安装 Python 3.12.3+ 以及 Docker engine
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -r requirements.txt
使用 Vulkan 启动 llama.cpp
docker compose --profile vulkan up -d
或使用 Cuda
docker compose --profile cuda up -d
从 HuggingFace 下载你所需的大语言模型(LLM)的 GGUF 格式,然后构建 intercode-ctf 容器。
docker exec -it llamacpp ./llama-cli -hf unsloth/gemma-4-E2B-it-GGUF:Q4_K_M # or any other GGUF model on HF
docker build -t intercode-ctf -f intercode/docker/ctf.Dockerfile ./intercode
docker restart llamacpp
运行 N 次某种策略(plain 或 explorer)的基准测试
这会将结果累积到 $MODEL_NAME.$STRATEGY.bench 文件中
OPENAI_API_BASE=http://127.0.0.1:8080/ \
OPENAI_API_KEY=1234 \ #Mock key (we run locally)
python3 intercode_test.py \
--model unsloth/gemma-4-E2B-it-GGUF:Q4_K_M \ #HF model
--strategy plain \ #plain or explorer
--count 1 #N
查看基准测试结果
jq '.' gemma-4-E2b-it-GGUF:Q4_K_M.plain.bench
intercode 目录中的代码取自 princeton-nlp/intercode,并经过调整以适用于我们的设置。