| 7 | |
| 8 | @dataclass |
| 9 | class CompatibilityResult: |
| 10 | model: ModelInfo |
| 11 | gguf_variant: GGUFVariant | None |
| 12 | can_run: bool |
| 13 | vram_required_bytes: int |
| 14 | vram_available_bytes: int |
| 15 | offload_ratio: float = 0.0 # 0.0-1.0 fraction of weights spilled to CPU RAM |
| 16 | estimated_tok_per_sec: float | None = None |
| 17 | speed_confidence: str = "medium" # "high" | "medium" | "low" |
| 18 | speed_range_tok_per_sec: tuple[float, float] | None = None |
| 19 | speed_notes: list[str] = field(default_factory=list) |
| 20 | warnings: list[str] = field(default_factory=list) |
| 21 | quality_score: float = 0.0 # 0-100 for ranking |
| 22 | fit_type: str = "full_gpu" # "full_gpu" | "partial_offload" | "cpu_only" |
| 23 | benchmark_status: str = "none" # "direct" | "estimated" | "self_reported" | "none" |
| 24 | benchmark_source: str = "none" # granular: "direct" | "variant" | "base_model" | "line_interp" | "self_reported" | "none" |
| 25 | benchmark_confidence: float = 0.0 # 0.0-1.0 from BenchmarkEvidence |
| 26 | context_fits: bool = True # False when known model max context < requested |
| 27 | uses_multi_gpu: bool = False |
| 28 | multi_gpu_effective_vram_bytes: int | None = None |
no outgoing calls