В фреймворке PyQt (и PySide тоже) часто встречается настройка чего-либо с помощью так называемых флагов.
widget.setWindowFlags(Qt.Window)
Взаимодействие нескольких флагов делается с помощью бинарных (или побитовых) операторов.
Несколько флагов можно указать с помощью оператора "|"
list_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
исключить флаг из уже имеющегося набора можно так
list_item.setFlags(list_item.flags() ^ Qt.ItemIsEnabled)
Добавить новый флаг к имеющимся можно так
list_item.setFlags(list_item.flags() | Qt.ItemIsEnabled)
А проверка наличия делается так
is_enabled = item.flags() & Qt.ItemIsEnabled > 0
Почему именно так? Всё дело в том как именно работают побитовые операторы. Но об этом в следующем посте.
#qt
Пока весь мир ждет доступа к новой модели со зрением GPT-4V(ision), опенсорс команда (пара азитов со степенью PhD из американских вузов) уже выпустили свой аналог и бесплатную версию #LLaVA (Large Language and Vision Assistant), которая выдает результат (не) хуже GPT4V и может работать локально.
Вот такая скорость развития и конкуренции в этом новом #AI рынке.
🧠LLava - вебсайт
📄WhitePaper
🧬Github code
🔋Demo для потестить на своих дикпиках
🦒Colab (для запуска у себя на серваке)
#python#apple_silicon#florence2#idefics#llava#llm#local_ai#mlx#molmo#paligemma#pixtral#vision_framework#vision_language_model#vision_transformer
MLX-VLM lets you run, chat with, and fine-tune Vision Language Models (VLMs) plus audio/video models on your Mac using MLX—install easily with `pip install -U mlx-vlm`. Use CLI for quick text/image/audio generation (e.g., `mlx_vlm.generate --model ... --image photo.jpg`), Gradio UI for chats, Python scripts, or a FastAPI server with OpenAI-compatible endpoints supporting multi-images/videos. Features like TurboQuant cut KV cache memory by 76%, and LoRA/QLoRA fine-tuning works on consumer hardware. You benefit by experimenting with powerful multimodal AI locally—fast, memory-efficient, no cloud costs, perfect for Mac users tweaking models affordably.
https://github.com/Blaizzy/mlx-vlm