Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Ispolzuyte lyubuyu llm s muxai
Dev48
info@dev48.org+375 29 320-40-96WhatsApp@isky_by

© 2026 · Все права защищены.

Используйте любую* LLM с @mux/ai

Источник: Mux•28 сентября 2026 г. в 14:45

Используйте любую* LLM с @mux/ai

Мы упростили использование @mux/ai с Baseten или любой другой LLM, совместимой с OpenAI API, включая новейшие модели с открытыми весами.

*Почти любую.

Ещё в мае Джошуа из нашей команды Community Engineering сделал форк @mux/ai, чтобы дообучить собственную модель видеоинтеллекта. Он добавил Ollama, чтобы экспериментировать локально без оплаты токенов, добавил Baseten, чтобы обучать и размещать LoRA-дообучение Mistral Small 3.1, и подключил результат к рабочим процессам @mux/ai. Это отличный пост, но для этого ему понадобился форк SDK.

Когда мы запустили @mux/ai в декабре прошлого года, мы создали его как набор инструментов BYO-LLM, чтобы вы сохраняли контроль над тем, какие провайдеры видят ваш контент. Но «принесите своего» до сих пор означало «принесите своего хостинг-провайдера»: в первую очередь OpenAI, Anthropic или Google. Если вы запускаете собственную инфраструктуру инференса или ваши политики определяют, куда может отправляться ваше видео, этот список, вероятно, был вам не очень полезен, и мы хотели, чтобы @mux/ai тоже стал для вас вариантом.

Так почему же мы добавляем поддержку более широкого круга LLM сейчас? Всё довольно просто — open-weight models have improved dramatically, особенно мультимодальных. Развёртывать их тоже стало гораздо проще: такие провайдеры, как Baseten, обслуживают открытые модели через эндпоинт, совместимый с OpenAI, а если вы предпочитаете самостоятельный хостинг, vLLM и подобные говорят на том же протоколе, совместимом с OpenAI.

