|
|
|
|
|
""" |
|
|
Check mlx-lm version and compatibility |
|
|
""" |
|
|
|
|
|
import importlib.metadata |
|
|
import logging |
|
|
|
|
|
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') |
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
def check_versions(): |
|
|
"""Check installed package versions""" |
|
|
try: |
|
|
|
|
|
mlx_lm_version = importlib.metadata.version('mlx-lm') |
|
|
logger.info(f"π¦ mlx-lm version: {mlx_lm_version}") |
|
|
except importlib.metadata.PackageNotFoundError: |
|
|
logger.error("β mlx-lm not installed") |
|
|
return |
|
|
|
|
|
try: |
|
|
|
|
|
mlx_version = importlib.metadata.version('mlx') |
|
|
logger.info(f"π MLX version: {mlx_version}") |
|
|
except importlib.metadata.PackageNotFoundError: |
|
|
logger.error("β MLX not installed") |
|
|
return |
|
|
|
|
|
|
|
|
logger.info("\nπ‘ Version-specific notes:") |
|
|
if mlx_lm_version.startswith('0.0.'): |
|
|
logger.info(" - Use: generate(model, tokenizer, prompt, max_tokens)") |
|
|
logger.info(" - Optional: temp, top_p parameters") |
|
|
else: |
|
|
logger.info(" - Check documentation for parameter names") |
|
|
logger.info(" - Some parameters may have changed") |
|
|
|
|
|
def show_available_parameters(): |
|
|
"""Show available parameters for generate function""" |
|
|
logger.info("\nπ Available generate parameters (typical):") |
|
|
logger.info(" - prompt: str (required)") |
|
|
logger.info(" - max_tokens: int (default: 100)") |
|
|
logger.info(" - temp: float (temperature, default: 0.0)") |
|
|
logger.info(" - top_p: float (nucleus sampling, default: 1.0)") |
|
|
logger.info(" - verbose: bool (show progress, default: False)") |
|
|
logger.info(" - repetition_penalty: float (default: 1.0)") |
|
|
|
|
|
if __name__ == "__main__": |
|
|
check_versions() |
|
|
show_available_parameters() |