cai/benchmarks
lidia9 312cdf3499 update readme 2025-05-09 11:21:24 +02:00
..
cti_bench@7e87d5ef7c add ctibenchmark 2025-05-09 07:39:39 +02:00
cybermetric Retry openai 9 2025-05-08 19:42:00 +02:00
seceval add cybermetric 2025-05-08 14:00:33 +02:00
README.md update readme 2025-05-09 11:21:24 +02:00
eval.py try pipleni 1 2025-05-09 10:39:50 +02:00

README.md

AI Model Evaluation Benchmarks

This chapter is a curated collection of benchmark datasets and evaluation tools designed to assess the capabilities of custom AI models, particularly in domains related to cybersecurity.

The collection is intended to support researchers and developers who are evaluating their own models using reliable, task-specific benchmarks.

Currently, this are the benchmarks included:

Benchmark Description
SecEval Benchmark designed to evaluate large language models (LLMs) on security-related tasks. It includes various real-world scenarios such as phishing email analysis, vulnerability classification, and response generation.
CyberMetric Benchmark framework that focuses on measuring the performance of AI systems in cybersecurity-specific question answering, knowledge extraction, and contextual understanding. It emphasizes both domain knowledge and reasoning ability.
CTIBench Benchmark focused on evaluating LLM models' capabilities in understanding and processing Cyber Threat Intelligence (CTI) information.

The goal is to consolidate diverse evaluation tasks under a single framework to support rigorous, standardized testing.

📊 General Summary Table

Model SecEval CyberMetric Total Value
model_name XX.X% XX.X% XX.X%

▶️ Usage

git submodule update --init --recursive  # init submodules
python benchmarks/eval.py --model MODEL_NAME --dataset_file INPUT_FILE --eval EVAL_TYPE --backend BACKEND
Arguments:
    -m, --model         # Specify the model to evaluate (e.g., "gpt-4", "ollama/qwen2.5:14b")
    -d, --dataset_file  # IMPORTANT! By default: small test data of 2 samples 
    -B, --backend       # Backend to use: "openai", "openrouter", "ollama" (required)
    -e, --eval          # Specify the evaluation benchmark

Output:
   outputs/
   └── benchmark_name/
       └── model_date_random-num/
           ├── answers.json       # the whole test with LLM answers
           └── information.txt    # report of that precise run (e.g. model_name, benchmark_name, metrics, date)

Examples

python benchmarks/eval.py --model ollama/qwen2.5:14b --dataset_file benchmarks/cybermetric/CyberMetric-2-v1.json --eval cybermetric --backend ollama
python benchmarks/eval.py --model ollama/qwen2.5:14b --dataset_file benchmarks/seceval/eval/datasets/questions-2.json --eval seceval --backend ollama
python benchmarks/eval.py --model ollama/qwen2.5:14b --dataset_file benchmarks/cti_bench/data/cti-mcq1.tsv --eval cti_bench --backend ollama
python benchmarks/eval.py --model ollama/qwen2.5:14b --dataset_file benchmarks/cti_bench/data/cti-ate2.tsv --eval cti_bench --backend ollama
python benchmarks/eval.py --model qwen/qwen3-32b:free --dataset_file benchmarks/cybermetric/CyberMetric-2-v1.json --eval cybermetric --backend openrouter