Pull to refresh
1
0
Алексей Ефремов @alekseyefremov

Пользователь

Send message

Интеграция LLM в корпоративные чат-боты: RAG-подход и эксперименты

Level of difficultyEasy
Reading time11 min
Views4.8K

Всем привет! На связи команда AI-Run из X5 Tech, мы занимаемся генеративными сетями в целом и языковыми моделями в частности. В этой статье мы опишем наш опыт работы с большими языковыми моделями (LLM), их внедрение для обработки корпоративных данных, а также поделимся нашими результатами и выводами.

Ещё мы расскажем о нашем подходе к использованию LLM, подробно остановимся на методе Retrieval Augmented Generation (RAG) и рассмотрим примеры использования чат-ботов на корпоративных порталах X5.

Эта статья будет полезна разработчикам, которые интересуются внедрением LLM для работы с корпоративными данными. Она основана на нашем выступлении на митапе, но не ограничивается им, а, скорее, дополняет его. 

Читать далее
Total votes 15: ↑15 and ↓0+17
Comments6

17 продвинутых RAG-техник: как превратить прототип LLM-приложения в готовое решение

Reading time18 min
Views7.8K

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

И ведь действительно, LLM и мультимодальные модели уже сейчас демонстрируют впечатляющие возможности и при этом относительно просты во внедрении. Создать простое приложение на их основе - дело нескольких строк кода. Однако переход от эксперимента к стабильному и надежному решению — задача посложнее.

Как метко подметил Мэтт Тёрк: если в 2023 году мы боялись, что GenAI нас погубит, то в 2024-м мечтаем хоть как-то приручить его и запустить в "мелкосерийное производство".

Если вы уже успели создать свои первые LLM-приложения и готовы вывести их на новый уровень, эта статья для вас. Мы рассмотрим 17 продвинутых RAG-техник, которые помогут избежать типичных ошибок и превратить ваш прототип в мощное и стабильное решение.

Пристегните ремни, мы отправляемся в увлекательное путешествие по миру AGI! Вместе мы:

Поймем, как система отличает ценную информацию от информационного шума;

Разберемся, как правильно подготовить данные для LLM;

Выясним, можно ли строить цепочки из нескольких LLM;

Поймем, как направлять запросы через разные компоненты системы.

