Всем привет!
Давно не было постов, но зато у меня накопилось много интересного, о чем рассказать! 🙌
Из последних новостей: на этих выходных я решил поучаствовать в хакатоне «Цифровой Прорыв. Сезон: Искусственный интеллект» вместе с друзьями из универа. Задача оказалась довольно интересной, а технологии, которые мы применили, настолько мощные, что хочется поделиться ими более подробно.
В ближайших постах я расскажу как раз о нашем подходе и технологии, которая позволила нам зайти немного нестандартным путем и сделать классное решение!
Следите за обновлениями — будет много полезного! 🚀
Давно не было постов, но зато у меня накопилось много интересного, о чем рассказать! 🙌
Из последних новостей: на этих выходных я решил поучаствовать в хакатоне «Цифровой Прорыв. Сезон: Искусственный интеллект» вместе с друзьями из универа. Задача оказалась довольно интересной, а технологии, которые мы применили, настолько мощные, что хочется поделиться ими более подробно.
В ближайших постах я расскажу как раз о нашем подходе и технологии, которая позволила нам зайти немного нестандартным путем и сделать классное решение!
Следите за обновлениями — будет много полезного! 🚀
🔥3❤1👍1🥰1😁1😱1
Media is too big
VIEW IN TELEGRAM
Иногда реальные результаты могут превысить ожидания 🍀
🚀 Недавно на хакатоне получилось занять первое место, хотя шел я туда, честно говоря, просто поизучать новую, интересную для себя технологию. Тем не менее, все получилось даже лучше, чем ожидалось. А теперь давайте расскажу поподробнее про технологию и наше решение.
Задача на хакатоне была сформулирована не суперчетко, но мы поняли её так: нужно как-то обработать большой список товаров и выделить их ключевые характеристики.
В таблицах, которые нам дали, было также поле с кодами ОКПД2 — это такой общероссийский классификатор, который присваивает каждому товару свою группу.
Но есть пара проблем:
1. ОКПД2 — это просто классификация товаров, никаких конкретных параметров типа размеров или веса он не содержит. Он просто говорит, что товар относится к определенной категории, и всё (пример кодов на картинке ниже).
2. Параметры товаров записаны в строках. В таблице было поле с параметрами, которое нам и нужно было как-то распарсить. Проблема в том, что эти параметры записаны в хаотичном виде.
Например, строка вроде "120х80 RPPD 20кг" — в ней можно увидеть, что у товара есть размеры и вес, но что такое RPPD? Известно только Богу (или читавшему ГОСТ, как мы поняли чуть позже) 🤷♂️
Так как хакатон был посвящен теме ИИ, первая идея — взять LLM и просто дать ей все эти строки. Но ведь LLM сама по себе не поймет, что такое, например, RPPD.
Из дополнительной информации: нам также дали несколько сайтов, которые содержат эти товары и могли бы помочь, если идти с идеей распарсинга данных.
Но это было бы долго и ненадежно: каждый сайт имеет свою разметку, а API предоставляют не все.
🎯 Наша идея
Зато в датасете мы нашли поле ГОСТ для каждого товара. И тут нас осенило! Ведь ГОСТы содержат в себе всю информацию о товаре, которая нам как раз и нужна.
Таким образом, наша идея заключалась в том, чтобы предоставить некий доступ к ГОСТам для LLM, чтобы она "знала" их и могла выдавать ответы, ориентируясь на эти данные.
Так мы решили подключить технологию RAG (Retrieval-Augmented Generation). О ней в следующем посте, но если коротко, то она позволяет передавать LLM нужный контекст на лету, не переобучая её.
Вот наш план:
1. Вытаскиваем из ГОСТов ключевые данные о товарах.
2. Передаем эти данные LLM — теперь она может понять контекст и работать более осмысленно.
3. Получаем ответ от LLM, который легко перевести в таблицу ведь ответ мы просим её сделать по шаблону, и данные становятся упорядоченными, готовыми для анализа.
Так мы сделали решение, которое было высоко оценено жюри, и его можно улучшать и масштабировать.
Вишенкой на торте стало то, что, чем больше другие команды будут улучшать обработку ГОСТов, добавлять функционал по парсингу или дорабатывать LLM, тем сильнее станет наш подход, ведь он гибок и может сочетать в себе все эти методы.
Подробности о том, что такое RAG и как мы решили использовать эту технологию — в следующем посте! 🎉
🚀 Недавно на хакатоне получилось занять первое место, хотя шел я туда, честно говоря, просто поизучать новую, интересную для себя технологию. Тем не менее, все получилось даже лучше, чем ожидалось. А теперь давайте расскажу поподробнее про технологию и наше решение.
Задача на хакатоне была сформулирована не суперчетко, но мы поняли её так: нужно как-то обработать большой список товаров и выделить их ключевые характеристики.
В таблицах, которые нам дали, было также поле с кодами ОКПД2 — это такой общероссийский классификатор, который присваивает каждому товару свою группу.
Но есть пара проблем:
1. ОКПД2 — это просто классификация товаров, никаких конкретных параметров типа размеров или веса он не содержит. Он просто говорит, что товар относится к определенной категории, и всё (пример кодов на картинке ниже).
2. Параметры товаров записаны в строках. В таблице было поле с параметрами, которое нам и нужно было как-то распарсить. Проблема в том, что эти параметры записаны в хаотичном виде.
Например, строка вроде "120х80 RPPD 20кг" — в ней можно увидеть, что у товара есть размеры и вес, но что такое RPPD? Известно только Богу (или читавшему ГОСТ, как мы поняли чуть позже) 🤷♂️
Так как хакатон был посвящен теме ИИ, первая идея — взять LLM и просто дать ей все эти строки. Но ведь LLM сама по себе не поймет, что такое, например, RPPD.
Из дополнительной информации: нам также дали несколько сайтов, которые содержат эти товары и могли бы помочь, если идти с идеей распарсинга данных.
Но это было бы долго и ненадежно: каждый сайт имеет свою разметку, а API предоставляют не все.
🎯 Наша идея
Зато в датасете мы нашли поле ГОСТ для каждого товара. И тут нас осенило! Ведь ГОСТы содержат в себе всю информацию о товаре, которая нам как раз и нужна.
Таким образом, наша идея заключалась в том, чтобы предоставить некий доступ к ГОСТам для LLM, чтобы она "знала" их и могла выдавать ответы, ориентируясь на эти данные.
Так мы решили подключить технологию RAG (Retrieval-Augmented Generation). О ней в следующем посте, но если коротко, то она позволяет передавать LLM нужный контекст на лету, не переобучая её.
Вот наш план:
1. Вытаскиваем из ГОСТов ключевые данные о товарах.
2. Передаем эти данные LLM — теперь она может понять контекст и работать более осмысленно.
3. Получаем ответ от LLM, который легко перевести в таблицу ведь ответ мы просим её сделать по шаблону, и данные становятся упорядоченными, готовыми для анализа.
Так мы сделали решение, которое было высоко оценено жюри, и его можно улучшать и масштабировать.
Вишенкой на торте стало то, что, чем больше другие команды будут улучшать обработку ГОСТов, добавлять функционал по парсингу или дорабатывать LLM, тем сильнее станет наш подход, ведь он гибок и может сочетать в себе все эти методы.
Подробности о том, что такое RAG и как мы решили использовать эту технологию — в следующем посте! 🎉
🎉4🤩4⚡1👍1🔥1😁1
🚀 Продолжаем разбирать интересные технологии!
Как и обещал, давайте поговорим о том, что такое RAG (Retrieval-Augmented Generation) и почему эта технология оказалась такой полезной для нас на хакатоне.
🤔 Что такое RAG Pipeline?
RAG Pipeline — это гибридный подход, который совмещает два мощных инструмента: поиск информации (retrieval) и генерацию текста (generation).
Его суть в том, что модель генерации (LLM-ка) перед тем, как начать отвечать, получает дополнительный контекст с помощью поиска по внешним источникам данных. Это позволяет модели давать более точные и актуальные ответы, даже если у неё изначально нет всей нужной информации.
🔍 Где обычно используют RAG?
1. Чат-боты. Один из самых популярных сценариев использования RAG, когда модель может отвечать на вопросы пользователей, подтягивая свежие данные из базы знаний или документов.
2. Поиск знаний. Если у вас есть большая база знаний, то вы можете настроить осмысленный поиск по ней. Это значительно упрощает работу с информацией, особенно когда происходит ссылка между различными документами и проходится метаться между ними.
Как мы использовали RAG на хакатоне?
Обычно RAG применяется для поиска информации в текстах, статьях или базах знаний. Но мы решили пойти немного дальше и использовать его для решения более прикладной задачи — обработки данных.
Вместо того чтобы обучать модель на всех данных или заниматься классическим парсингом, мы дали нашей LLM возможность динамически "подсматривать" в ГОСТы и другие внешние источники перед каждым ответом.
Почему это круто?
1. Гибкость. С RAG нам не нужно переобучать модель на всём массиве данных или пытаться поместить их в память модели. Она подтягивает нужную информацию прямо в момент запроса.
2. Актуальность. Данные (как и ГОСТы в нашем примере) могут меняться. Если мы решим закладывать их в модель напрямую, то нам придется переобучать её каждый раз. С RAG pipeline модель всегда работает с актуальной информацией.
Таким образом, RAG позволяет нам не только создавать умные ответы, но и делать это с минимальными трудозатратами на обновление данных.
🎯 В следующем посте я расскажу, как устроен RAG изнутри — что такое векторные базы, embeddings и как они помогают находить нужные данные для LLM. Не пропустите!
Как и обещал, давайте поговорим о том, что такое RAG (Retrieval-Augmented Generation) и почему эта технология оказалась такой полезной для нас на хакатоне.
🤔 Что такое RAG Pipeline?
RAG Pipeline — это гибридный подход, который совмещает два мощных инструмента: поиск информации (retrieval) и генерацию текста (generation).
Его суть в том, что модель генерации (LLM-ка) перед тем, как начать отвечать, получает дополнительный контекст с помощью поиска по внешним источникам данных. Это позволяет модели давать более точные и актуальные ответы, даже если у неё изначально нет всей нужной информации.
🔍 Где обычно используют RAG?
1. Чат-боты. Один из самых популярных сценариев использования RAG, когда модель может отвечать на вопросы пользователей, подтягивая свежие данные из базы знаний или документов.
2. Поиск знаний. Если у вас есть большая база знаний, то вы можете настроить осмысленный поиск по ней. Это значительно упрощает работу с информацией, особенно когда происходит ссылка между различными документами и проходится метаться между ними.
Как мы использовали RAG на хакатоне?
Обычно RAG применяется для поиска информации в текстах, статьях или базах знаний. Но мы решили пойти немного дальше и использовать его для решения более прикладной задачи — обработки данных.
Вместо того чтобы обучать модель на всех данных или заниматься классическим парсингом, мы дали нашей LLM возможность динамически "подсматривать" в ГОСТы и другие внешние источники перед каждым ответом.
Почему это круто?
1. Гибкость. С RAG нам не нужно переобучать модель на всём массиве данных или пытаться поместить их в память модели. Она подтягивает нужную информацию прямо в момент запроса.
2. Актуальность. Данные (как и ГОСТы в нашем примере) могут меняться. Если мы решим закладывать их в модель напрямую, то нам придется переобучать её каждый раз. С RAG pipeline модель всегда работает с актуальной информацией.
Таким образом, RAG позволяет нам не только создавать умные ответы, но и делать это с минимальными трудозатратами на обновление данных.
🎯 В следующем посте я расскажу, как устроен RAG изнутри — что такое векторные базы, embeddings и как они помогают находить нужные данные для LLM. Не пропустите!
🔥5👍2❤1😁1🤔1
🚀 Погружаемся в технику: как работает RAG Pipeline
В прошлом посте мы обсудили, что такое RAG (Retrieval-Augmented Generation) и как эта технология помогает моделям давать более точные ответы за счёт поиска информации в реальном времени. Теперь давайте углубимся в техническую сторону и разберём, как всё это работает под капотом. К тексту прилагаются ссылки на полезные источники с более подробным разбором терминов и технологий.
Как работает RAG Pipeline?
RAG Pipeline сочетает поиск информации и генерацию текста с помощью языковой модели (LLM). Процесс можно разбить на несколько ключевых шагов:
1. Векторизация запроса. Когда модель получает запрос, например, текстовое описание товара или вопрос пользователя, этот текст превращается в векторное представление с помощью нейросетевой модели embeddings. Векторы — это числовые представления текста, которые отражают его семантическое значение. Подробнее о векторизации и embedding-моделях можно почитать здесь.
2. Поиск по векторной базе. После того как запрос превращён в вектор, он сравнивается с векторами в векторной базе данных. В этой базе хранятся векторные представления всех доступных документов, статей или других данных. Сравнение происходит по схожести векторов — ищутся самые близкие к запросу векторы с помощью, например, косинусного сходства, Евклидова расстояния и других.
🧠 Векторная база — это не обычная база данных. Она оптимизирована для поиска по схожести векторов, что позволяет быстро находить нужные фрагменты информации даже в огромных массивах данных. Популярные технологии для таких баз:
- FAISS от Facebook — эффективный инструмент для поиска по векторным базам, который поддерживает миллионы векторов и различные методы оптимизации.
- HNSW (Hierarchical Navigable Small World) — ещё одна технология для поиска по векторным пространствам, которая используется в многих современных приложениях благодаря своей скорости и точности.
3. Извлечение релевантных данных. Как только найдены наиболее подходящие документы, они возвращаются модели в виде текстовых фрагментов. Эти фрагменты являются дополнительным контекстом, который помогает модели более точно ответить на запрос.
4. Генерация ответа. Теперь, используя как сам запрос, так и релевантные фрагменты из векторной базы, LLM формирует финальный ответ. Это может быть как полный текстовый ответ, так и результат в структурированном формате (как табличка в задаче на хакатоне из прошлых постов).
Что такое embedding и как он работает?
Пусть выше уже упоминалось данное слово, но дадим определение здесь. Embedding — это способ перевода текстовых данных в числовые вектора, которые содержат информацию о семантическом смысле текста. Чем ближе по смыслу два текста, тем более похожими будут их векторы.
Модели, такие как BERT, GPT или другие нейросетевые языковые модели, используются для создания этих embeddings. Каждый документ или текстовый фрагмент в базе данных также проходит через этот процесс. В результате все данные превращаются в векторные представления, которые можно быстро и эффективно сравнивать друг с другом. Далее это как раз и позволяет RAG находить документы, даже если они не содержат точных совпадений по ключевым словам, а основываются на семантической близости.
В заключение, RAG Pipeline — это мощная технология, которая объединяет несколько ключевых решений: векторные базы, embeddings и языковые модели. Она позволяет модели всегда работать с актуальной информацией, не требуя постоянного переобучения. Это делает RAG особенно полезной для задач, где важна гибкость и масштабируемость, ведь модель может быстро получать свежие данные и давать более точные ответы.
В прошлом посте мы обсудили, что такое RAG (Retrieval-Augmented Generation) и как эта технология помогает моделям давать более точные ответы за счёт поиска информации в реальном времени. Теперь давайте углубимся в техническую сторону и разберём, как всё это работает под капотом. К тексту прилагаются ссылки на полезные источники с более подробным разбором терминов и технологий.
Как работает RAG Pipeline?
RAG Pipeline сочетает поиск информации и генерацию текста с помощью языковой модели (LLM). Процесс можно разбить на несколько ключевых шагов:
1. Векторизация запроса. Когда модель получает запрос, например, текстовое описание товара или вопрос пользователя, этот текст превращается в векторное представление с помощью нейросетевой модели embeddings. Векторы — это числовые представления текста, которые отражают его семантическое значение. Подробнее о векторизации и embedding-моделях можно почитать здесь.
2. Поиск по векторной базе. После того как запрос превращён в вектор, он сравнивается с векторами в векторной базе данных. В этой базе хранятся векторные представления всех доступных документов, статей или других данных. Сравнение происходит по схожести векторов — ищутся самые близкие к запросу векторы с помощью, например, косинусного сходства, Евклидова расстояния и других.
🧠 Векторная база — это не обычная база данных. Она оптимизирована для поиска по схожести векторов, что позволяет быстро находить нужные фрагменты информации даже в огромных массивах данных. Популярные технологии для таких баз:
- FAISS от Facebook — эффективный инструмент для поиска по векторным базам, который поддерживает миллионы векторов и различные методы оптимизации.
- HNSW (Hierarchical Navigable Small World) — ещё одна технология для поиска по векторным пространствам, которая используется в многих современных приложениях благодаря своей скорости и точности.
3. Извлечение релевантных данных. Как только найдены наиболее подходящие документы, они возвращаются модели в виде текстовых фрагментов. Эти фрагменты являются дополнительным контекстом, который помогает модели более точно ответить на запрос.
4. Генерация ответа. Теперь, используя как сам запрос, так и релевантные фрагменты из векторной базы, LLM формирует финальный ответ. Это может быть как полный текстовый ответ, так и результат в структурированном формате (как табличка в задаче на хакатоне из прошлых постов).
Что такое embedding и как он работает?
Пусть выше уже упоминалось данное слово, но дадим определение здесь. Embedding — это способ перевода текстовых данных в числовые вектора, которые содержат информацию о семантическом смысле текста. Чем ближе по смыслу два текста, тем более похожими будут их векторы.
Модели, такие как BERT, GPT или другие нейросетевые языковые модели, используются для создания этих embeddings. Каждый документ или текстовый фрагмент в базе данных также проходит через этот процесс. В результате все данные превращаются в векторные представления, которые можно быстро и эффективно сравнивать друг с другом. Далее это как раз и позволяет RAG находить документы, даже если они не содержат точных совпадений по ключевым словам, а основываются на семантической близости.
В заключение, RAG Pipeline — это мощная технология, которая объединяет несколько ключевых решений: векторные базы, embeddings и языковые модели. Она позволяет модели всегда работать с актуальной информацией, не требуя постоянного переобучения. Это делает RAG особенно полезной для задач, где важна гибкость и масштабируемость, ведь модель может быстро получать свежие данные и давать более точные ответы.
❤5🔥2👍1🤔1🤯1🦄1
🚀 Друзья, вышло мое интервью про MLOps!
Если вы хотите понять, что такое MLOps, зачем он нужен и как работает на практике, особенно в таких масштабах, как у нас в AlfaBank, — это видео для вас.
Поговорили о том, какие вызовы решает MLOps, как его внедрить, и что нужно знать, чтобы уверенно шагнуть в эту сферу. Также в интервью есть полезные советы для тех, кто мечтает строить карьеру в MLOps.
Присоединяйтесь, смотрите — будет интересно! 🎥
Если вы хотите понять, что такое MLOps, зачем он нужен и как работает на практике, особенно в таких масштабах, как у нас в AlfaBank, — это видео для вас.
Поговорили о том, какие вызовы решает MLOps, как его внедрить, и что нужно знать, чтобы уверенно шагнуть в эту сферу. Также в интервью есть полезные советы для тех, кто мечтает строить карьеру в MLOps.
Присоединяйтесь, смотрите — будет интересно! 🎥
🦄3🔥2❤1👍1🥰1🤓1
Forwarded from Alfa Advanced Analytics
А ещё подготовили для вас интервью с Александром 🎯
В видео Саша делится инсайтами: какие инструменты использует в работе, о трудностях, которые закаляют, и дает советы новичкам в машинном обучении. Хотите узнать, как это — работать в Альфе, учиться и побеждать в хакатонах? Скорее смотрите 💡
Приятного просмотра!
В видео Саша делится инсайтами: какие инструменты использует в работе, о трудностях, которые закаляют, и дает советы новичкам в машинном обучении. Хотите узнать, как это — работать в Альфе, учиться и побеждать в хакатонах? Скорее смотрите 💡
Приятного просмотра!
🔥7🦄4❤3👍1
Всем привет! 👋
Давно не было постов, но я не теряюсь 😉
За последние пару месяцев произошло много интересного, и сегодня я хочу поделиться некоторыми важными новостями.
🚀 Обновление пайплайна моделей
Самое главное и крутое: мы наконец обновили пайплайн вывода моделей! Теперь всё работает через ArgoWorkflow нативно в Kubernetes.
Причем на этом пайплайне мы запускаем не только отдельные модели, но и целые каскады, состоящие из 80 моделей одновременно. Да, это было вызовом, но результат впечатляет!
💻 Новый подход к запуску ноутбуков в кластере
Ещё одна важная тема, о которой расскажу подробнее в ближайшее время: мы обновили подход к запуску ноутбуков на кластере.
Напомню, что в прошлом году мы сделали кастомный спавнер для Jupyter, который позволял запускать ноутбуки в Kubernetes с выделением ресурсов для конкретных пользователей.
Теперь мы доработали концепцию: начали использовать resource quotas и отдельные namespace для каждой команды. Это показалось более перспективным решением, и первые результаты от фокус-группы подтвердили наши ожидания. Полные данные будут после завершения полного переезда, но пока всё выглядит многообещающе.
📊 Мониторинг и логирование
И третий момент, который хотелось бы затронуть, — это мониторинг и логирование. За последнее время мне прилетело много задач в этой области. Я хотел бы поделиться своими мыслями и подходами, которые, возможно, будут полезны и вам.
Оставайтесь на связи, скоро будет больше деталей!
Давно не было постов, но я не теряюсь 😉
За последние пару месяцев произошло много интересного, и сегодня я хочу поделиться некоторыми важными новостями.
🚀 Обновление пайплайна моделей
Самое главное и крутое: мы наконец обновили пайплайн вывода моделей! Теперь всё работает через ArgoWorkflow нативно в Kubernetes.
Причем на этом пайплайне мы запускаем не только отдельные модели, но и целые каскады, состоящие из 80 моделей одновременно. Да, это было вызовом, но результат впечатляет!
💻 Новый подход к запуску ноутбуков в кластере
Ещё одна важная тема, о которой расскажу подробнее в ближайшее время: мы обновили подход к запуску ноутбуков на кластере.
Напомню, что в прошлом году мы сделали кастомный спавнер для Jupyter, который позволял запускать ноутбуки в Kubernetes с выделением ресурсов для конкретных пользователей.
Теперь мы доработали концепцию: начали использовать resource quotas и отдельные namespace для каждой команды. Это показалось более перспективным решением, и первые результаты от фокус-группы подтвердили наши ожидания. Полные данные будут после завершения полного переезда, но пока всё выглядит многообещающе.
📊 Мониторинг и логирование
И третий момент, который хотелось бы затронуть, — это мониторинг и логирование. За последнее время мне прилетело много задач в этой области. Я хотел бы поделиться своими мыслями и подходами, которые, возможно, будут полезны и вам.
Оставайтесь на связи, скоро будет больше деталей!
❤6🦄5🔥3👍1
🚀 Новый пайплайн деплоя моделей с помощью Argo Workflows
Сегодня хочу рассказать о нашей новой фиче — пайплайне для вывода моделей в прод с помощью Argo Workflows. Если кратко: теперь это быстро, прозрачно и воспроизводимо.
💡 Зачем вообще Argo?
Argo Workflow — это Kubernetes-native инструмент для управления workflow’ами. А для нас это значит: можно собирать весь процесс вывода модели от загрузки артефактов до деплоя только лишь используя всем привычные Helm чарты.
🛠 Что внутри пайплайна?
Базовая версия включает:
1. Хранение окружений и моделей в MLFlow/S3 без Docker
2. Поднятие моделей только лишь с использованием YAML
3. Запуск подов в соответствии с правилом: 1 Модель - 1 Pod
4. Все шаги изолированы, логируются, можно перезапустить с любого этапа.
🎯 Что это даёт?
1. Ускорение вывода моделей
2. Минимизация ручных ошибок
3. Полная трассировка всех изменений
4. Простота откатов, если что-то пошло не так
Подробнее об этом я рассказываю в докладе на DevOpsConf2025 о котором будет следующий пост.
📦 Скоро залью шаблон в open-source — будет удобно адаптировать под свои задачи.
Если интересно, могу сделать мини-гайд по настройке такого пайплайна — пиши в комменты 😉
Сегодня хочу рассказать о нашей новой фиче — пайплайне для вывода моделей в прод с помощью Argo Workflows. Если кратко: теперь это быстро, прозрачно и воспроизводимо.
💡 Зачем вообще Argo?
Argo Workflow — это Kubernetes-native инструмент для управления workflow’ами. А для нас это значит: можно собирать весь процесс вывода модели от загрузки артефактов до деплоя только лишь используя всем привычные Helm чарты.
🛠 Что внутри пайплайна?
Базовая версия включает:
1. Хранение окружений и моделей в MLFlow/S3 без Docker
2. Поднятие моделей только лишь с использованием YAML
3. Запуск подов в соответствии с правилом: 1 Модель - 1 Pod
4. Все шаги изолированы, логируются, можно перезапустить с любого этапа.
🎯 Что это даёт?
1. Ускорение вывода моделей
2. Минимизация ручных ошибок
3. Полная трассировка всех изменений
4. Простота откатов, если что-то пошло не так
Подробнее об этом я рассказываю в докладе на DevOpsConf2025 о котором будет следующий пост.
📦 Скоро залью шаблон в open-source — будет удобно адаптировать под свои задачи.
Если интересно, могу сделать мини-гайд по настройке такого пайплайна — пиши в комменты 😉
🔥4🥰2
🔄 Продолжаю рассказ про Argo Workflows: как построить пайплайн для обучения ML-модели
Я думал как лучше показать пайплайн. Однако у всех кластеры разные. Кто-то хочет использовать какие-то инструменты, а кто-то нет. В это же время у ArgoWF есть достаточно подробная документация и репозиторий с примерами.
Поэтому я решил не делать универсальный пример, который будет работать у всех, а скорее — разобрать ключевые шаги пайплайна и дать ссылки на официальные ресурсы ArgoWF, чтобы каждый мог адаптировать под себя.
Собственно разбор ключевых шагов пайплайна:
1. Загрузка кода модели из Git-репозитория
- - Как я говорил на одном из докладов: модель – это код+веса+зависимости. На этом этапе мы клонируем репозиторий с кодом модели. Argo предоставляет нам весь необходимый функционал, благодаря чему нам не требуется создавать скрипты, которые просто качают репу.
👉 Пример и официальная документация:
Git Example: https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-git.yaml
Docs: https://argoproj.github.io/argo-workflows/workflow-templates/
2. Установка зависимостей
- - После загрузки кода модели мы переходим к установке зависимостей. Обычно это requirements.txt / conda.yaml или что-то подобное.
Для этого мы можем использовать отдельный шаг в виде контейнера, где устанавливаем нужные библиотеки. Так как зачастую окружение весит достаточно много и нам нужно его использовать во всех дальнейших шагах – его лучше сохранить в S3 хранилище. Argo нативно умеет паковать указанную папку в архив с нужным уровнем сжатия и загружать ее в S3.
👉 Примеры и документация:
Input Artifacts Example: https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-s3.yaml
Python/Bash Scripts Example: https://github.com/argoproj/argo-workflows/blob/main/examples/scripts-python.yaml
Docs: *первый пункт*
3. Загрузка весов.
- - Этот этап нужен для инференса и вообще реализуется обычно в коде, так как идет работа с такими инстументами, как например MLFlow, однако веса и прочие данные, как и зависимости из второго шага можно загрузить напрямую из S3, Hadoop, FS, и других хранилок напрямую.
👉 Примеры и документация:
Docs Inputs: https://argo-workflows.readthedocs.io/en/latest/workflow-inputs/
Docs Artifacts: https://argo-workflows.readthedocs.io/en/latest/walk-through/artifacts/
Examples: все не накидать – Ctrl+F и вводим artifact в папке репы.
4. Обучение модели
- - Самый важный этап, как и выкладка. Здесь мы запускаем скрипт обучения, подгружая все ранее использованные артифакты.
По сути, нам можно воспользоваться шаблонами подгрузки из Git, S3 чтобы загрузить код, зависимости в виде архива, который будет автоматически распакован в нужную нам папку. И также запустить просто скрипт, через Bash.
Все примеры уже есть выше. Описание полей Input и Output шагов буквально идентичны: в случае input, путь - это откуда грузим, для output, путь - это куда. Подгружать можно практически все, что угодно и куда угодно.
Если у вас много оперативной памяти, то в K8s, все процессы работы с данными можно ускорить, использовав ее, как storage:
Также хотелось упоминуть про прекрасные Docker образы mambaorg/micromamba, которые позволят юзать mamba (пакетный менеджер conda на C++), которые позволят поднимать модели на едином образе с любой версией питона и любым окружением, которое уже хранится в S3. Никаких образов на 2Gb+!
📌 Итого
Argo Workflows — это мощный инструмент для построения ML-пайплайнов в Kubernetes. Он гибко настраивается и имеет обширнейшую документацию. 95% всех моментов в ней описаны, оставшиеся 5% можно нарыть в API Doc, где показано, какие поля спецификаций имеются в инструменте. Все мелкие косяки, которые происходят фиксятся достаточно быстро, так как обновления идут почти каждые 2 месяца, если не быстрее.
Касательно реализации MLOps пайплайна: главное — понимать, какие этапы вам нужны, а с тем, как правильно описать в YAML, вам может помочь 100+ примеров на GitHub ну и строка поиска в доке.
Я думал как лучше показать пайплайн. Однако у всех кластеры разные. Кто-то хочет использовать какие-то инструменты, а кто-то нет. В это же время у ArgoWF есть достаточно подробная документация и репозиторий с примерами.
Поэтому я решил не делать универсальный пример, который будет работать у всех, а скорее — разобрать ключевые шаги пайплайна и дать ссылки на официальные ресурсы ArgoWF, чтобы каждый мог адаптировать под себя.
Собственно разбор ключевых шагов пайплайна:
1. Загрузка кода модели из Git-репозитория
- - Как я говорил на одном из докладов: модель – это код+веса+зависимости. На этом этапе мы клонируем репозиторий с кодом модели. Argo предоставляет нам весь необходимый функционал, благодаря чему нам не требуется создавать скрипты, которые просто качают репу.
👉 Пример и официальная документация:
Git Example: https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-git.yaml
Docs: https://argoproj.github.io/argo-workflows/workflow-templates/
2. Установка зависимостей
- - После загрузки кода модели мы переходим к установке зависимостей. Обычно это requirements.txt / conda.yaml или что-то подобное.
Для этого мы можем использовать отдельный шаг в виде контейнера, где устанавливаем нужные библиотеки. Так как зачастую окружение весит достаточно много и нам нужно его использовать во всех дальнейших шагах – его лучше сохранить в S3 хранилище. Argo нативно умеет паковать указанную папку в архив с нужным уровнем сжатия и загружать ее в S3.
👉 Примеры и документация:
Input Artifacts Example: https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-s3.yaml
Python/Bash Scripts Example: https://github.com/argoproj/argo-workflows/blob/main/examples/scripts-python.yaml
Docs: *первый пункт*
3. Загрузка весов.
- - Этот этап нужен для инференса и вообще реализуется обычно в коде, так как идет работа с такими инстументами, как например MLFlow, однако веса и прочие данные, как и зависимости из второго шага можно загрузить напрямую из S3, Hadoop, FS, и других хранилок напрямую.
👉 Примеры и документация:
Docs Inputs: https://argo-workflows.readthedocs.io/en/latest/workflow-inputs/
Docs Artifacts: https://argo-workflows.readthedocs.io/en/latest/walk-through/artifacts/
Examples: все не накидать – Ctrl+F и вводим artifact в папке репы.
4. Обучение модели
- - Самый важный этап, как и выкладка. Здесь мы запускаем скрипт обучения, подгружая все ранее использованные артифакты.
По сути, нам можно воспользоваться шаблонами подгрузки из Git, S3 чтобы загрузить код, зависимости в виде архива, который будет автоматически распакован в нужную нам папку. И также запустить просто скрипт, через Bash.
Все примеры уже есть выше. Описание полей Input и Output шагов буквально идентичны: в случае input, путь - это откуда грузим, для output, путь - это куда. Подгружать можно практически все, что угодно и куда угодно.
Если у вас много оперативной памяти, то в K8s, все процессы работы с данными можно ускорить, использовав ее, как storage:
volumes:
- name: fast-volume
emptyDir:
sizeLimit: 15Gi
medium: Memory
Также хотелось упоминуть про прекрасные Docker образы mambaorg/micromamba, которые позволят юзать mamba (пакетный менеджер conda на C++), которые позволят поднимать модели на едином образе с любой версией питона и любым окружением, которое уже хранится в S3. Никаких образов на 2Gb+!
📌 Итого
Argo Workflows — это мощный инструмент для построения ML-пайплайнов в Kubernetes. Он гибко настраивается и имеет обширнейшую документацию. 95% всех моментов в ней описаны, оставшиеся 5% можно нарыть в API Doc, где показано, какие поля спецификаций имеются в инструменте. Все мелкие косяки, которые происходят фиксятся достаточно быстро, так как обновления идут почти каждые 2 месяца, если не быстрее.
Касательно реализации MLOps пайплайна: главное — понимать, какие этапы вам нужны, а с тем, как правильно описать в YAML, вам может помочь 100+ примеров на GitHub ну и строка поиска в доке.
GitHub
argo-workflows/examples/input-artifact-git.yaml at main · argoproj/argo-workflows
Workflow Engine for Kubernetes. Contribute to argoproj/argo-workflows development by creating an account on GitHub.
👍4❤2👾2🥰1🤩1
🔍 Недавно наткнулся на интересный инструмент — OpenWebUI. Делюсь впечатлениями
Если вы следите за развитием локальных LLM (больших языковых моделей), то наверняка сталкивались с проблемой: как удобно и быстро запустить модель у себя на машине и при этом получить красивый веб-интерфейс?
Я столкнулся скорее не с этой проблемой, а с тем, что мне нужно было как-то юзать ChatGPT, который работает под VPN. Последний как раз не очень дружил с моим рабочим VPN’ом, а переключение ради одного запроса выкидывало из удаленной тачки или отрубало доступ к Jira и прочим инфровым ресурсам 💩
И тут на помощь приходит OpenWebUI — это базовый и удобный фронтенд с открытым исходным кодом, который превращает локально запущенные модели в полноценный чат-интерфейс, напоминающийаналогичный ChatGPT.
🧩 Что такое OpenWebUI?
OpenWebUI — это self-hosted веб-интерфейс для работы с локальными и удалёнными LLM. Он не требует сборки, так как уже есть готовый набор Docker образов и просто запускается через Docker с подключением к разным бэкендам:
- Ollama
- Llama.cpp
- и другим через API
🛠️ Как работает?
1. Устанавливаете Docker.
2. Запускаете контейнер OpenWebUI.
3. Подключаете его к выбранному бэкенду (например, Ollama).
4. Открываете браузер и начинаете общаться с моделью через красивый интерфейс.
В моем случае, решением проблемы стало подключение к OpenAI proxy серверу, который имеет доступ к ChatGPT и общение в чатике через API ключ. Так как я стал достаточно редко в последние время использовать ChatGPT (тем более Pro версию), использование ключа сократило расходы, так как теперь я плачу лишь за использованные токены, а не за условный безлимит на месяц.
💡 Основные фичи:
1. Поддержка нескольких моделей — можно переключаться между ними в один клик.
2. Чат-интерфейс — с историей, перепиской, вложениями и т.д.
3. Интеграция с API — если вы подключаете удалённые модели.
4. Работа с документами — можно загружать PDF, тексты и обрабатывать их через модель, создавая тем самым полноценный RAG по вашей документации.
5. Мультипользовательский режим — с ролями и правами.
Ключевым здесь является, на мой взгяд, возможность поднятия локально модели, например, через Ollama, и доступа к ней. Наличие видеокарты не будет убивать ваш проц, загрузкой 99%, как у меня.
К сожалению, на маки поддержку GPU пока что не завезли
📦 Где посмотреть?
GitHub: https://github.com/openwebui/openwebui
Документация: https://docs.openwebui.com
⚡️ Итого
OpenWebUI — это классный инструмент, который дает возможность локально поиграться с LLM через многим привычный интерфейс. Предоставляет GUI надстройку над, например, Ollama или других движков. И как одна из киллер фичей, позволяет делать полноценный RAG буквально за пару минут.
Если вы следите за развитием локальных LLM (больших языковых моделей), то наверняка сталкивались с проблемой: как удобно и быстро запустить модель у себя на машине и при этом получить красивый веб-интерфейс?
Я столкнулся скорее не с этой проблемой, а с тем, что мне нужно было как-то юзать ChatGPT, который работает под VPN. Последний как раз не очень дружил с моим рабочим VPN’ом, а переключение ради одного запроса выкидывало из удаленной тачки или отрубало доступ к Jira и прочим инфровым ресурсам 💩
И тут на помощь приходит OpenWebUI — это базовый и удобный фронтенд с открытым исходным кодом, который превращает локально запущенные модели в полноценный чат-интерфейс, напоминающий
🧩 Что такое OpenWebUI?
OpenWebUI — это self-hosted веб-интерфейс для работы с локальными и удалёнными LLM. Он не требует сборки, так как уже есть готовый набор Docker образов и просто запускается через Docker с подключением к разным бэкендам:
- Ollama
- Llama.cpp
- и другим через API
🛠️ Как работает?
1. Устанавливаете Docker.
2. Запускаете контейнер OpenWebUI.
3. Подключаете его к выбранному бэкенду (например, Ollama).
4. Открываете браузер и начинаете общаться с моделью через красивый интерфейс.
В моем случае, решением проблемы стало подключение к OpenAI proxy серверу, который имеет доступ к ChatGPT и общение в чатике через API ключ. Так как я стал достаточно редко в последние время использовать ChatGPT (тем более Pro версию), использование ключа сократило расходы, так как теперь я плачу лишь за использованные токены, а не за условный безлимит на месяц.
💡 Основные фичи:
1. Поддержка нескольких моделей — можно переключаться между ними в один клик.
2. Чат-интерфейс — с историей, перепиской, вложениями и т.д.
3. Интеграция с API — если вы подключаете удалённые модели.
4. Работа с документами — можно загружать PDF, тексты и обрабатывать их через модель, создавая тем самым полноценный RAG по вашей документации.
5. Мультипользовательский режим — с ролями и правами.
Ключевым здесь является, на мой взгяд, возможность поднятия локально модели, например, через Ollama, и доступа к ней. Наличие видеокарты не будет убивать ваш проц, загрузкой 99%, как у меня.
К сожалению, на маки поддержку GPU пока что не завезли
📦 Где посмотреть?
GitHub: https://github.com/openwebui/openwebui
Документация: https://docs.openwebui.com
⚡️ Итого
OpenWebUI — это классный инструмент, который дает возможность локально поиграться с LLM через многим привычный интерфейс. Предоставляет GUI надстройку над, например, Ollama или других движков. И как одна из киллер фичей, позволяет делать полноценный RAG буквально за пару минут.
Openwebui
🏡 Home | Open WebUI
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline. It is built around universal standards, supporting Ollama and OpenAI-compatible Protocols (specifically Chat Completions). This protocol…
🔥3🤩2🕊2🤯1
🔍 Сегодня утром проснулся — а в ленте уже GPT-5. OpenAI официально представила пятёрку.
7 августа 2025 года — дата, с которой можно начинать отсчёт новой эры ИИ-систем.
GPT-5 — это не просто апгрейд. Это интегрированная платформа с динамической маршрутизацией, многоуровневой безопасностью и адаптацией под задачу.
OpenAI явно сместила фокус: модель больше не просто «отвечает на вопросы», а встраивается в рабочие процессы — в бизнес, науку, медицину, разработку.
🧠 GPT-5 — это не одна модель, а семейство.
Внутри системы работает роутер, который в зависимости от запроса выбирает подходящую подмодель:
- gpt-5-main. Стандартная быстрая модель
- gpt-5-main-mini. Упрощённая и ещё более быстрая
- gpt-5-thinking. «Размышляющая» модель для сложных задач
- gpt-5-thinking-pro. Ускоренная reasoning-модель с параллельной обработкой
- gpt-5-thinking-nano. Компактная reasoning-модель для разработчиков
Роутер анализирует тип запроса и перенаправляет его в оптимальную модель.
Это снижает количество ошибок и повышает эффективность.
📉 Точность и безопасность
На реальных промптах:
- На 65% меньше галлюцинаций у gpt-5-thinking по сравнению с o3
- На 44% меньше серьёзных ошибок у gpt-5-main vs GPT-4o
- В медицинских задачах — снижение ошибок в 50 раз (HealthBench)
Появился механизм Safe Completions: модель не просто отказывает в генерации, а объясняет, почему запрос может быть опасным — особенно в dual-use сценариях (биология, химия, кибербезопасность).
GPT-5 Thinking отнесена к категории High Capability (обладающей потенциальным риском при злоупотреблении) — доступ к API только через Trusted Access Program.
💻 Программирование и Codex CLI
GPT‑5 полностью интегрирована в Codex CLI — инструмент, позволяющий использовать возможности модели в терминале. Пользователи ChatGPT с подпиской Plus, Pro или Team могут запускать Codex CLI без дополнительной платы за API.
Возможности:
- Генерирует код в вашем стиле (учитывает контекст и уже написанное)
- Отлаживает, пишет тесты, работает с файлами
- Интегрирована в Codex CLI — доступна через терминал
- Поддерживает контекст до 400K токенов
🔁 Как GPT-5 борется с «эффектом Бернулли»?
Это когда модель случайно выбирает неоптимальную цепочку рассуждений — и ошибается, хотя могла бы ответить правильно.
GPT-5 решает это несколькими способами:
- Динамическая маршрутизация — направляет запрос в подходящую модель
- Parallel Thought Sampling (в Pro) — запускает несколько цепочек рассуждений, выбирает лучшую
- Верификация логики — проверяет цепочку до финального ответа
- RLHF по reasoning — обучение на качественных рассуждениях, а не только на ответах
Результат: на 22% меньше критических ошибок в Pro-режиме.
💰 Цена и доступ
$1.25 за миллион входных токенов
$10 за миллион выходных
Для сравнения: GPT-4o был дороже при сопоставимой нагрузке.
Pro / Plus / Team — полный доступ к GPT-5 и GPT-5 Pro
Free — ограниченный reasoning (2–3 дня в неделю), потом переключается на gpt-5-mini
Enterprise / Edu — доступ открывается в течение недели
Codex CLI включён в подписку — отдельная оплата за API не нужна.
📌 Итого
GPT-5 — это переход от «умного чата» к интеллектуальной системе, встроенная в рабочие процессы.
Она:
- Рассуждает, а не просто генерирует
- Выбирает подходящую стратегию сама
- Безопасна, контролируема, точна
- Доступна разработчикам, аналитикам, учёным
- OpenAI больше не делает ИИ — они строят операционную среду для интеллектуальной работы.
7 августа 2025 года — дата, с которой можно начинать отсчёт новой эры ИИ-систем.
GPT-5 — это не просто апгрейд. Это интегрированная платформа с динамической маршрутизацией, многоуровневой безопасностью и адаптацией под задачу.
OpenAI явно сместила фокус: модель больше не просто «отвечает на вопросы», а встраивается в рабочие процессы — в бизнес, науку, медицину, разработку.
🧠 GPT-5 — это не одна модель, а семейство.
Внутри системы работает роутер, который в зависимости от запроса выбирает подходящую подмодель:
- gpt-5-main. Стандартная быстрая модель
- gpt-5-main-mini. Упрощённая и ещё более быстрая
- gpt-5-thinking. «Размышляющая» модель для сложных задач
- gpt-5-thinking-pro. Ускоренная reasoning-модель с параллельной обработкой
- gpt-5-thinking-nano. Компактная reasoning-модель для разработчиков
Роутер анализирует тип запроса и перенаправляет его в оптимальную модель.
Это снижает количество ошибок и повышает эффективность.
📉 Точность и безопасность
На реальных промптах:
- На 65% меньше галлюцинаций у gpt-5-thinking по сравнению с o3
- На 44% меньше серьёзных ошибок у gpt-5-main vs GPT-4o
- В медицинских задачах — снижение ошибок в 50 раз (HealthBench)
Появился механизм Safe Completions: модель не просто отказывает в генерации, а объясняет, почему запрос может быть опасным — особенно в dual-use сценариях (биология, химия, кибербезопасность).
GPT-5 Thinking отнесена к категории High Capability (обладающей потенциальным риском при злоупотреблении) — доступ к API только через Trusted Access Program.
💻 Программирование и Codex CLI
GPT‑5 полностью интегрирована в Codex CLI — инструмент, позволяющий использовать возможности модели в терминале. Пользователи ChatGPT с подпиской Plus, Pro или Team могут запускать Codex CLI без дополнительной платы за API.
Возможности:
- Генерирует код в вашем стиле (учитывает контекст и уже написанное)
- Отлаживает, пишет тесты, работает с файлами
- Интегрирована в Codex CLI — доступна через терминал
- Поддерживает контекст до 400K токенов
🔁 Как GPT-5 борется с «эффектом Бернулли»?
Это когда модель случайно выбирает неоптимальную цепочку рассуждений — и ошибается, хотя могла бы ответить правильно.
GPT-5 решает это несколькими способами:
- Динамическая маршрутизация — направляет запрос в подходящую модель
- Parallel Thought Sampling (в Pro) — запускает несколько цепочек рассуждений, выбирает лучшую
- Верификация логики — проверяет цепочку до финального ответа
- RLHF по reasoning — обучение на качественных рассуждениях, а не только на ответах
Результат: на 22% меньше критических ошибок в Pro-режиме.
💰 Цена и доступ
$1.25 за миллион входных токенов
$10 за миллион выходных
Для сравнения: GPT-4o был дороже при сопоставимой нагрузке.
Pro / Plus / Team — полный доступ к GPT-5 и GPT-5 Pro
Free — ограниченный reasoning (2–3 дня в неделю), потом переключается на gpt-5-mini
Enterprise / Edu — доступ открывается в течение недели
Codex CLI включён в подписку — отдельная оплата за API не нужна.
📌 Итого
GPT-5 — это переход от «умного чата» к интеллектуальной системе, встроенная в рабочие процессы.
Она:
- Рассуждает, а не просто генерирует
- Выбирает подходящую стратегию сама
- Безопасна, контролируема, точна
- Доступна разработчикам, аналитикам, учёным
- OpenAI больше не делает ИИ — они строят операционную среду для интеллектуальной работы.
👍1🔥1🎉1🤩1
🚀 Продолжая тему инструментов вокруг LLM, хочу поделиться впечатлениями про ещё одну интересную платформу — Dify.
Если OpenWebUI решает задачу удобного интерфейса для локальных или удалённых моделей, то Dify идёт дальше — это уже полноценный конструктор AI-приложений и MLOps-платформа.
🧩 Что такое Dify?
Dify — это open-source среда, ооочень сильно напоминающая N8n, которая помогает быстро создавать, тестировать и запускать приложения на базе LLM.
По сути, это Framework для разработки AI продуктов.
🛠️ Как работает?
1. Разворачиваем Dify (есть готовые Docker-образы).
2. Подключаете либо локально запущенную модель, либо через официальные API, например от OpenAI.
3. Собираете AI-приложение: чат-бот, ассистент, RAG-систему.
4. Тестируете и деплоите.
💡 Основные фичи:
1. Готовые блоки для сборки логики — накликиваем все через UI и сохраняем в JSON.
2. Управление пайплайнами — бесплатный аналог N8n.
3. Удобный редактор промптов — можно настраивать подсказки и тестировать их прямо в UI.
4. Поддержка RAG — загрузка и работа с собственными данными “из коробки”.
5. Маркетплейс шаблонов — есть уже готовые решения для быстрых запусков, доступные в Quick Start гайде.
⚡️ Почему это круто?
Если OpenWebUI — это удобный интерфейс, чтобы поиграться с моделями или использовать их локально, то Dify — это уже инструмент, чтобы строить полноценные AI-продукты: агенты, пайплайны.
По сути это некий аналог N8n, который однако имеет возможности делать не только пайплайны, но и просто ботов, как это предлагает OpenWebUI.
Как и в OpenWebUI, у нас есть так же возможность создать RAG пайплайн с Rerank моделями и подключением к разным векторным базам. Однако тут у нас есть также возможность и расширить его уже через полноценные пайплайны, которые будут загружать документы, более тщательно обрабатывая их и выдавать более релевантные результаты.
📦 Где посмотреть?
GitHub: https://github.com/langgenius/dify
Документация: https://docs.dify.ai
📊 Итог
Dify отлично дополняет OpenWebUI. Если первый даёт возможность и общаться с запущенными локально моделями(или внешними через API) через красивый UI, то второй помогает интегрировать эти модели в рабочие сервисы и продукты.
Если OpenWebUI решает задачу удобного интерфейса для локальных или удалённых моделей, то Dify идёт дальше — это уже полноценный конструктор AI-приложений и MLOps-платформа.
🧩 Что такое Dify?
Dify — это open-source среда, ооочень сильно напоминающая N8n, которая помогает быстро создавать, тестировать и запускать приложения на базе LLM.
По сути, это Framework для разработки AI продуктов.
🛠️ Как работает?
1. Разворачиваем Dify (есть готовые Docker-образы).
2. Подключаете либо локально запущенную модель, либо через официальные API, например от OpenAI.
3. Собираете AI-приложение: чат-бот, ассистент, RAG-систему.
4. Тестируете и деплоите.
💡 Основные фичи:
1. Готовые блоки для сборки логики — накликиваем все через UI и сохраняем в JSON.
2. Управление пайплайнами — бесплатный аналог N8n.
3. Удобный редактор промптов — можно настраивать подсказки и тестировать их прямо в UI.
4. Поддержка RAG — загрузка и работа с собственными данными “из коробки”.
5. Маркетплейс шаблонов — есть уже готовые решения для быстрых запусков, доступные в Quick Start гайде.
⚡️ Почему это круто?
Если OpenWebUI — это удобный интерфейс, чтобы поиграться с моделями или использовать их локально, то Dify — это уже инструмент, чтобы строить полноценные AI-продукты: агенты, пайплайны.
По сути это некий аналог N8n, который однако имеет возможности делать не только пайплайны, но и просто ботов, как это предлагает OpenWebUI.
Как и в OpenWebUI, у нас есть так же возможность создать RAG пайплайн с Rerank моделями и подключением к разным векторным базам. Однако тут у нас есть также возможность и расширить его уже через полноценные пайплайны, которые будут загружать документы, более тщательно обрабатывая их и выдавать более релевантные результаты.
📦 Где посмотреть?
GitHub: https://github.com/langgenius/dify
Документация: https://docs.dify.ai
📊 Итог
Dify отлично дополняет OpenWebUI. Если первый даёт возможность и общаться с запущенными локально моделями
GitHub
GitHub - langgenius/dify: Production-ready platform for agentic workflow development.
Production-ready platform for agentic workflow development. - langgenius/dify
🆒6👍2🤩2
🛠️ Немного о новом формате канала
Привет! Решил немного поменять концепцию канала.
Раньше я делал более крупные, "тематические" посты — со структурой, глубиной и проработкой. Это было круто, но не всегда получалось делать это регулярно.
Теперь хочу перейти к более живому формату:
📌 делиться тем, над чем работаю;
📌 что новое интересное читаю, изучаю, пробую;
📌 иногда — подводить краткие итоги недели или делиться заметками "на подумать/почитать".
Без лишнего — просто регулярные небольшие посты про MLOps, ML, DevOps и всё, что мимо меня проходит в работе и обучении.
Если вы тут за практикой, наблюдениями из поля и подборками интересного — думаю, вам понравится.
Спасибо, что читаете 🙌
Привет! Решил немного поменять концепцию канала.
Раньше я делал более крупные, "тематические" посты — со структурой, глубиной и проработкой. Это было круто, но не всегда получалось делать это регулярно.
Теперь хочу перейти к более живому формату:
📌 делиться тем, над чем работаю;
📌 что новое интересное читаю, изучаю, пробую;
📌 иногда — подводить краткие итоги недели или делиться заметками "на подумать/почитать".
Без лишнего — просто регулярные небольшие посты про MLOps, ML, DevOps и всё, что мимо меня проходит в работе и обучении.
Если вы тут за практикой, наблюдениями из поля и подборками интересного — думаю, вам понравится.
Спасибо, что читаете 🙌
🔥2❤1👍1😁1🤯1
🔜 О чём будем говорить дальше
Раз уж мы перешли на более "живой" формат, расскажу, о чём пойдут посты в ближайшее время — в виде заметок, размышлений и технических выкладок.
🧠 Про процессы и мышление
Что такое ретроспективы и как они реально могут влиять на продуктивность.
Эксперимент с еженедельным журналом — что делал, что мешало, что помогало. Сводка по проблемам и находкам: где коммуникация дала сбой, где задача вдруг распухла, а где наоборот — пошла гладко.
🛠️ Про инструменты и практику
Будет много коротких заметок про то, что тестирую/изучаю/внедряю в работе:
- FluxCD vs ArgoCD — в чём отличия и что стоит выбрать.
- GPU Operator и Multi-driver GPU установка на K8s.
- Как построить базовый RAG на OpenWebUI через внешние тулы буквально "за 0 рублей".
- Как шарить одну модель на команды через LiteLLM.
- MCP и оркестрация с MetaMCP.
- Появление DeepSeek OCR с поддержкой VLLM.
- А также EasyOCR и прочие нишевые тулзы, которые могут пригодиться.
Всё это — в формате коротких, понятных заметок, с реальными кейсами. Если хочется глубины по конкретной теме — всегда можно обсудить в комментах, в чате с возможными дальнейшими постами по определенной теме.
Поехали 🚀
Раз уж мы перешли на более "живой" формат, расскажу, о чём пойдут посты в ближайшее время — в виде заметок, размышлений и технических выкладок.
🧠 Про процессы и мышление
Что такое ретроспективы и как они реально могут влиять на продуктивность.
Эксперимент с еженедельным журналом — что делал, что мешало, что помогало. Сводка по проблемам и находкам: где коммуникация дала сбой, где задача вдруг распухла, а где наоборот — пошла гладко.
🛠️ Про инструменты и практику
Будет много коротких заметок про то, что тестирую/изучаю/внедряю в работе:
- FluxCD vs ArgoCD — в чём отличия и что стоит выбрать.
- GPU Operator и Multi-driver GPU установка на K8s.
- Как построить базовый RAG на OpenWebUI через внешние тулы буквально "за 0 рублей".
- Как шарить одну модель на команды через LiteLLM.
- MCP и оркестрация с MetaMCP.
- Появление DeepSeek OCR с поддержкой VLLM.
- А также EasyOCR и прочие нишевые тулзы, которые могут пригодиться.
Всё это — в формате коротких, понятных заметок, с реальными кейсами. Если хочется глубины по конкретной теме — всегда можно обсудить в комментах, в чате с возможными дальнейшими постами по определенной теме.
Поехали 🚀
❤1👍1🔥1🤯1
Также завтра 18 ноября в 18:00 будет небольшой стрим, где мы с автором канала @secrets_of_devops, Владимиром поговорим об MLOps
Буду рад всех видеть 🖐
Буду рад всех видеть 🖐
👍2❤1🔥1🥰1
Forwarded from Загадки DevOpsa
MLOps – что это такое и при чем тут DevOps?
18 ноября в 18:00 в прямом эфире на Twitch к нам в гости заглянет Александр Егоров.
Вместе с Сашей будем разбирать:
- почему без ML не получается нормально жить в проде;
- какие три кита MLOps на самом деле двигают всю магию под капотом;
- и где мы сталкиваемся со связкой MLOps сейчас.
Просто, без всяких галстуков, поговорим о будущем DeOps.
И ещё раз, для напоминалки: 18 ноября в 18:00!
Ссылка на трансляцию скину накануне, как и всегда😏
18 ноября в 18:00 в прямом эфире на Twitch к нам в гости заглянет Александр Егоров.
Вместе с Сашей будем разбирать:
- почему без ML не получается нормально жить в проде;
- какие три кита MLOps на самом деле двигают всю магию под капотом;
- и где мы сталкиваемся со связкой MLOps сейчас.
Просто, без всяких галстуков, поговорим о будущем DeOps.
И ещё раз, для напоминалки: 18 ноября в 18:00!
Ссылка на трансляцию скину накануне, как и всегда
Please open Telegram to view this post
VIEW IN TELEGRAM
🕊2❤1
Загадки DevOpsa
MLOps – что это такое и при чем тут DevOps? 18 ноября в 18:00 в прямом эфире на Twitch к нам в гости заглянет Александр Егоров. Вместе с Сашей будем разбирать: - почему без ML не получается нормально жить в проде; - какие три кита MLOps на самом деле двигают…
Напоминаю, что менее чем через 10 минут начнется эфир - ссылку на него пришлю в 18 часов
Буду рад всех увидеть и получить какие-то вопросы
Буду рад всех увидеть и получить какие-то вопросы