Pull to refresh
1
0
Stan @tmg

User

Send message

Он победил LLM RAG: реализуем BM25+ с самых азов

Level of difficultyEasy
Reading time18 min
Views17K

Привет, меня зовут Борис. Я автор телеграм канала Борис опять. Периодически мне на глаза попадается что-то интересное и я глубоко в этом закапываюсь. В данном случае это алгоритм поиска BM25+, который победил продвинутые методы векторного поиска на LLM.

Разберемся, что это за зверь и почему он так хорошо работает. В этой статье мы реализуем его на Python с нуля. Начнем с самого простого поиска, перейдем к TF-IDF, а затем выведем из него BM25+.

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

Код доступен в Google Collab.

Читать далее

Как анализировать тысячи отзывов с ChatGPT? Частые ошибки и пример на реальных данных

Level of difficultyEasy
Reading time19 min
Views8.2K

В этой статье я расскажу про свой опыт решения рабочей задачи — анализ отзывов о компании от пользователей. Мы разберем возможные ошибки и посмотрим на пример кода и реальных данных. Гайд будет полезен всем, у кого нет большого опыта в анализе данных или работе с LLM через API.

Читать далее

Рекрутинговый ад или как я в Канаде IT работу искал

Level of difficultyEasy
Reading time8 min
Views88K

Привет. Мне 32 года, идентифицирую себя как Middle Frontend Developer. У меня почти 7 лет опыта работы, из которых только три я считаю релевантными, где я работал с современными технологиями типа React, TypeScript, GraphQL и т.д. До этого работа заключалась в разработке сайтов с использованием JQuery.

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

Читать далее

Почему MMAP не лучший выход

Level of difficultyMedium
Reading time23 min
Views7.2K

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


MMAP захватила умы программистов СУБД на многие десятилетия, как альтернатива буферу данных. И вот здесь следует отметить, что в mmap имеются серьёзные проблемы с корректностью и скоростью работы с данными в современных СУБД. В реальности, некоторые известные СУБД сперва использовали mmap для работы с "больше-чем-вмещается-в-память" базами данных, но вскоре обнаружили эти скрытые ограничения, которые принудили их к самостоятельному управлению файловым вводом/выводом, после заметных трат на инженерные исследования. В этом смысле mmap и СУБД подобны сочетанию кофе и острой пищи: неудачное сочетание, которое не очевидно, пока сам не попробуешь.


Покуда разработчики по прежнему пытаются использовать mmap в новых СУБД, мы написали эту статью, чтобы предупредить остальных, что mmap это не подходящая замена привычному буферу. Далее мы обсудим основные недостатки mmap, а также покажем явные ограничения производительности, которые мы обнаружили в наших экспериментах. На основании этих находок мы поделимся рецептами, когда разработчикам СУБД следует избегать mmap для реализации файлового ввода/вывода.

Читать дальше →

Об управлении esp32-машинками (и не только) через wifi/websocket-ы с помощью пульта на базе смартфона

Level of difficultyMedium
Reading time10 min
Views11K
Картинка Freepik

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

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

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

Читать дальше →

Стеллажная система на 480 ярусов: как автоматизировать выращивание растений и не сойти с ума

Level of difficultyEasy
Reading time7 min
Views16K

Стеллажные системы позволяют круглый год выращивать свежую зелень и цветы. Здесь вполне можно обойтись без полноценной автоматизации, используя реле времени.

Но как быть, если у тебя 480 ярусов и несколько десятков культур салатов, микрозелени и съедобных цветов? И для каждой нужно создать свои оптимальные условия?

Мы посетили как раз такую стеллажную систему Greenery.City в Гатчине и поделимся опытом автоматизации из первых рук. Интересно? Ныряйте под кат.

Читать далее

Создание самодельного 3-d принтера на кинематике coreXY

Level of difficultyEasy
Reading time10 min
Views10K

