Как стать автором
Обновить
102
0
Антон Титов @Lachezis

CTO and Co-Founder at Spiral Scout

Отправить сообщение

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

Время на прочтение18 мин
Количество просмотров8.7K

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 18: ↑18 и ↓0+19
Комментарии8

Kubeflow: учимся устанавливать и запускать Kubeflow на локальной машине

Время на прочтение6 мин
Количество просмотров4K
Пошаговое руководство по установке и конфигурированию всех компонентов kubeflow на локальной машине.

image
Рис. 1. Взаимодействие Kubeflow и Kubernetes | рисунок автора |иконки от Eucalyp

Kubeflow [1] – это созданная Google опенсорсная платформа, на которой разворачивается весь жизненный цикл разрабатываемой модели машинного обучения. Kubeflow представляет собой инструментарий, каждый компонент которого применяется для отработки каждой из стадий жизненного цикла при машинном обучении, а именно: исследования данных, конструирования признаков, преобразования признаков, обучения модели, оценки модели, тонкой настройки модели, предоставления модели и версионирования модели. Главный атрибут kubeflow заключается в том, что он предназначен для работы на базе kubernetes [2]. Таким образом, kubeflow пользуется именно теми преимуществами, которые предоставляет кластер kubernetes, в частности, оркестрацией контейнеров и автомасштабированием.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+13
Комментарии1

YOLOv7 пользовательское обнаружение объектов

Время на прочтение20 мин
Количество просмотров21K

Статья по обучению YOLOv7 на своих данных, для обнаружения выбоин на дорогах

С момента своего создания семейство моделей обнаружения объектов YOLO прошло долгий путь. YOLOv7 является самым последним дополнением к этому знаменитому семейству детекторов объектов с одним выстрелом на основе привязки. Он поставляется с множеством улучшений, которые включают в себя самую современную точность и скорость. В этой статье мы проведем точную настройку модели обнаружения объектов YOLOv7 на основе реального набора данных для обнаружения выбоин.

Поехали
Всего голосов 7: ↑7 и ↓0+7
Комментарии9

DIY-одноплатник или OrangePi на минималках

Время на прочтение14 мин
Количество просмотров19K

Некоторое время назад Arduino казалось какой-то непонятной магией когда только узнал про нее. Потом быстро перешел к самим микроконтроллерам. Позже, работая программистом микроконтроллеров, захотелось чего-то большего и я уже смотрел в сторону линукса и одноплатных компьютеров. В руки попал Raspberry Pi, но это готовый продукт с определенной периферией (не хочу HDMI, хочу RGB LCD) и некоторое время спустя я уже думал как сделать что-то подобное самому.

Читать далее
Всего голосов 82: ↑82 и ↓0+82
Комментарии19

Stable Diffusion: Лучшая версия DALL-E 2 с открытым исходным кодом

Время на прочтение6 мин
Количество просмотров12K

Созданная проектировщиками и инженерами из Stability AI, CompVis и LAION, "Stable Diffusion" отбирает право на обладание титулом новой современной модели преобразования текста в изображение с открытым исходным кодом у Craiyon, ранее известного как DALL-E-Mini.

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

Давайте углубимся в детали и узнаем, что Stable Diffusion припасла для научного сообщества.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии6

Самодельный носимый рюкзачный компрессор на 600 атмосфер? Вызов принят

Время на прочтение14 мин
Количество просмотров29K

А давайте-ка я расскажу вам, как мы построили несколько весьма интересных видов технических устройств, добились поразительных результатов, но потом забросили? Усаживайтесь поудобнее, мы начинаем:)

Читать дальше →
Всего голосов 109: ↑108 и ↓1+142
Комментарии51

Flutter for Desktop — новый подход к разработке приложений

Время на прочтение11 мин
Количество просмотров26K

Язык программирования Dart был изначально разработан как перспективная замена JavaScript в веб-приложениях (с поддержкой асинхронности, потоков, классической поддержки ООП и возможностью использования строгой типизации), но, к сожалению, в этом качестве он так и не достиг значительных успехов. Однако в дальнейшем компилятор Dart был доработан для других целевых платформ и наибольшего успеха достиг в сочетании с фреймворком Flutter как инструмент разработки высокопроизводительных мобильных приложений, создаваемых на основе реактивной модели. Но нужно отметить, что наряду с возможностями компиляции в целевые платформы Android и iOS (а также, разумеется, Web), Dart также может использоваться для создания приложений для операционных систем Windows, Linux и MacOS, что в сочетании с возможностями фреймворка Flutter и оптимизированных платформенных реализаций Flutter Engine и Embedder, представило новый путь к созданию нативных приложений с графическим интерфейсом. В этой статье мы рассмотрим возможности и особенности реализации desktop-приложений на Flutter и разберемся с механизмами интеграции внешних библиотек.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии18

15 Open Source библиотек для повышения качества данных

Время на прочтение5 мин
Количество просмотров11K

Автор этого материала — программист и ML-инженер — собрала Open Source библиотеки Python, которые помогут вам сделать данные лучше, чтобы избежать траты времени и упростить анализ данных. Подборкой делимся к старту курса по анализу данных.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

35 реальных рисков, убивающих data- и machine learning проекты

Время на прочтение13 мин
Количество просмотров8.4K

Всем привет! Эта статья - обобщение моего опыта 30+ проектов, связанных с обработкой данных и машинным обучением. Здесь не будет теории про управление рисками и общего перечня проектных рисков. Я перечислил только наиболее частые “грабли” именно из data-специфики, с которыми приходилось сталкиваться за последние 7 лет. Надеюсь, что эта статья поможет менеджеру проекта или менеджеру продукта сохранить свой цвет волос, ценное время команды и удовлетворенность заказчиков. Риски я разделил на три группы:

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии5