Пару недель назад мы выпустили в @mux/ai поддержку обоих (#205): первоклассного провайдера Baseten и универсального провайдера, совместимого с OpenAI, который работает с любым эндпоинтом, говорящим на протоколе OpenAI. Оба внутри построены на пакете @ai-sdk/openai-compatible из AI SDK.

Ссылка: используйте свой эндпоинт

Конфигурация одинакова для всех провайдеров: URL, ключ и модель. Вот универсальный вариант, указывающий на локальную Ollama:

Конфигурация для использования qwen3 с @mux

/ai

И затем рабочие процессы просто работают, точно так же, как с хостинг-провайдерами:

Использование провайдера, совместимого с OpenAI, в @mux

/ai

Или запуск моего любимого вопроса из конвейера модерации stream.new против Kimi K3 на Model APIs от Baseten:

Использование Baseten в @mux

/ai

Одно отличие от хостинг-провайдеров: здесь нет модели по умолчанию. Мы не можем знать, что вы развернули на своей инфраструктуре, поэтому вы всегда сообщаете нам это либо в коде, либо через BASETEN_MODEL / OPENAI_COMPATIBLE_MODEL.

Ссылка: почему два провайдера?

Итак, изначально план был только про Baseten. Форк Джошуа доказал, что интеграция работает (и что с её помощью легко создать что-то действительно ценное), Model APIs от Baseten дают вам каталог открытых моделей за одним эндпоинтом, а их выделенные развёртывания — отличное место для дообученной модели.

В процессе работы мы заметили, что на самом деле создаём не интеграцию с Baseten. Эндпоинты Baseten говорят на протоколе OpenAI, и примерно всё остальное в этой области тоже: vLLM, SGLang, Ollama, Together AI, Fireworks, OpenRouter и любой шлюз, который ваша платформенная команда развернула в прошлом квартале. Прямая работа с совместимым с OpenAI протоколом означала, что одна интеграция покрывает всё, поэтому мы выпустили её как отдельного провайдера, а Baseten оставили в качестве пресета поверх него. Пресет Baseten знает о формах URL Baseten и проверяет их, поэтому неправильно сконфигурированное развёртывание немедленно завершается с полезной ошибкой.

Ссылка: насчёт той звёздочки…

Вот мелкий шрифт: рабочие процессы @mux/ai требуют от модели больше, чем чат-приложение.

Во-первых, четырём рабочим процессам, которые анализируют кадры видео или раскадровки (getSummaryAndTags, askQuestions, hasBurnedInCaptions и generateEngagementInsights), нужна модель с поддержкой зрения. По умолчанию мы передаём модели URL раскадровки, и эндпоинт загружает его на своей стороне; если ваш эндпоинт не может загружать удалённые URL, переданные через параметр image_url (например, Ollama исторически не может), установите imageSubmissionMode: "base64", и мы вместо этого встроим изображение, открывая доступ к гораздо большему числу моделей.

Во-вторых, всё запрашивает структурированный вывод через response_format: json_schema. Именно так рабочие процессы возвращают типизированные результаты, которые вы действительно можете использовать, а эндпоинты без поддержки json_schema громко падают, а не выдают неразбираемый вывод.

Текстовые рабочие процессы (generateChapters, translateCaptions, editCaptions) гораздо менее привередливы: подойдёт почти любая модель со структурированными выводами и окном контекста приличного размера, включая текстовые открытые модели вроде DeepSeek V4 или gpt-oss.

Чтобы избавить вас от проб и ошибок, мы опубликовали заметки о том, какие модели мы проверили, а какие должны работать. Kimi K3, оба варианта Inkling и пара моделей Kimi K2 проверены на совместимость с @mux/ai на Model APIs от Baseten (по состоянию на август 2026 года). Семейство Mistral, Qwen3-VL, Llama 4 и некоторые другие заявлены их вендорами как способные к работе с изображениями, но мы сами их не проверяли, поэтому мы поставляем скрипт, который проверяет оба требования на живом эндпоинте, прежде чем вы доверите ему свой конвейер:

Запуск проверок моделей

Мы также не можем оценивать вашу модель за вас. Каждый хостинг-провайдер в @mux/ai поставляется с покрытием eval, чтобы вы знали, какое качество получаете; ваша дообученная Mistral на вашем собственном GPU невидима для нас, поэтому эти провайдеры исключены из eval-запусков, а оценка стоимости возвращает ноль (мы не знаем ваш счёт за GPU или насколько быстрый ваш GPU для расчёта задержки, и мы не собираемся гадать). Скрипт проверки говорит вам, что модель может запускать рабочие процессы; а хорошо ли она их запускает — это уже вопрос между вами и вашими eval.

В наших тестах открытые модели также имеют некоторые особенности надёжности, которых мы не видели у закрытых моделей, и мы столкнулись с одной из них на Inkling: примерно один запрос из двенадцати вырождался в вывод, обрезанный по лимиту токенов, который затем не проходил проверку схемы, даже при запрошенном json_schema и в остальном здоровом эндпоинте. Этот сбой не детерминирован: повторная отправка того же запроса почти всегда успешна, поэтому withRetry (который уже оборачивает каждый вызов модели в рабочих процессах) теперь считает ответ без вывода повторяемым. Отказы по контент-политике никогда не повторяются, по, надеюсь, очевидным причинам.

Ссылка: и наконец, тонкая настройка

Если вы хотите пойти дальше, пост Джошуа рассказывает, как дообучить собственную модель для этих рабочих процессов: LoRA-настройка Mistral Small 3.1 на синтетических данных рабочих процессов @mux/ai с помощью тренировочного SDK Baseten, а затем размещение её на выделенном развёртывании. Когда он писал это, требовался форк; теперь его развёртывание подключается напрямую к провайдеру baseten. В его сравнении дообученная модель давала более краткие и уверенные сводки, чем вывод LLM по умолчанию. Прочитайте. Это интересно!

Ссылка: попробуйте

@mux/ai полностью открыт под лицензией Apache 2.0, если вы забыли. Эта функция началась как форк Джошуа, и мы будем рады, если следующая начнётся как ваш:

Установка @mux

/ai

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

← Все статьи

О чём эта статья

Ещё в разделе «Медиа, контент и развлечения»

Все →
Cloudinary обновляет интеграцию с Braze для упрощения персонализации кампаний
Cloudinary

Cloudinary обновляет интеграцию с Braze для упрощения персонализации кампаний

Как написать электронное письмо с приглашением на встречу, на которое ответят
Zoom

Как написать электронное письмо с приглашением на встречу, на которое ответят

Как написать эффективное письмо-напоминание, которое дает результаты
Zoom

Как написать эффективное письмо-напоминание, которое дает результаты

Meta внедряет технологию искусственного интеллекта для определения возраста в Instagram по всему мируПресса
Meta

Meta внедряет технологию искусственного интеллекта для определения возраста в Instagram по всему миру

Sennheiser представляет Scenico и Polifonia, выводя индивидуальное звучание на новый уровень
Sennheiser

Sennheiser представляет Scenico и Polifonia, выводя индивидуальное звучание на новый уровень

Как использовать настраиваемые поля для организации данных о клиентах
Zoom

Как использовать настраиваемые поля для организации данных о клиентах

Ещё от Mux

Как я создал сайт для обмена видео с помощью Claude Code и Mux после многих лет перерыва в кодинге
Mux

Как я создал сайт для обмена видео с помощью Claude Code и Mux после многих лет перерыва в кодинге

Опыт агентов и рост за счет ИИ-агентов: беседа с Кейланом Барнсом
Mux

Опыт агентов и рост за счет ИИ-агентов: беседа с Кейланом Барнсом

Радуйтесь, люди и агенты: Mux Robots теперь доступна всем (GA)
Mux

Радуйтесь, люди и агенты: Mux Robots теперь доступна всем (GA)

Что iPhone Duo означает для веб-разработки
Mux

Что iPhone Duo означает для веб-разработки

Представляем оповещения о расходах: получайте уведомления, когда ваши затраты превышают установленные вами пороги
Mux

Представляем оповещения о расходах: получайте уведомления, когда ваши затраты превышают установленные вами пороги

Как Change.org использует видео, чтобы превратить подписи в истории
Mux

Как Change.org использует видео, чтобы превратить подписи в истории