Здраствуйте меня зовут Дмитрий, как-то гуляя по сайту Aliexpress я наткнулся на стол для 3-d принтера Falshforge Creator Pro. И он мне так понравился, что я решил создать самодельный 3-d принтер на основе этого стола. А заодно я поделюсь с вами моим опытом принтеростроения.

Читать далее

Простой способ создания самодельных витражей с помощью ЧПУ-станка

Level of difficultyMedium
Reading time13 min
Views13K
Картинка Vecstock, Freepik

Сегодня поговорим о такой интересной технике оформления стёкол, как витраж, а также попробуем прикинуть, как нам создать его минимальными усилиями!
Читать дальше →

Как общаться с базой знаний на естественном языке с помощью LLM и объективно оценить работу полученной системы

Level of difficultyEasy
Reading time11 min
Views7.3K

Привет, Хабр! Меня зовут Даниил, работаю в ML-отделе Doubletapp. В статье расскажу про особенности применения больших языковых моделей для оптимизации бизнес-процессов.

Большая языковая модель (LLM) — это тип языковой модели, который способен распознавать и генерировать осмысленные тексты, а также другие сложные типы данных (например, код). Такого рода модели обучаются на огромных массивах данных, чаще всего собранных из открытых источников.

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

Такая система ответов на вопросы с использованием фактической информации называется RAG (Retrieval Augmented Generation).

Данная статья состоит из двух частей:

мы рассмотрим построение RAG-системы на основе библиотеки langchain;

объективно оценим работоспособность созданной системы, используя синтетические данные на русском языке с помощью фреймворка RAGAs.

Читать далее

Копитрейдинг — это возможность для заработка или очередной развод от брокеров?

Reading time11 min
Views18K

Всем привет!

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

Сначала я парсил сайт traderwagon, который, к сожалению, закрылся. Тогда я переключился на binance copy trading, который как раз запускался.

<spoiler title="Подробности"> Здесь ваш скрытый текст, который будет показан только после того, как читатель нажмет на заголовок спойлера. </spoiler>

Некоторые технические детали

Количество портфолио для инвестирования на binance непрерывно растёт. Сейчас их более 10 тысяч, поэтому мой скрипт парсит только портфолио, идентификаторы которых заканчиваются на 0 и 1. Таким образом я обеспечиваю

Я решил проверить:

Читать далее

Начинаем продолжать: обработка исходников с помощью ИИ в оффлайне

Level of difficultyMedium
Reading time17 min
Views11K

В этой статье я расскажу про расширение «Continue» для VSCode, помогающее обрабатывать исходные коды и просто текст любым ИИ, в том числе бесплатным и запущенным локально; а так же покажу, что умеет делать локальный вариант ИИ уже сейчас. 

Читать далее

Как я собрал красивое ведро для гидропоники

Level of difficultyEasy
Reading time10 min
Views31K

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

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

Сегодня расскажу про то, как правильно утопить растение, спроектировать прототип и выйти в релиз, даже если твои тестеры очень сильные люди.

Читать далее

Автоматизированная торговля акциями с использованием глубокого обучения с подкреплением

Level of difficultyMedium
Reading time7 min
Views13K

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

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

Читать далее

Как сделать автоматический полив: грунт и гидропоника

Level of difficultyEasy
Reading time5 min
Views17K

Полив — регулярная и трудоемкая задача, которая отнимает массу времени, поэтому ее не мешает автоматизировать, чтобы все работало само. Из песни слов не выкинешь: «Вкалывают роботы, счастлив человек».

В преддверии дачного сезона мы решили поделиться двумя решениями автоматизации для полива грунта и гидропоники. Оба базируются на контроллере под Linux и успешно показали себя в действующих проектах.

Мы посетим загородный дом под Екатеринбургом и стеллажную систему в Минске. Интересно? Ныряйте под кат.

Читать далее

Энергетические МГД-установки со сверхкритическим электропроводным рабочим телом

Level of difficultyHard
Reading time7 min
Views2.8K

Привет Хабр!

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

