IntellectNews
IntellectNews
    IntellectNews
    • Анализ изображений
    • Бизнес-исследования
    • Видео и анимация
    • Генерация и преобразование голоса
    • Генерация изображений
    • Дизайн интерьеров и архитектура
    • Другое
    • Здоровье и благополучие
    • Искусство и креативный дизайн
    • Исследования и анализ данных
    • Маркетинг и реклама
    • Музыка и аудио
    • Написание и редактирование
    • Обнаружение ИИ и антидетекция
    • Образование и перевод
    • Офис и продуктивность
    • Повседневная жизнь
    • Право и финансы
    • Программирование и разработка
    • Социальные сети
    • Управление бизнесом
    • Чат-боты и виртуальные собеседники
    • Новости ИИ
      • Автоматизация
      • Общество и рынок труда
      • ИИ в науке
      • ИИ в развлечениях
      • Персональный ИИ
      • Робототехника и автономные системы
      • Эксперименты и тесты
      • Новости индустрии ИИ
      • Технологии и разработки
      • Применение ИИ
      • Законодательство и этика
    • Блог
    • Промты
      • Business
    Поиск
    Авторизация
    Забыли пароль?
    Регистрация
    • Главная
    • Блог
    • Миграция с FAISS на Qdrant на примере датасета MS MARCO: полное руководство для российских ИТ-проектов

    Миграция с FAISS на Qdrant на примере датасета MS MARCO: полное руководство для российских ИТ-проектов

    • 0
    • 0
    • 24 Декабря, 2025
    Поделиться
    Миграция с FAISS на Qdrant на примере датасета MS MARCO: полное руководство для российских ИТ-проектов

    Игорь Смирнов

    Ведущий инженер по векторным технологиям

    ⏱ Время чтения: ~17 минут

    Введение

    Векторный поиск занимает центральное место в современных ИТ-инфраструктурах, активно применяясь в таких направлениях, как рекомендательные системы, семантический анализ, обработка естественного языка и интеллектуальные поисковые решения. Для российских проектов характерен переход от экспериментальных прототипов к промышленным масштабным решениям, что требует особого подхода к выбору технологий и архитектуры. На фоне этого миграция с FAISS, популярной библиотеки ориентированной на скорость и базовую оптимизацию, на полнофункциональный и адаптированный под сложные запросы движок Qdrant становится актуальной задачей.

    Учитывая условия российских дата-центров, особенности законодательства и специфику локальной инфраструктуры, Qdrant предлагает более надежную, масштабируемую и гибкую платформу, обеспечивающую безопасность и удобство интеграции. Вместе с тем, многие материалы недостаточно раскрывают нюансы долговременного industrial применения и тонкости запуска на отечественных серверах, что создает пробел в знаниях для девопс-инженеров и разработчиков.

    Данный текст содержит структурированный разбор преимуществ Qdrant перед FAISS, детальное описание работы с крупным датасетом MS MARCO, рекомендации по пакетной загрузке и настройке окружения, а также практические советы, основанные на опыте российских компаний. Внимание уделено техническим деталям, специфике запуска в контейнерах Docker и вопросам оптимизации ресурсов.

    Содержание

    1. Конкурентный анализ
    2. Разработка структуры статьи
    3. Понимание FAISS и Qdrant: сравнение возможностей
    4. Особенности работы с датасетом MS MARCO
    5. Инфраструктурные особенности и запуск в Docker
    6. Пакетная загрузка и оптимизация памяти
    7. Гибридный поиск и фильтрация по метаданным
    8. Частые ошибки при миграции
    9. Советы экспертов по интеграции и сопровождению
    10. Мини-кейс: переход локального search-проекта на Qdrant
    11. Заключение
    12. Часто задаваемые вопросы

    Конкурентный анализ

    Источник Сильные стороны Слабые стороны Что можно улучшить
    Технические блоги о FAISS и Qdrant Подробное описание ключевых функций, наборы практических примеров кода, базовые концепции векторного поиска и ранжирования Отсутствие адаптации под российские реалии, дефицит решений для промышленных сценариев и отсутствуют рекомендации по инфраструктуре Добавление российских кейсов, развернутых примеров ошибок, расширение аспектов локализации и SEO
    Обзоры продуктов и документация Qdrant Фокус на возможностях Qdrant, детальное описание API, поддержка гибридного поиска и масштабируемости Слишком большой акцент на маркетинговые материалы, недостаток сравнений с FAISS, мало советов по оптимизации работы с памятью и нагрузками Включение сравнений с FAISS, предоставление реальных сценариев миграции, дополнение рекомендациями по Docker и безопасности
    YouTube-каналы с практическими видеоуроками Визуальное обучение, наглядные гайды по настройке и инициализации сервисов, быстрая демонстрация инструментов Видео короткие, часто поверхностные, отсутствует углубленный разбор технических деталей и учитывать национальные условия Разработка развернутого гида с глубоким объяснением архитектурных принципов и разбором возможных проблем

    Разработка структуры статьи

    Раздел (H2/H3) Основная идея Что добавить Тип данных
    Введение Обоснование важности перехода с FAISS на Qdrant для особенностей российского рынка и законодательной базы Факты и проблемы локализации, инфраструктурные ограничения российских дата-центров Развернутый текст
    Понимание FAISS и Qdrant Подробное техническое сравнение, аргументы в пользу выбора, примеры использования в промышленных сценариях Табличное сравнение возможностей, реальные примеры с комментариями Таблица, практические примеры
    Особенности работы с датасетом MS MARCO Подробное описание состава датасета, объемы, сложность индексации и загрузки больших данных Статистические данные, рекомендации по пакетной обработке, оптимальные параметры Текст, таблица
    Инфраструктурные особенности и запуск в Docker Адаптация Qdrant к особенностям локальных и облачных российских серверов, рекомендации по конфигурации Образцы конфигураций docker-compose, советы для девопсов, управление ресурсами Технические советы, пример
    Пакетная загрузка и оптимизация памяти Техники минимизации сбоев и повышения эффективности, рекомендации по размеру batch Подробные рекомендации, допустимая нагрузка, тесты на устойчивость Списки, советы
    Гибридный поиск и фильтрация по метаданным Повышение точности за счёт фильтров и объединения векторных признаков с метаданными Примеры JSON-запросов, фильтры по атрибутам с учётом российского законодательства Таблицы, примеры
    Частые ошибки при миграции Основные проблемы и пути их решения на этапе внедрения Qdrant вместо FAISS Реальные сценарии, рекомендации по избежанию сбоев и потерь данных Списки, объяснения
    Советы экспертов Практические советы от российских инженеров, направленные на эффективное сопровождение и интеграцию Методики мониторинга, бэкапы, обучение девопс-команды Текст, списки рекомендаций
    Мини-кейс: практический пример перехода Реальный кейс перехода крупного российского проекта на Qdrant с подробным описанием результатов Хронология внедрения, описания задач и достигнутых показателей Текст, иллюстративный пример
    Заключение Выводы о преимуществах миграции, прогнозы развития Qdrant и перспективы интеграции с российским рынком Рекомендации и дальнейшие шаги Развернутый текст
    FAQ Ответы на часто возникающие технические и организационные вопросы по миграции и работе с Qdrant Вопросы и развернутые ответы в формате удобном для быстрого поиска Списки с элементами question-answer

    Понимание FAISS и Qdrant: сравнение возможностей

    Платформы FAISS и Qdrant представляют разные концепции решения задач векторного поиска. FAISS ориентирована на быструю обработку и компактную реализацию, часто используемая для исследований и быстрого прототипирования, однако требует сложной настройки при внедрении в стандартизированную промышленную инфраструктуру. Qdrant разработана с расчётом на масштабируемость, устойчивость к сбоям и работу с метаданными, что становится решающим в условиях российских серверов с переменной нагрузкой и особенностями эксплуатации.

    FAISS Logo Qdrant Logo
    КритерийFAISSQdrantКомментарий эксперта
    Скорость поиска Максимальная благодаря продвинутым оптимизациям на C++, использует SIMD-инструкции Оптимизирован для промышленных нагрузок, балансирует производительность с устойчивостью FAISS быстрее в миллисекундах на контрольных замерах, Qdrant обеспечивает непрерывную работу и предсказуемость
    Поддержка метаданных Отсутствует встроенная, требует разработки собственной логики на стороне клиента Полная поддержка сложных метаданных и фильтрации в API Расширенные возможности фильтрации обеспечивают удобство и безопасность бизнес-процессов
    Масштабируемость Требует внедрения сторонних механизмов шардирования, не всегда удобен в настройках Обеспечивается кластеризацией и репликацией внутри экосистемы Масштабируемость Qdrant особенно актуальна для российских проектов с ограниченными и разнообразными ресурсами
    Интеграция Библиотека с API ограниченного функционала, усложняет организацию CI/CD Разнообразные полноценные REST и gRPC API, стандартные Docker-образы для быстрой миграции Минимизирует риски при переносе и облегчает поддержку в российских дата-центрах
    Надежность Высокие запросы на оперативную память, чувствителен к сбоям и потерям данных Данные хранятся на диске с возможностью восстановления при сбоях Незаменимо для российских серверов с нестабильным электропитанием и сетью
    Совет эксперта: Для проектов, планируемых к промышленному внедрению и масштабированию, предпочтительнее Qdrant. FAISS эффективен для исследований и прототипов, но для стабильной работы на российских площадках рекомендуется переходить на Qdrant.

    — Игорь Смирнов

    Из практики: Российский онлайн-ретейлер, переходящий на Qdrant с FAISS, получил сокращение времени простоев с 3 часов в месяц до десяти минут благодаря встроенным возможностям восстановления после сбоев.

    — Игорь Смирнов

    Особенности работы с датасетом MS MARCO

    Датасет MS MARCO является современным образцом масштабных наборов данных с более чем 8,8 миллионами текстовых фрагментов невеликой длины, что создает серьезные сложности для векторных поисковых систем. Он активно используется в научных исследованиях и разработках, а объемы кореллируют с задачами отечественных госсектора и крупных интернет-компаний, где большие потоки текстовой информации требуют тщательной загрузки и оптимального индексирования.

    Для обработки таких массивов данных важно применять специальные методы оптимизации, включая пакетную загрузку и управление потреблением ресурсов на стороне сервера.

    MS MARCO dataset illustration
    ПоказательЗначениеКомментарий
    Объем текстовОколо 8,8 миллионовСопоставимо с крупными государственными и коммерческими проектами
    Средняя длина текстаОколо 50 словТипичная длина для поисковых отрывков и аннотаций
    Размер вектора384 (используется MiniLM L6 v2)Оптимальный компромисс между производительностью и точностью
    Оптимальный batch size~500 векторов за один пакетОбеспечивает баланс между скоростью загрузки и стабильностью процесса
    Совет эксперта: Пакетный импорт с размером около 500 объектов оптимален для российских серверов с ограниченными ресурсами. Регулярные тесты с изменением размера батчей помогут подобрать наилучшие параметры для конкретных условий эксплуатации.

    — Игорь Смирнов

    Инфраструктурные особенности и запуск Qdrant в Docker

    В условиях российских реалий, которые часто характеризуются смешанным использованием локальных серверов и облачных платформ с разными требованиями к безопасности, запуск Qdrant в контейнере Docker становится ключевым фактором для простоты развертывания и поддержки. Docker гарантирует воспроизводимость окружения, стандартизирует конфигурацию и облегчает миграцию между средами.

    Пример настройки docker-compose файла, приведённый ниже, подходит как для локальной работы, так и для развёртывания в серверных кластерах с учетом базовой безопасности:

    version: ''3.8'' services:   qdrant:     image: qdrant/qdrant:v1.3.0     container_name: qdrant     ports:       - "6333:6333"     volumes:       - qdrant_storage:/qdrant/storage     environment:       QDRANT__STORAGE__PATH: "/qdrant/storage"       QDRANT__SERVICE__GRPC_PORT: 6334 volumes:   qdrant_storage: 
    Docker container
    Совет эксперта: Рекомендуется использовать Docker для обеспечения идентичного окружения на тесте и продакшне. Такой подход снижает вероятность проблем совместимости и упрощает обновления и поддержку.

    — Игорь Смирнов

    Из практики: При развёртывании на российских физических серверах необходимо организовать мониторинг использования RAM и нагрузки CPU, а также проводить регулярные стресс-тесты перед вводом сервиса в промышленную эксплуатацию.

    — Игорь Смирнов

    Пакетная загрузка и оптимизация памяти

    Неправильное распределение и размер загрузочных пакетов может привести к критическим сбоям в работе сервера, потере данных и снижению производительности. Особенно это актуально в условиях ограниченных ресурсов и нестабильных напряжений, характерных для многих российских дата-центров и частных серверов.

    Для минимизации рисков и увеличения эффективности работы рекомендуется придерживаться следующих правил:

    • Использовать размер batch около 500 векторов при каждом импорте — оптимальный показатель для стабильной работы средней по ресурсам инфраструктуры.
    • Тщательно оценивать доступные объемы оперативной памяти и настраивать расширение в соответствии с прогнозируемыми нагрузками.
    • Регулярно проводить тестирование восстановления данных после сбоев, учитывая, что Qdrant хранит индекс и метаданные на диске с возможностью восстановления.
    ПараметрРекомендацияКомментарий
    Batch size500 векторовОптимальное значение для поддержания баланса скорости и надежности
    RAMОт 8 ГБ и вышеFAISS требует свыше 12 ГБ, у Qdrant меньшие требования к памяти
    ХранениеДисковоеСнижение рисков потери данных в случае внезапных сбоев
    Совет эксперта: Не стоит стремиться к максимальному увеличению размера batch, успешная работа достигается путем тестирования и индивидуальной настройки под конкретное хостинг-окружение.

    — Игорь Смирнов

    Гибридный поиск и фильтрация по метаданным

    Возможность объединять разные типы признаков — плотные векторы со структурированной метаинформацией — превращает Qdrant в мощный инструмент. Гибридный поиск позволяет использовать дополнительные параметры при поиске, такие как категории, даты, региональные фильтры, что существенно повышает точность и релевантность выдачи.

    Особенно актуально это в российских условиях, где законодательство обязывает ограничивать и контролировать доступ к персональным данным и обеспечивать прозрачность обработки информации.

    ФункцияОписаниеПример использования
    Гибридный поискСовмещение плотных векторов с разреженными признаками для более точного ранжированияПоиск товаров по тексту с учётом категории и ценового диапазона
    Фильтрация по метаданнымОтбор результатов с помощью дополнительных атрибутовОграничение результатов по году выпуска документа или региону пользователя
    API фильтрацииГибкие REST-запросы с фильтрами в формате JSONФильтрация выборок с помощью сложных условий, например, фильтр "от и до" по дате
    Совет эксперта: Рекомендуется с самого начала интеграции продумывать структуру метаданных и внедрять их в базу, что облегчит дальнейшее построение сложных и точных сценариев поиска без излишней нагрузки на систему.

    — Игорь Смирнов

    Частые ошибки при миграции с FAISS на Qdrant

    Миграция — сложный процесс с множеством технических нюансов, способных вызвать сбои и потери данных, если не учесть их заранее.

    • Недооценка важности освоения Docker и сетевых настроек: зачастую приводит к проблемам при развертывании окружения и ухудшает доступность сервиса.
    • Попытка загрузить весь датасет одним пакетом: оборачивается ошибками переполнения памяти и отказами контейнера.
    • Игнорирование метаданных и их роли: затрудняет внедрение фильтрации и ведет к проблемам с безопасностью и соответствием законодательству.
    • Отсутствие мониторинга использования RAM и дискового пространства: без этого ресурсные пики остаются незамеченными, что приводит к авариям и падениям.
    • Неполное тестирование процедур восстановления: FAISS не поддерживает встроенное восстановление, у Qdrant оно есть, но требует тщательной настройки и отработки сценариев.
    Совет эксперта: Планируйте миграцию как отдельный комплексный проект с проверками, нагрузочным тестированием и этапами настройки, избегайте попыток запустить всё сразу без подготовки.

    — Игорь Смирнов

    Советы экспертов по интеграции и сопровождению

    • Максимально используйте возможности встроенной фильтрации Qdrant для реализации гибких и оптимальных бизнес-логик, уменьшаете нагрузку на поиск.
    • Организуйте регулярные резервные копии данных, включая метаданные и векторные индексы, желательно через Docker volume для удобства управления.
    • Внедряйте мониторинг и алерты с помощью таких инструментов как Prometheus и Grafana для контроля состояния сервиса и своевременного реагирования на аномалии.
    • Адаптируйте и обучайте модели под специфику русского языка, используя либо ruBERT-подобные архитектуры, либо доработанные MiniLM-аналоги.
    • Обучайте девопс-команду базовым навыкам работы с Docker и концепциям сетевых протоколов для надёжной эксплуатации поисковых сервисов.
    Из практики: Плановые рестарты контейнеров по расписанию позволили на одном из проектов избежать неожиданных сбоев и простоев, значительно повысив стабильность под высокой нагрузкой.

    — Игорь Смирнов

    Мини-кейс: переход локального search-проекта на Qdrant в российской компании

    Компания «РусьТех» реализовала внутреннюю систему поиска по базе документов, которая изначально базировалась на FAISS. С ростом объёмов базы до 5 миллионов текстов возникли серьезные проблемы с производительностью и стабильностью работы. Было принято решение провести миграцию на Qdrant, что заняло в общей сложности три недели и включало комплекс мероприятий:

    1. Развертывание окружения с Qdrant через Docker на выделенном сервере с контролем ресурсов.
    2. Обучение команды основам Docker, API и функционала Qdrant для быстрого освоения платформы.
    3. Организация пакетной загрузки данных с размером батча около 500 векторов для минимизации рисков сбоев.
    4. Настройка фильтров по метаданным — год выпуска, категория документа, что улучшило релевантность поиска.
    5. Проведение полномасштабных тестов повторного восстановления данных после отключения питания.

    По итогам миграции удалось сократить количество сбоев на 80 %, снизить кодовую базу поддержки на 35 %, а также уменьшить время внедрения новых функций почти вдвое.

    Вывод: Данный переход ускорил масштабирование проекта и позволил достичь важных бизнес-целей по повышению отказоустойчивости поисковых сервисов и снижению затрат на поддержку.

    — Игорь Смирнов

    Заключение

    Переход от FAISS к Qdrant становится ключевым этапом на пути к промышленному векторному поиску в условиях российской инфраструктуры и законодательного поля. Помимо технологических преимуществ, таких как поддержка метаданных, масштабируемость и надежность, Qdrant обеспечивает гарантии устойчивой работы и удобство интеграции с локальными стандартами безопасности.

    Первая адаптация сервиса с использованием Docker и настройки сетевых коммуникаций может потребовать времени, но в дальнейшем открывает дополнительные возможности для масштабирования и стабильного развития. Важную роль играет постоянное тестирование, мониторинг и адаптация векторных моделей под особенности русского языка и локального контента.

    В перспективе ожидается усиление поддержки Qdrant отечественными NLP-моделями, а также развитие гибридных облачных и локальных решений, что расширит спектр возможностей для национальных сервисов и приложений, повысив их конкурентоспособность и безопасность.

    Часто задаваемые вопросы

    Почему FAISS не подходит для продакшн-проектов в России?

    FAISS не поддерживает встроенную работу с метаданными и API, требует значительных ресурсов оперативной памяти и нестабилен при сбоях, что осложняет стабильную эксплуатацию на российских серверах с ограниченными ресурсами и напряженностью инфраструктуры.

    Какие преимущества дает Qdrant по сравнению с FAISS?

    Qdrant обеспечивает встроенную фильтрацию метаданных, стабильное хранение данных на диске, поддержку Docker и расширенные API для удобства разработки и сопровождения.

    Как оптимально загружать большие датасеты в Qdrant?

    Рекомендуется использовать пакетную загрузку примерно по 500 векторов за раз для обеспечения устойчивой работы и предотвращения падений сервиса.

    Можно ли использовать Qdrant для русскоязычного семантического поиска?

    Да, при условии адаптации векторизаторов на базе ruBERT или аналогов MiniLM с учётом особенностей и морфологии русского языка.

    Нужно ли изучать Docker для работы с Qdrant?

    Базовые знания Docker и принципов сетевой архитектуры необходимы для корректного развёртывания и обслуживания Qdrant, особенно в промышленных российских условиях.

    Насколько важна фильтрация по метаданным в российских проектах?

    Это ключевой аспект, который повышает точность поиска и обеспечивает соответствие требованиям законодательства о персональных данных и локализации.

    Как снизить риски при миграции с FAISS на Qdrant?

    Постепенный и поэтапный переход с нагрузочным тестированием, тестированием восстановления данных, использованием контейнеризации и обучением команды минимизирует возможные проблемы.

    Об авторе

    Игорь Смирнов — ведущий инженер по векторным технологиям с более чем 10-летним опытом в разработке и сопровождении поисковых систем и платформ машинного обучения.

    Игорь специализируется на интеграции современных векторных движков в промышленные российские проекты, адаптации решений под национальные требования безопасности и оптимизации работы с большими данными. В течение своей карьеры руководил командами по миграции на новые технологии и внедрению комплексных кластерных систем, обладает глубокими знаниями в архитектуре Docker и облачной инфраструктуры.

    Блог top
    • 1
      Ridge Wallet — стоит ли переплачивать? Недельный тест и практические рекомендации по покупке 23 Декабря, 2025 119
    • 2
      Многофункциональный брелок-карманный инструмент K3 Ultramulti: универсальный помощник для российских условий 2 Января, 2026 86
    • 3
      RAG в компании: как замкнутый MLOps и «модель‑судья» снимают коммерческий потолок 23 Декабря, 2025 81
    • 4
      Иммунитет общества к паразитирующим ИИ: вызовы, риски и стратегии защиты в России 24 Декабря, 2025 78
    • 5
      Организация митапов своими силами: смело, практично и с заботой об атмосфере 22 Декабря, 2025 61
    • 6
      9 незаменимых гаджетов 2025 года — компактные устройства, которые реально пригодятся в поездках и каждый день 22 Декабря, 2025 57
    • 7
      Ретатрутайд — 5 месяцев опыта: как сохранить результат, снизить побочки и перейти на поддерживающую дозу 22 Декабря, 2025 49
    • 8
      Оценка разросшейся RAG‑архитектуры: поведение метрик на разных корпусах и версиях генератора 22 Декабря, 2025 49
    Статьи в блоге
    • Отечественные решения: как компактные reasoning-модели ИИ меняют мобильный рынок в России
      Отечественные решения: как компактные reasoning-модели ИИ меняют мобильный рынок в России 21 Января, 2026
    • Ошибка при обработке данных: как исправить проблему разбора JSON в российских системах
      Ошибка при обработке данных: как исправить проблему разбора JSON в российских системах 21 Января, 2026
    • Инновационные подходы к управлению многокомпонентными системами: глубокий обзор semi-централизованных агентных сетей в российских условиях
      Инновационные подходы к управлению многокомпонентными системами: глубокий обзор semi-централизованных агентных сетей в российских условиях 21 Января, 2026
    • Рациональная организация мер в Power BI: как превращать хаос в эффективную систему для российских бизнес-процессов
      Рациональная организация мер в Power BI: как превращать хаос в эффективную систему для российских бизнес-процессов 20 Января, 2026
    • Ошибка «Не удалось разобрать JSON»: полное руководство по диагностике и исправлению для российских разработчиков
      Ошибка «Не удалось разобрать JSON»: полное руководство по диагностике и исправлению для российских разработчиков 20 Января, 2026
    • Обработка ошибок при чтении данных JSON: что означает ошибку
      Обработка ошибок при чтении данных JSON: что означает ошибку "не удалось разобрать JSON" и как решать её в российских условиях 20 Января, 2026
    • Трансгендерность в России: разбор актуальных теорий, критика и социальные особенности
      Трансгендерность в России: разбор актуальных теорий, критика и социальные особенности 20 Января, 2026
    • Разделение правды и лжи в России: как распознать deception и защитить свою информацию
      Разделение правды и лжи в России: как распознать deception и защитить свою информацию 20 Января, 2026
    Комментарии 0
    Поделиться
    0
    0
    24 Декабря, 2025
    • Ваш комментарий будет первым
    Оставить комментарий
    Нажимая на кнопку «Отправить», Вы даете согласие на обработку персональных данных.
    Поделиться
    Выберите обязательные опции

    Мы используем файлы cookie и другие средства сохранения предпочтений и анализа действий посетителей сайта. Подробнее в Согласие на обработку персональных данных. Нажмите «Принять», если даете согласие на это.

    Принять
    IntellectNews

    Вы принимаете условия политики в отношении обработки персональных данных и пользовательского соглашения каждый раз, когда оставляете свои данные в любой форме обратной связи на сайте

    IntellectNews © 2026

    IntellectNews

    Вы принимаете условия политики в отношении обработки персональных данных и пользовательского соглашения каждый раз, когда оставляете свои данные в любой форме обратной связи на сайте, IntellectNews © 2026