Pull to refresh
-15
0
Send message

Простой и быстрый тест LLM для прототипа: сравниваем 16 open-source-моделей на запросе с разной температурой

Level of difficultyEasy
Reading time16 min
Views3.9K

Привет, Хабр! Меня зовут Дмитрий Фролов, я ведущий разработчик в Центре компетенций Data Science МТС Диджитал. С ростом популярности LLM создание на них прототипа может прилететь даже тем, кто напрямую с ML не связан. Допустим, вы работаете аналитиком, а ваше начальство резко захотело генератор текста или отчетов в стиле клиентского менеджера с open-source LLM под капотом. Скорее всего, в таких задачах вы ни в зуб ногой, а разбираться с api и токенами нет времени и желания.

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

Итак, велкам под кат, если вам интересно, как «на коленке» протестировать сразу шестнадцать LLM, какие результаты покажет тест и куда смотреть, если нужны более серьезные результаты.

Читать далее
Total votes 25: ↑24 and ↓1+32
Comments1

SolidModelBrowser — удобный просмотр STL, 3MF, OBJ, особенно для тех, у кого завёлся 3D принтер

Level of difficultyEasy
Reading time3 min
Views6.8K

Началась эта история с того, что несколько лет назад я купил 3D принтер. Конечно, по началу не представлял толком, как эта технология работает, и насколько прочными и полезными будут его пластиковые изваяния. Однако, быстро натренировавшись и отрегулировав эту машинку, я был удивлён и вполне удовлетворён качеством пластиковых изделий, спайкой слоёв и точностью их геометрических размеров. Конечно, в последствии не обошлось без модернизаций аппарата, но сейчас не об этом.

Печатать игрушки с thingiverse мне, конечно, надоело быстро, да и брал я свой дрыгостол с большим прицелом на техничку. Принтер вскоре стал одной из любимых игрушек, а связка Blender+Cura позволяла лепить модели мелких деталей порой за считаные минуты, отправляя их затем на печать. Сломалось колёсико у дивана - не в магазин же бежать, отломилось какое-нибудь крепление или кронштейн - и уже гудит вентилятор хотэнда. Штырьки, подпятники, элементы механизмов, и конечно, куча всяких баночек и коробочек...

Библиотека STL и 3MF росла. И в какой-то момент стало понятно, что я не помню, в каком файле лежит та или иная деталь. Хоть файлы и имели осмысленные названия на английском, но я просто уже забыл, что и как назвал, и ориентироваться в разрастающейся свалке становилось всё труднее. Нужен был какой нибудь удобный просмотрщик. Вот так и зародился несколько лет назад проект Solid Model Browser.

Приложение создано на платформе WPF и работает под Windows. В окне отображается загруженная модель, панель инструментов-кнопочек, и файловая панель слева, меняющая свою прозрачность по мере её востребованности...

Читать далее
Total votes 25: ↑25 and ↓0+33
Comments16

Пишем наш первый модуль для ядра Linux

Reading time14 min
Views20K
image

Пожалуй, ядро Linux сегодня – это самый вездесущий (и по-прежнему недооцененный) программный код. На нем основаны все дистрибутивы Linux (что очевидно), но это далеко не все. Кроме того, на ядре Linux работает огромная масса встроенного ПО практически везде. У вас есть микроволновка? Вероятно, она работает на ядре Linux. Посудомоечная машина? Тоже. Вы состоятельный человек и приобрели автомобиль Tesla? Может быть, вы найдете в ней какие-то баги и исправите их, в таком случае, можете отправить патч им на Github, где лежит код для модели S и модели X. Электронная начинка МКС, благодаря которой станция не падает на Землю смертельно опасным и разрушительным огненным болидом — конечно же, тоже работает под Linux. Ядро легковесно. Наверное, именно поэтому оно так хорошо работает в условиях низкой гравитации.
Читать дальше →
Total votes 24: ↑20 and ↓4+20
Comments23

SLS по-прежнему является национальным позором

Level of difficultyMedium
Reading time29 min
Views61K

