{"library":"qwen-vl-utils","title":"Qwen Vision Language Model Utilities","description":"qwen-vl-utils is a Python utility library designed to simplify interaction with Qwen Vision Language Models (Qwen-VL) within PyTorch environments. It provides functionalities for loading Qwen-VL models and tokenizers, image preprocessing, and generating inferences. Currently at version 0.0.14, it is under active development, implying a potentially rapid release cadence with frequent updates.","language":"python","status":"active","last_verified":"Thu May 21","install":{"commands":["pip install qwen-vl-utils"],"cli":null},"imports":["from qwen_vl_utils.model import load_model_and_tokenizer","from qwen_vl_utils.utils import gen_inference"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import os\nimport torch # Required for device check and dtype\nfrom qwen_vl_utils.model import load_model_and_tokenizer\nfrom qwen_vl_utils.utils import gen_inference\n\n# NOTE: This example requires a Qwen-VL model checkpoint.\n# 1. Download a model, e.g., 'Qwen/Qwen-VL-Chat' from Hugging Face.\n# 2. Set the environment variable QWEN_VL_MODEL_PATH to its local path.\n#    e.g., export QWEN_VL_MODEL_PATH=\"/path/to/Qwen-VL-Chat\"\n\nmodel_path = os.environ.get('QWEN_VL_MODEL_PATH', '')\n\nif not model_path:\n    print(\"WARNING: Please set the QWEN_VL_MODEL_PATH environment variable with your model's local path.\")\n    print(\"Skipping model loading and inference for quickstart.\")\nelse:\n    try:\n        device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n        print(f\"Using device: {device}\")\n\n        # Load model and tokenizer\n        # For Qwen-VL-Chat models, torch.bfloat16 might be preferred for memory/performance if supported.\n        # model, tokenizer = load_model_and_tokenizer(model_path, device=device, torch_dtype=torch.bfloat16)\n        model, tokenizer = load_model_and_tokenizer(model_path, device=device)\n        print(\"Model and tokenizer loaded successfully.\")\n\n        # Example query and image\n        query = \"What objects are in this image?\"\n        # Replace with a real image path (local or URL) for actual inference.\n        # For this example, we'll use a placeholder URL. Real execution requires a valid image.\n        image_input = \"https://img.alicdn.com/imgextra/i3/O1CN01fQxAAx1hN0g3bM0d8_!!6000000004245-2-tps-1000-1000.png\"\n\n        # Generate inference\n        print(f\"Generating inference for query: '{query}' with image: {image_input}\")\n        response = gen_inference(model, tokenizer, query, image_input)\n\n        print(\"\\n--- Qwen-VL Inference Result ---\")\n        print(response)\n        print(\"----------------------------------\")\n\n    except Exception as e:\n        print(f\"\\nAn error occurred during quickstart execution: {e}\")\n        print(\"Please ensure your model path is correct, PyTorch with CUDA is installed (if using GPU), and all dependencies are met.\")\n","lang":"python","description":"Demonstrates how to load a Qwen-VL model and its tokenizer, then use them to perform visual question answering with a given image and text query. It includes safeguards for model path availability and device selection (CPU/CUDA).","tag":null,"tag_description":null,"last_tested":"2026-04-25","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":1},{"runtime":"python:3.11-slim","exit_code":1},{"runtime":"python:3.12-alpine","exit_code":1},{"runtime":"python:3.12-slim","exit_code":1},{"runtime":"python:3.13-alpine","exit_code":1},{"runtime":"python:3.13-slim","exit_code":1},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-21","installed_version":"0.0.14","pypi_latest":"0.0.14","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":3.8,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"145.5M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.1,"import_time_s":null,"mem_mb":null,"disk_size":"151M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"145.7M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.8,"import_time_s":null,"mem_mb":null,"disk_size":"149M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"137.3M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.4,"import_time_s":null,"mem_mb":null,"disk_size":"141M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"137.1M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.3,"import_time_s":null,"mem_mb":null,"disk_size":"141M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"146.8M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":4.5,"import_time_s":null,"mem_mb":null,"disk_size":"150M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"qwen-vl-utils","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}