Несколько лет назад, я увидел на YouTube видео, описывающие прибор под названием Fluidyne. По сути, это двигатель Стирлинга, в котором используется жидкий поршень, совершающий колебательные движения в процессе работы.

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

Читать далее

Как мы научили YandexGPT пересказывать видео

Level of difficultyMedium
Reading time14 min
Views18K

Порой бывает сложно перематывать длинный ролик в надежде найти хоть что-то интересное или тот самый момент из Shorts. Или иногда хочется за ночь узнать, о чём шла речь на паре научных конференций. Для этого в Браузере есть волшебная кнопка — «Пересказать», которая экономит время и помогает лучше понять, стоит ли смотреть видео, есть ли в нём полезная информация, и сразу перейти к интересующей части.

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

Читать далее

Каков C++ в gamedev'e?

Level of difficultyEasy
Reading time11 min
Views30K

Хотел написать продолжение к статье Что почитать игровому программисту? про использование С++ в игровых движках, но размышления свернули куда-то не туда.

Завороженно смотрю как и какими темпами идет развитие языка в последние годы, и понимаю, что получить и особенно применить возможности С++20/3 в разработке игр и движков получится хорошо, если с опозданием лет эдак в пять, как раз на следующее поколение консолей, если вообще получится. Сейчас плюсы в игрострое зависли где-то между 14 и 17 стандартом, Сони только-только выкатила свою версию компилятора с полной поддержкой 17 стандарта, а учитывая реактивность игровых студий в изменении кор пайплайнов, что-то новое начнут только в новых проектах. Менять коня, т.е. компилятор посреди разработки игры равносильно стрельбе не только по ногам себе, но и соседям программистам: работает - не чини.

Если смена компилятора и стандарта не даст гарантированного прироста скорости работы больше 5%, то бюджет и людей я не одобрю. (с)

Знакомство с кодовой базой больших движков дает понимание уровня и объёмов кода в продакшене и в тулзах, и ситуация вырисовывается такая, что эти объемы стали в индустрии, что называется "too big to fall", т.е. написать что-то новое, уровня движков вроде Unity/Unreal/Dagor на другом языке, будь он хоть в тысячу раз безопаснее и в десять раз быстрее не получится, но попытки конечно делаются. И чем дальше продолжается поддержка существующих проектов на плюсах, тем меньше возможности выбора остается.

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

По техдолгам будут платить наши джуны

Как перестать «ходить на дырку» на даче и не надышаться миазмами

Level of difficultyEasy
Reading time5 min
Views74K

Эта статья адресована тем, кто сам занимается строительством канализации на даче.

Миллионы дач в России ранее были оборудованы туалетами типа "сортир с выгребной ямой". С этого многие начинали и многие этим и закончили. Но по мере продвижения ИИ в массы и вообще развития технологий, многие задумались о том, что душ доме на даче это хорошо. А также нормальный тубзик. В котором можно нормально гнездится и почитать газету в интернете, Хабр или что-то еще полезное, а не напряженно ждать вцепится ли в тебя рой мух или нет. Опять же эстетика сортира уже устарела.

Читать далее

Как составить эффективное резюме через нейросети

Reading time13 min
Views23K

В эпоху цифровизации трудоустройства, когда рекрутинговые агентства и HR-отделы переходят на автоматизированные системы обработки резюме, важность составления эффективного CV выходит на новый уровень. Первое впечатление о кандидате складывается за считанные секунды. Плюс не забываем о количестве кандидатов, претендующих вместе с вами на одну и ту же должность. Такова реальность современного рынка труда, где у нас есть два варианта: сдаться или принять этот вызов.

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

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

Приятного чтения!

Читать далее

Собеседование на английском: самопрезентация для разработчиков

Level of difficultyEasy
Reading time12 min
Views9.3K

Всем привет! Меня зовут Елена Свистова, я методист образовательных программ английского языка в Практикуме, преподаватель и англоговорящий интервьюер в международных IT-компаниях. 

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

Читать далее

Information

Rating
Does not participate
Location
Подгорица, Подгорица, Черногория
Date of birth
Registered
Activity