Есть у QLabel есть одна особенность. Её минимальный размер определяется текстом, который в неё записан. Это приводит к тому что длинный текст принудительно увеличивает ширину интерфейса.
В большинстве случаев это выглядит плохо.
Как с этим бороться?
🔸 Обрезать текст заранее, задав лимит по длине строки. В этом случае мы теряем часть визуальной информации. Не всегда угадаешь нужный размер. В разных OS шрифт используется разный.
🔸 Делать перенос строки. Тогда мы получим изменение размера в другую сторону, что тоже поломает интерфейс.
🔸 Переопределить paintEvent() и сделать кастомный рендеринг текста. Можно, но слишком сложно для такой задачи.
Проще всего обрезать текст под текущий размер виджета используя класс QFontMetrics.
Он имеет готовый метод elidedText(), который просто вызываем по событию resizeEvent.
Я также добавил установку ToolTip чтобы всегда можно было увидеть полный текст при наведении курсора.
🌎 Код здесь
#qt#source
🌟 VimRAG: мультимодальный RAG-агент, который держит контекст в виде графа памяти.
Tongyi Lab (Alibaba Group) опубликовала VimRAG - фреймворк агентного RAG для работы с текстом, изображениями и видео.
Проект развивает прошлогодний VRAG-RL и решает проблему мультимодального RAG: визуальные данные тяжелые по токенам, но семантически разрежены, а классическая ReAct-история забивает контекст шумом и провоцирует повторные бесполезные запросы к поиску.
Вместо журнала наблюдений VimRAG моделирует рассуждение как динамический направленный ацикличный граф. Каждая вершина хранит подзапрос, действие агента, текстовое саммари и банк визуальных токенов.
Ребра фиксируют логические зависимости между шагами. Такой граф позволяет агенту отличать тупиковую ветку от новой гипотезы и не уходить в циклы повторных поисков.
🟡Поверх графа работает Graph-Modulated Visual Memory Encoding.
Бюджет визуальных токенов распределяется с учетом исходящей степени в графе, экспоненциального временного затухания (имитация забывания) и рекурсивной обратной связи от потомков.
Ключевым фрагментам достается высокое разрешение, а второстепенные кадры сжимаются или отбрасываются. Для видео задействована способность VLM привязывать содержимое к временной шкале (извлечение ключевых кадров по таймкодам).
🟡Третий компонент - Graph-GPO.
GGPO строит критический путь от корня к ответу и накладывает градиентную маску, исключая тупиковые узлы из положительных примеров, а ценные ретривы - из отрицательных.
По графикам обучения это дает более быструю сходимость, чем базовый GSPO без прунинга.
🟡Тесты
🟢VimRAG обходит Vanilla RAG, ReAct, VideoRAG, UniversalRAG, MemAgent и Mem1 на 9 бенчмарках (HotpotQA и SQuAD до SlideVQA, MMLongBench, LVBench и XVBench).
🟢На Qwen3-VL-8B-Instruct средний скор поднимается с 43,6 до 50,1, на 4B-версии - с 40,6 до 45,2.
При этом средняя длина траектории ниже, чем у ReAct и Mem1: структурированная память съедает меньше действий на ответ.
В репозитории доступны:
🟠тренировочный фреймворк VRAG-RL, демо VRAG на тестовой Qwen2.5-VL-7B-VRAG через vLLM (нужна A100 80GB);
🟠демо на API Qwen3.5-Plus через DashScope (с визуализацией DAG рассуждения и расширенным ризонингом).
Поисковый движок построен на FAISS и поддерживает эмбеддинги GVE-3B/7B и Qwen3-VL-Embedding-2B/8B. Индексировать можно изображения, PDF (через конвертацию) и нарезанное на чанки видео.
Код трейна самого VimRAG обещают выложить после внутреннего ревью Alibaba.
🟡Arxiv
🟡Модель
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#RAG#VRAG#TongyiLab
🌟PrismAudio: генерация звука по видео.
Лаборатория Tongyi (Qwen) опубликовала практическую часть проекта PrismAudio, участника ICLR 2026. Это фреймворк для задачи Video-to-Audio, то есть синтеза звуковой дорожки по видео.
Модель разделяет задачу генерации звука на 4 перцептивных измерения и работает с каждым отдельно через специализированные модули рассуждений и соответствующие им функции вознаграждения.
Предшественник PrismAudio, модель ThinkSound, первой применила CoT для V2A: MMLM сначала описывала, какой звук нужен, а затем диффузионная модель его генерировала.
Это было громоздко. ThinkSound использовала единый, монолитный блок рассуждений для всех аспектов звука одновременно.
Когда модель пыталась одновременно понять семантику сцены, выстроить тайминг, оценить эстетику и расположить звук в пространстве - качество каждого измерения страдало.
PrismAudio разбивает процесс рассуждения на 4 независимых CoT-модуля:
🟠Semantic CoT определяет, какие звуковые события соответствуют видеоряду;
🟠Temporal CoT выстраивает их последовательность и синхронизацию;
🟠Aesthetic CoT отвечает за естественность и качество звука;
🟠Spatial CoT — за пространственное позиционирование в стереопанораме.
Каждому модулю назначена своя reward-функция: семантическое соответствие оценивает MS-CLAP от Microsoft, темпоральную синхронизацию Synchformer, эстетику Audiobox Aesthetics, пространственную точность StereoCRW.
Такая архитектура позволяет обучать модель с подкреплением сразу по 4 осям, не жертвуя одним измерением ради другого.
Для RL-обучения авторы предложили Fast-GRPO - модификацию, которая применяет SDE-сэмплирование только в небольшом случайном окне шагов, а остальную траекторию проходит детерминированно через ODE.
По данным техотчета, Fast-GRPO достигает финального результата за 200 шагов обучения вместо 600 и при этом выходит на более высокий итоговый показатель.
🟡Тесты
🟢На VGGSound модель показала CLAP 0,47 против 0,43 у ThinkSound, DeSync 0,41 против 0,55, а ошибку пространственного позиционирования CRW снизила с 13,47 до 7,72.
🟢На внутреннем бенче AudioCanvas, который авторы создали для оценки сложных сцен разрыв еще заметнее: ThinkSound деградирует по темпоральной метрике до 0,80, а PrismAudio удерживает 0,36.
🟢Субъективные оценки MOS-Q и MOS-C также оказались наивысшими среди всех протестированных моделей.
🟢Опубликованная модель PrismAudio показывает самое быстрое время инференса: 0,63 секунды на 9-секундный фрагмент без учета извлечения признаков.
🟡Но вот с извлечением признаков есть нюанс.
По отзывам пользователей, извлечение признаков для 10-секундного видео требует около 43 ГБ видеопамяти.
📌Лицензирование: MIT License.
🟡Страница проекта
🟡Модель
🟡Demo
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#V2A#PrismAudio#TongyiLab