Четыре года назад, не сумев найти достаточно полного обзора вялотекущего провала под названием NASA SLS (Space Launch System), я написал его сам. Если вы не знакомы с темой, рекомендую сначала прочитать ту статью.

За эти четыре года SLS запустили только один раз. Время летит, а вот ракета — не очень. Я редко пишу посты резко критического характера, поэтому в силе обычные оговорки: я тут пишу исключительно как частное лицо, некий Парень с Мнением в Интернете.

Читать далее
Total votes 124: ↑113 and ↓11+131
Comments407

Тетрис на ATtiny10

Level of difficultyHard
Reading time4 min
Views11K

Решив использовать последние дни отпуска для приведения имеющихся у меня запасов электронных компанентов к некоторому подобию порядка я наткнулся на неизвестную михросхему SOT-23-6 с еле читаемой маркировкой.

Читать далее
Total votes 130: ↑130 and ↓0+176
Comments31

Flappy Bird на Си для Android весом APK всего 92 Килобайта

Level of difficultyEasy
Reading time4 min
Views11K

Это невозможно! И вы будете правы, только ошибка в том, что это — реальность.
Или как сказал один человек «Это компьютерная наука. Ограничений нет. Я могу делать все, что захочу. Это всего лишь биты информации.»

Читать далее
Total votes 47: ↑45 and ↓2+55
Comments28

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

Level of difficultyEasy
Reading time7 min
Views28K

Для тех, кто просто хочет получить позывной, привожу последовательность действий, актуальную на октябрь 2024 года. И детально рассказываю как прошел этот путь, с какими трудностями столкнулся. Руководство наполнено ссылками по всем шагам.

Читать далее
Total votes 62: ↑61 and ↓1+78
Comments71

Руководство по межпроцессному взаимодействию (IPC) в Linux — Часть 2

Level of difficultyMedium
Reading time15 min
Views3.4K

Представляю вашему вниманию вторую часть перевода статьи A guide to inter-process communication in Linux.

Первая часть перевода была посвящена общему введению в курс дела и механизму разделяемого хранилища (shared storage). В этой части будут рассмотрены механизмы каналов (именованных и неименованных) и очереди сообщений.

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

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

Подробно про JWT

Level of difficultyMedium
Reading time6 min
Views17K

О чем эта статья: мы разберемся, что такое JSON Web Token, как он устроен и для чего используется, рассмотрим такие приемы, как «black-list токенов» и «контроль версий» токенов. Для наглядности, в конце будут блок-схемы клиент-серверных запросов с пояснениями.

Для кого эта статья: для тех, кто хочет детально понять что такое JWT, а так же для тех, кто просто ищет схему реализации.

Читать далее
Total votes 22: ↑20 and ↓2+20
Comments19

Meshtastic – оперативно-тактический радиочат без сотовой связи и интернета. Часть 1. Знакомство

Reading time9 min
Views83K

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

Meshtastic — это проект, который позволяет построить свою частную радиосеть с очень большим временем автономной работы, используя недорогие радио модули LoRa и экономичные микроконтроллеры серии ESP32.

Радиомодем связаны с вашим смартфоном по сети Bluetooth. Для некоторых сценариев использования смартфон вообще не требуется.

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

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

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

Спаси себя сам и вокруг спасутся многие
Total votes 56: ↑56 and ↓0+56
Comments114

Коммуникатор судного дня «Armachat» LoRa

Reading time8 min
Views24K
Технология LoRa отлично подходит не только для сбора информации с удалённых датчиков. Её можно использовать как основу системы для обмена сообщениями. Именно такую систему я воплотил в жизнь в виде персонального коммуникатора Armachat. Для меня это самый настоящий учебный проект, на котором я оттачивал навыки создания печатных плат с беспроводными модулями и графическими дисплеями. Устройство питается от аккумулятора, оно представляет собой нечто вроде высокотехнологичной портативной рации, поддерживающей обмен текстовыми сообщениями. При этом для сборки этой рации нужно сравнительно мало компонентов — всего около 25.