Приятного прочтения(:

Читать далее
Total votes 18: ↑18 and ↓0+19
Comments8

Новое в Pure.DI

Level of difficultyMedium
Reading time14 min
Views2.4K

Эта статья о том, что появилось нового в генераторе исходного кода Pure.DI с момента выхода предыдущей статьи Pure.DI v2.1. Помимо исправления некоторых ошибок основной акцент был сделан на упрощении использования API для настройки генерации кода. Появилась возможность определить корни композиции обобщенных типов. Добавились накопители, что решило вопрос утилизации объектов со временем жизни отличным от Lifetime.Singleton и Lifetime.Scoped. Удалось улучшить производительность методов Resolve() и корней композиции.

Читать далее
Total votes 5: ↑5 and ↓0+7
Comments2

Как создать telegram бот на C# быстро?

Reading time6 min
Views154K

Как создать telegram bot на C# быстро?

В этой статье мы рассмотрим заготовку для создания telegram бота на C#. В связи с последними обновлениями TelegramBotAPI, большая часть удачных с моей точки зрения публикаций на эту тему несколько устарело. Потому предлагаю разобраться в этой теме.

Читать далее
Total votes 28: ↑20 and ↓8+16
Comments39

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1

Level of difficultyMedium
Reading time11 min
Views27K

Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры (далее — ЧА). Предупреждаю сразу, это лонгрид в двух частях!

Читать далее
Total votes 58: ↑55 and ↓3+58
Comments65

Zigbee шлюз для счетчиков Меркурий

Reading time1 min
Views14K

Давно удивлялся, почему не смотря на распространенность счетчиков Меркурий и возможность съема с них показаний через RS-485, на рынке DIY устройств не было Zigbee шлюза для них. Этот пробел я решил восполнить самостоятельно.

Читать далее
Total votes 41: ↑39 and ↓2+52
Comments26

Настраиваем CI/CD с GitHub Actions и werf: инструкция для новичков

Level of difficultyEasy
Reading time12 min
Views12K

В этой статье мы рассмотрим, как настроить пайплайн CI/CD в GitHub: подготовим репозиторий, зальём туда приложение, создадим файлы конфигурации GitHub Actions, в которых опишем, как собирать наше приложение и деплоить его в кластер Kubernetes, развёрнутый под управлением Deckhouse Kubernetes Platform. Деплоить будем с помощью Open Source CLI-утилиты werf. Она помогает организовать полный цикл доставки приложений в Kubernetes и рассматривает Git как единый источник истины для состояния развёрнутого приложения. Статья рассчитана на тех, кто только начинает свой путь в мире облаков и кластеризации.

Читать далее
Total votes 22: ↑21 and ↓1+26
Comments2

Как сайты обнаруживают ботов по TLS

Level of difficultyMedium
Reading time3 min
Views7.3K

Порой случается так что несмотря на то что мы в точности повторяем запрос к сайту из своего любимого HTTP клиента в ответ мы получаем ошибку. Но ведь в браузере запрос проходит! В чём же дело? В этой статье мы с этим разберемся!

Читать далее
Total votes 20: ↑19 and ↓1+21
Comments6

Многорукие бандиты в задаче ритейла

Reading time9 min
Views4.1K

В настоящее время набирают популярность модели Reinforcement Learning для решения прикладных задач бизнеса. В этой статье мы рассмотрим подмножество этих моделей, а именно многоруких бандитов (multi-armed bandits). Также мы:

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

Читать далее
Total votes 11: ↑9 and ↓2+8
Comments5

О методах позиционного кодирования в Transformer

Level of difficultyHard
Reading time10 min
Views11K

Обзор методов кодирования позиций токенов в нейросетевых моделях Transformer с упором на обработку длинных текстов. Для тех, кто учит и использует LLM, и для всех интересующихся.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments11

Коммивояжёр за полином*

Level of difficultyHard
Reading time12 min
Views4.6K

Если вам нужно решить задачу коммивояжёра, то нет ничего проще. Нужно просто взять квантовый компьютер с числом кубитов не меньшим числа вершин рассчитываемого графа…

Нет под рукой квантового компьютера? Не беда, читайте дальше и узнаете, как можно решать данную задачу на классическом компьютере за полиномиальное время* от числа вершин.

Читать далее
Total votes 14: ↑12 and ↓2+12
Comments38

«ИИ без границ»: как научить Transformer обрабатывать длинные тексты

Level of difficultyHard
Reading time12 min
Views8.7K

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

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments4

RecTools – OpenSource библиотека для рекомендательных систем

Level of difficultyMedium
Reading time8 min
Views9.2K

Если вы когда-либо работали с рекомендательными системами, то знаете, что все необходимые и самые часто используемые инструменты разбросаны по разным библиотекам. Более того, каждая из таких библиотек имеет много уникальных особенностей, к которым нужно приноровиться (например, разные форматы данных на вход).

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

К такому же выводу, видимо, пришли ребята из МТС – и выкатили в опенсурс RecTools. Это библиотека, где собраны самые часто используемые модели для рекомендательных систем. Также с её помощью можно максимально просто и быстро оценивать необходимые метрики. 

Давайте же посмотрим, что RecTools умеет, и как с этим работать.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments4

Вставай, Наташа, «Яндекс» все уронил. Или что делать, если «Директ» перестал приносить заявки?

Level of difficultyEasy
Reading time11 min
Views4.1K

Рекламная кампания хорошо работала несколько месяцев и вдруг "сломалась"? Лидов стало меньше или они пропали совсем. Возможно, количество заявок изменилось не сильно, но они стали дороже и рекламного бюджета уже не хватает. К сожалению, сегодня такая проблема — не редкость. Многие специалисты по контексту жалуются на нестабильность Яндекс Директа. 

Читать далее
Total votes 6: ↑1 and ↓5-2
Comments0

Лиды с Директа в 2–3 дешевле: лайфхак при настройке Мастеров кампаний

Reading time4 min
Views1.6K

Два года назад Яндекс выкатил Мастер кампаний. Споры по эффективности МК не утихают до сих пор, звучат негативные оценки. Мы тоже были настроены скептически, но при тесте различных форматов нашли методику работы с МК. Она позволила уменьшить стоимость лида в 2–3 раза. Расскажем, как нам это удалось.

Читать далее
Total votes 5: ↑3 and ↓2+2
Comments2

Reinforcement learning для оптимизации цен в ритейле

Level of difficultyMedium
Reading time14 min
Views3.7K

Динамическое ценообразование является современным подходом к ценообразованию в ритейле. Оно напрямую связано с моделированием спроса, что позволяет проводить оптимизацию цен на будущий период. В этой задаче популярным решением является использование машинного обучения, однако, есть мнение, что Reinforcement Learning (а именно, многорукие бандиты), способны выступить сильной альтернативой моделям ML для динамического ценообразования. Но так ли это на самом деле? Попробуем разобраться в этой статье, держа в уме практические аспекты.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Как (быстро) сделать русский локальный ChatGPT

Level of difficultyMedium
Reading time7 min
Views41K

Эта история началась в начале марта этого года. ChatGPT тогда был в самом расцвете. Мне в Telegram пришёл Саша Кукушкин, с которым мы знакомы довольно давно. Спросил, не занимаемся ли мы с Сашей Николичем языковыми моделями для русского языка, и как можно нам помочь.

И так вышло, что мы действительно занимались, я пытался собрать набор данных для обучения нормальной базовой модели, rulm, а Саша экспериментировал с существующими русскими базовыми моделями и кустарными инструктивными наборами данных.

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

Читать далее
Total votes 70: ↑69 and ↓1+88
Comments54

Как сделать контекстное окно на 100K в большой языковой модели: обо всех фокусах в одном посте

Reading time17 min
Views8.4K

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

tldr; в статье рассмотрены приёмы, позволяющие ускорить обучение больших языковых моделей (LLM) и нарастить в них логический вывод. Для этого нужно использовать большое контекстное окно, в котором умещается до 100K входных токенов. Вот эти приёмы: ALiBi с подмешиванием в вектор позиции слова в последовательности (positional embedding), разреженное внимание (Sparse Attention), мгновенное внимание (Flash Attention),  многозапросное внимание, условные вычисления и GPU A100 на 80 ГБ.  

Читать далее
Total votes 21: ↑21 and ↓0+21
Comments1

Генерация текстов, кластеризация и определение E-A-T и коммерческости запросов на нейросети OpenAI (GPT-3)

Level of difficultyMedium
Reading time19 min
Views2.8K

Всем привет! Сегодня я хочу показать 5 примеров использования искусственного интеллекта (ИИ) на нейросети OpenAI (GPT-3) применительно к SEO: это кластеризация поисковых запросов, определение степени коммерциализации запросов, оценка качества контента Google E-A-T, генерация статей по ключевым словам и извлечение сущностей из текста.

Все это делается с регистрацией, СМС и только через VPN, но, в отличии от классических способов, применяемых сеошниками – без использования поисковых систем. Только OpenAI, только хардкор!

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments4

MiVOLO: новая State-of-the-Art нейросеть с открытым исходным кодом для определения пола и возраста по фотографии

Level of difficultyMedium
Reading time12 min
Views5.1K

Привет, Хабр!

Хочу рассказать вам нашу историю о том, как изначально рутинная рабочая задача закончилась созданием открытой state-of-the-art нейросети, научной работой и новым датасетом.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments9
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity