| """ |
| Evaluation Configuration — All eval pipeline knobs in one place. |
| """ |
|
|
| from __future__ import annotations |
|
|
| from dataclasses import dataclass, field |
| from typing import Literal |
|
|
|
|
| @dataclass |
| class EvalConfig: |
| num_per_category: int = 50 |
| prompts: list[str] = field(default_factory=lambda: [ |
| "Describe this image.", |
| "Is there a toilet in this image?", |
| ]) |
| max_new_tokens: int = 300 |
|
|
| |
| model_type: Literal["lora", "merged", "delta_w"] = "lora" |
| base_model_name: str = "llava-hf/llava-1.5-7b-hf" |
|
|
| |
| mention_method: Literal["keyword", "llm", "both"] = "both" |
|
|
| |
| clip_model: str = "google/siglip-base-patch16-224" |
|
|
| |
| judge_model: str = "Qwen/Qwen3-VL-32B-Instruct" |
| judge_device: str = "cuda" |
| judge_max_tokens: int = 150 |
|
|
| |
| inference_backend: Literal["transformers", "vllm"] = "vllm" |
| vllm_batch_size: int = 64 |
| vllm_tensor_parallel_size: int = 1 |
| vllm_gpu_memory_utilization: float = 0.9 |
| vllm_max_model_len: int = 4096 |
|
|