Model: Auto detect model backend from config

* Use exllamav3 for exl3 models, exllamav2 otherwise
This commit is contained in:
DocShotgun
2025-05-06 18:51:58 -07:00
parent bc0a84241a
commit f8070e7707
6 changed files with 35 additions and 10 deletions

View File

@@ -1,7 +1,7 @@
import aiofiles
import json
import pathlib
from typing import List, Optional, Union
from typing import Dict, List, Optional, Union
from pydantic import BaseModel
@@ -42,6 +42,8 @@ class HuggingFaceConfig(BaseModel):
Will be expanded as needed.
"""
quantization_config: Optional[Dict] = None
@classmethod
async def from_file(cls, model_directory: pathlib.Path):
"""Create an instance from a generation config file."""
@@ -54,6 +56,14 @@ class HuggingFaceConfig(BaseModel):
hf_config_dict = json.loads(contents)
return cls.model_validate(hf_config_dict)
def quant_method(self):
"""Wrapper method to fetch quant type"""
if isinstance(self.quantization_config, Dict):
return self.quantization_config.get("quant_method")
else:
return None
class TokenizerConfig(BaseModel):
"""