Работа с временем в Google

Время на прочтение2 мин
Количество просмотров53K

Высокоточный рубидиевый осциллятор PRS10

Компания Google решила отказаться от использования NTP (Network Time Protocol) и создала свою собственную систему проверки времени с GPS и атомными часами, более точную и надёжную. Её назвали TrueTime API. Система работает для обеспечения целостности крупнейшей в мире базы данных Google Spanner, распределённой по всему миру.
Читать дальше →
Всего голосов 68: ↑62 и ↓6+56
Комментарии31

Открытый проект индуктивного абсолютного энкодера

Время на прочтение11 мин
Количество просмотров31K

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

Читать далее
Всего голосов 102: ↑101 и ↓1+125
Комментарии122

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

Время на прочтение10 мин
Количество просмотров45K

Дефицит компонентов отразился не только на рынке потребительской электроники, но и на промышленной. Стали дефицитом в том числе и частотные преобразователи (ЧП). Может стоит сделать свой ЧП? Мы пробовали.

Вот что получилось
Всего голосов 60: ↑59 и ↓1+78
Комментарии80

Как перестать разговаривать с людьми и собрать свой первый синтезатор

Время на прочтение12 мин
Количество просмотров21K

Жизнь в 2021 не стала легче. Ледники всё ещё тают, границы закрыты, биткоин дорожает, а просмотров у любого челленджа в Тиктоке больше чем у всех видео с канала NASA вместе взятых. Что делать технарю, чтобы почувствовать себя уютнее в постоянно меняющемся мире где в новостях пишут что Земля снова плоская, а коллеги у кулера всерьёз обсуждают программирование микроконтроллеров на JavaScript?

Выход есть: зимой пора сделать то о чём вы давно мечтали, но не знали с какой стороны подступиться — собрать свой первый синтезатор. Я собрал 10 штук и сейчас расскажу с чего можно начать.

Читать далее
Всего голосов 28: ↑26 и ↓2+28
Комментарии16

Тёмный маршрутизатор из Raspberry Pi

Время на прочтение3 мин
Количество просмотров25K

В данной статье я расскажу о том, как я сделал из Raspberry Pi маршрутизатор, способный перенаправлять отдельные сайты, отдельные подсети, да хоть все запросы через tor.

Читать далее
Всего голосов 17: ↑16 и ↓1+21
Комментарии28

Blazor WebAssembly: соединительные линии в SVG

Время на прочтение4 мин
Количество просмотров4K

Demo | GitHub

В статье описан способ реализации соединительных линий между SVG объектами. Соединительные линии автоматически перестраиваются при изменении положения объектов. Попутно рассмотрен метод OnParametersSet.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии5

Анализ распределения временных интервалов между покупками на R

Время на прочтение10 мин
Количество просмотров4.2K

В статье я провожу ресёрч интервалов между собственными банковскими тратами за последние полгода и с помощью статистических методов в R пытаюсь понять, какому распределению эти интервалы подчиняются.

Я представляю:

1. Код на R для анализа любых временных интервалов.

2. Подбор экспоненциального и степенного распределения под данные с помощью метода максимального правдоподобия (MLE). Для экспоненциального я использую fitdistr() из пакета MASS, а для степенного fit_power_law() из пакета igraph.

3. Проверку данных на соответствие подобранному распределению с помощью теста Колмогорова-Смирнова. Я использую функцию ks.test() из пакета stats.

Читать далее
Всего голосов 10: ↑9 и ↓1+12
Комментарии11

Как развить в себе системные качества лидера

Время на прочтение8 мин
Количество просмотров34K

Помните фразу «ему не дано быть лидером»? Но данность ли это? Уверена, что нет. Лидерские качества в себе можно развить, как и другие soft skills, а предрасположенность — харизма и прочие природные данные — всего лишь помогают в этом, но не являются определяющими. Как самостоятельно «прокачать» в себе лидерство и какие лидерские навыки особенно нужны разработчикам, которые хотят стать тимлидами?

Читать далее
Всего голосов 24: ↑21 и ↓3+22
Комментарии10

TinyPhoto: встраиваемая графика и экономичные вычисления

Время на прочтение7 мин
Количество просмотров8.9K

TinyPhoto – это миниатюрный электронный фотоальбом с встраиваемой графикой, собранный с использованием микроконтроллера ATiny85 и OLED-дисплея 128х64px. Такой дуэт может обеспечить не менее 20 часов непрерывного показа изображений от «таблетки» на 3В и 225мАч.
Всего голосов 25: ↑23 и ↓2+35
Комментарии10

Парсим протобаф на скорости больше 2 Гб/с.: как я научился любить хвостовую рекурсию в C

Время на прочтение10 мин
Количество просмотров12K


Отличную функцию недавно добавили в основную ветку компилятора Clang. С помощью атрибутов [[clang::musttail]] или __attribute__((musttail)) теперь можно получить гарантированные хвостовые (tail) вызовы в C, C++ и Objective-C.

int g(int);
int f(int x) {
    __attribute__((musttail)) return g(x);
}

(Онлайн-компилятор)
Читать дальше →
Всего голосов 25: ↑24 и ↓1+39
Комментарии12

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Время на прочтение9 мин
Количество просмотров66K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Всего голосов 205: ↑205 и ↓0+205
Комментарии229
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
San Francisco, California, США
Зарегистрирован
Активность