Для этого проекта я, чтобы удобнее было выполнять паяльные работы, выбрал микроконтроллер SAMD21E18 в корпусе TQFP32 (того же размера, что и популярный контроллер ATmega328). Правда, к сожалению, этот микроконтроллер продаётся пустым. Для того чтобы прошить в него загрузчик, необходимо специальное устройство — Atmel-ICE. Прошивка загрузчика оказалась самой сложной частью проекта. А в остальном тому, кто решит воспроизвести мой проект, никаких специальных инструментов не понадобится. Всё, что нужно, собрано на плате коммуникатора. А на передней панели, что необязательно, можно разместить подсветку клавиатуры.

image

Сначала я назвал моё устройство «Armageddon communicator» (отсюда и его теперешнее название — «Armachat»), но я не думаю, что оно способно пережить какую-нибудь воображаемую всемирную катастрофу.
Читать дальше →
Total votes 31: ↑30 and ↓1+36
Comments32

Дальняя радиосвязь с LoRa на одноплатных микрокомпьютерах Repka Pi

Reading time20 min
Views27K

Если вы занимаетесь сбором данных на обширной территории, да еще не охваченной интернетом, возникает задача передачи данных на расстояния, исчисляемые километрами без использования WiFi и сети Ethernet.

В решении этой задачи вам помогут радиомодули, передающие данные с использованием технологии связи на большие расстояния (Long Range, LoRa). Эта технология запатентована компанией Semtech и реализована в микросхемах приемо‑передатчиков (трансиверов), таких как SX1268, SX1276, SX1278.

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

К сожалению, скорость передачи данных LoRa невелика, порядка 2400–19 200 бит/c. Однако этого достаточно, например, для систем телеметрии и удаленного контроля, систем умного дома или других подобных систем.

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

Как создать простой LoRa мессенджер: обмен зашифрованными текстовыми сообщениями между устройствами без интернета

Level of difficultyMedium
Reading time30 min
Views15K

В современном мире IoT, когда связь в отдаленных районах становится все более актуальной, технология LoRa (Long Range) предоставляет нам возможность создать дальнобойный, надежный, энергоэффективный и зашифрованный канал связи без необходимости иметь какую-либо сетевую инфраструктуру. 

В этой статье мы рассмотрим, как создать простой LoRa мессенджер с использованием своего протокола обмена и готовых модулей, работающих в режиме P2P (peer-to-peer) – не идеального, но интересного решения для обмена текстовыми сообщениями в условиях ограниченной инфраструктуры.

Для упрощения и автоматизации процесса обмена сообщениями мы воспользуемся Node-RED. Этот инструмент, помимо реализации основной логики обмена сообщениями, также предоставит графический интерфейс для мессенджера, что сделает процесс более доступным и интуитивно понятным. 

Выглядеть будет просто, потому что воспользуемся всем готовым :)

Свистать всех наверх!
Total votes 25: ↑23 and ↓2+27
Comments36

Открытый онлайн-курс по цифровой схемотехнике: от истоков до первого устройства

Level of difficultyEasy
Reading time4 min
Views17K

Привет, Хабр! У нас новости. Мы запустили онлайн-курс по цифровой схемотехнике для начинающих. Он подойдет всем, кому интересно собрать из простых компонентов готовое устройство на макетной плате и узнать больше о «внутренностях» электроники. Присоединяйтесь сами или рассмотрите курс для совместного досуга с ребенком, младшим братом или сестрой. Возможно, кому-то он поможет не только найти новое занимательное хобби, но и определиться с будущей профессией.

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

Читать далее
Total votes 58: ↑57 and ↓1+72
Comments23

Монада «Maybe» через async/await в C# (без Task-oв!)

Reading time14 min
Views15K


Обобщенные асинхронные типы возвращаемых значений — это новая возможность появившаяся в C# 7, которая позволяет использовать не только Task в качестве возвращаемого типа асинхронных (async/await) методов, но также и любые другие типы (классы или структуры), удовлетворяющие определенным требованиям.


В то же время async/await — это способ последовательно вызвать некий набор функций внутри некоторого контекста, что является сущностью шаблона проектирования Монада. Возникает вопрос, можем ли мы использовать async/await для написания кода, который будет вести себя так же, как если бы мы использовали монады? Оказывается, что да (с некоторыми оговорками). Например, приведенный ниже код компилируется и работает:


async Task Main()
{
  foreach (var s in new[] { "1,2", "3,7,1", null, "1" })
  {
      var res = await Sum(s).GetMaybeResult();
      Console.WriteLine(res.IsNothing ? "Nothing" : res.GetValue().ToString());
  }
  // 3, 11, Nothing, Nothing
}

async Maybe<int> Sum(string input)
{
    var args = await Split(input);//Нет проверки результата
    var result = 0;
    foreach (var arg in args)
        result += await Parse(arg);//Нет проверки результата
    return result;
}

Maybe<string[]> Split(string str)
{
  var parts = str?.Split(',').Where(s=>!string.IsNullOrWhiteSpace(s)).ToArray();
  return parts == null || parts.Length < 2 ? Maybe<string[]>.Nothing() : parts;
}

Maybe<int> Parse(string str)
    => int.TryParse(str, out var result) ? result : Maybe<int>.Nothing();

Далее я объясняю, как работает этот код ...

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

Моя б̶е̶з̶умная колонка: часть вторая // программная

Level of difficultyEasy
Reading time16 min
Views9.3K

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

В прошлой статье я описал аппаратную реализацию своего голосового ассистента на базе бюджетного одноплатника Orange Pi Zero 2W с 4Гб оперативной памяти. Эту же статью хочу посвятить программной реализации данного устройства. Если стало интересно, то добро пожаловать под кат.
Читать дальше →
Total votes 40: ↑40 and ↓0+53
Comments31

К вопросу о выпрямителе

Level of difficultyEasy
Reading time9 min
Views9.1K

Как всегда, причиной написания поста стала реальная ситуация, возникшая в процессе проектирования сетевого адаптера, проводимого моим молодым коллегой (ММК). Возник небольшой спор, в котором участвовал другой ММК и, к своему изумлению, я выяснил, что оказался не вполне прав. Пнп: мои постоянные читатели удивятся, но да, я могу (крайне редко) оказаться не вполне прав и даже могу (еще реже) этот факт признать. Поскольку в данном споре истина таки родилась, решил ею поделиться.

И в чем же я ошибался?
Total votes 29: ↑28 and ↓1+37
Comments30

Обзор и тестирование Blackview MP100: доступный мини-ПК на Ryzen 7 5700U. Мощный, тихий и компактный

Reading time12 min
Views7.5K

Компания Blackview выпустила недорогой, но интересный домашний компьютер в миниатюрном корпусе на 0,72 литра. Девайс получил мощный восьмиядерный процессор Ryzen 7 5700U, двухканальную оперативную память с поддерживаемым объемом до 64 GB, современный WiFi 6 модуль и возможность одновременного подключения до 3 SSD-накопителей. Я очень люблю такие устройства, поэтому сегодня вас ожидает детальный разбор новинки, всевозможные бенчмарки и конечно же мои мысли.

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

Рисование медью и другие нестандартные технологии, интересные для изготовления печатных плат

Level of difficultyMedium
Reading time11 min
Views12K
Картинка WangXiNa, Freepik

Мы все в той или иной степени сталкивались или сталкиваемся с потребностью в изготовлении печатных плат.

И в этой статье будет рассказ про альтернативные технологии (и не только), которые могут помочь в этом.
Читать дальше →
Total votes 52: ↑50 and ↓2+66
Comments70

Zigbee датчик мониторинга углекислого газа EFEKTA Pixel Open Air

Level of difficultyEasy
Reading time7 min
Views15K
Приветствую всех читателей Habr. Время от времени я выкладываю в открытый доступ некоторые свои проекты по электронике. В эти майские праздники я подготовил для всех любителей что-то собрать своими руками достаточно интересный проект бытового zigbee-датчика мониторинга углекислого газа с LCD-дисплеем. Это неплохо проработанный проект, ничем не уступающий фабричным аналогам, да и по многим параметрам и функциональности гораздо превосходящий их.


Читать дальше →
Total votes 43: ↑41 and ↓2+51
Comments41
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity