Недавно мы выложили в открытый доступ pretrain-версию модели YandexGPT 5 Lite, обученную нами с помощью технологий Яндекса и без применения каких-либо сторонних моделей. За прошедший месяц в сообществе её скачали более 15 тысяч раз, на её основе создали больше десятка квантизованных моделей и даже дообучили instruct-версии.
Тем не менее мы видим большой интерес к instruct-версии Яндекса, поэтому сегодня выкладываем её в открытый доступ. В том числе — в совместимом с llama.cpp формате, о чём нас просили на Хабре. Кроме того, мы обновили лицензионное соглашение для обеих моделей так, чтобы применять её стало возможно в ещё большем числе проектов, в том числе во многих коммерческих проектах.
Для тех, кто хотел бы попробовать новую модель онлайн, она также доступна для выбора в Чате с Алисой и через API в Yandex Cloud.
Читать далееСамые интересные новости финансов и технологий в России и мире за неделю: новые AI-модели от OpenAI и Google, арест Мошковича, IPO Jetlend, VK делает замену Телеграму, запрет рекламы в Инстаграме, премии беременным школьницам, банкротство 23andMe, приглашение в секретный Signal-чат топ-руководства США, а также возвращение Игромира и Comic Con.
Читать далееДумаю, вы часто наблюдали ситуацию, когда на проекте вроде бы и аналитиков достаточно, и документация ведётся в строгом соответствии с принятыми правилами, но самое главное в ней не найдёшь — либо этого вообще нет, либо изощрённо размазано по всем разделам.
В рамках статьи хотелось бы затронуть тему нефункциональных требований к самой документации и поговорить о том, какую документацию, мы считаем качественной.
Идея создания этого пет-проекта возникла из желания написать собственного ИИ-агента. Я сформулировал для себя минимальные технические требования: агент должен иметь несколько состояний, уметь запускать тулзы и использовать RAG для поиска ответов на вопросы.
В итоге возникла идея написать персонального телеграм-ИИ-бота, который умеет запоминать нужную мне информацию, и когда мне надо — я могу его спросить, что он запомнил. Что-то вроде блокнота, только это будет ИИ-блокнот, который умеет отвечать на вопросы. В дополнение я решил добавить в него функцию, чтобы он мог запускать команды на сервере — причём команды, описанные человеческим языком, он будет переводить в команды для терминала.
Изначально я думал использовать LangChain. Очень хороший инструмент — позволяет подключать векторные базы данных, использовать различные LLM как для инференса, так и для эмбеддинга, а также описывать логику работы агента через граф состояний. Можно вызывать уже готовые тулзы. В целом, на первый взгляд всё выглядит удобно и просто, особенно когда смотришь типовые и несложные примеры.
Но, покопавшись немного глубже, мне показалось, что затраты на изучение этого фреймворка не оправдывают себя. Проще напрямую вызывать LLM, эмбеддинги и Qdrant через REST API. А логику работы агента описать в коде через enum, описывающий состояния, и делать match по этим состояниям.
К тому же LangChain изначально написан на Python. Я хотел бы писать на Rust, а использовать Rust-версию LangChain — сомнительное удовольствие, которое обычно упирается в самый неподходящий момент: что-то ещё не было переписано на Rust.
Читать далееИгра Rogue знаменита не только тем что породила и вдохновила огромное количество "потомков" - от визуально схожих Moria и NetHack до графически продвинутых вроде DIablo. Знаменита она ещё и тем что является одной из самых сложных игр для прохождения (в этом классе она гораздо интеллектуальнее чем Flappy Bird). Не уверен что вы найдете даже по форумам человека который скажет что проходил её (не читеря с файлами сохранения). А может такие есть среди вас?
Я заметил что современная опенсорсная версия (например доступная в пакетах для разных Linux и BSD) отличается от той, например, что была портирована коммерчески под ДОС где-то в 80е. Заметно отличаются монстры - чуть ли не со 2 уровня уже можно напороться на Ледяного Монстра который не только лишает подвижности но ещё и активно дамажит. Как будто и без того сложная игра стала ещё сложнее!
Дело в том что ранний код Rogue изначально не был доступен публично - кроме того авторы опенсорсной версии хотели избежать возможных нарушений прав (т.к. существовали уже коммерческие порты).
Чтобы разобраться я решил скомпилировать и запустить одну из самых старых доступных версий - посмотреть отличия - и вообще как что устроено. Здесь я расскажу о возникших мелких проблемах (любопытно м.б. для программистов на С) - и возможностях этой самой оживлённой версии (её я выложил на гитхаб - каждый может взять и погонять).
ошибки компиляции, падения при выполненииПомните времена, когда смартфоны еще не казались естественным продолжением руки, а интернет выглядел необязательной диковинкой и «жил» в карманах гиковатых парней, то и дело утыкавшихся в странные гаджеты с экраном и стилусом?
Да, сегодня речь пойдет о КПК — карманных персональных компьютерах, которые в 90-х и 2000-х годах были символом технологического (а порой и финансового) превосходства обладателя. Задолго до App Store и Google Play КПК пытались быть всем и сразу: записной книжкой, медиаплеером, навигатором, устройством для серфинга в интернете и игр.
Но теперь на смену архаичным «кирпичикам» пришли тонкие, мощные и удобные мобильные телефоны. Поэтому присаживайтесь поудобнее – сегодня мы будем предаваться ностальгии.
Читать далее«Нам нужен только самый целеустремленный и упрямый из всех —Ч Е Л О В Е Ч И Щ Е! С огромной внутренней Силой, Волей и Силой Воли! Идущий, падающий, НО ВСТАЮЩИЙ и ПРОДАЮЩИЙ.»@ цитаты hh ru
Вы наняли маркетолога, дали ему бюджет, но результат – ноль? Лиды либо некачественные, либо их нет вовсе? Поздравляю! Вы попали в классическую ловушку найма «волшебного» маркетолога, который должен был спасти бизнес, но вместо этого превратился в еще одну статью расходов.
Давайте разберемся, почему так происходит и как это исправить.
Читать далееКраткая, и весьма поверхностная, компиляция описания ключевых понятий и процессов связанных с цифровыми активами.
Криптовалюта
Вопрос 1: что такое криптовалюта?
Согласно Оксфордскому словарю, цифровая валюта или «крипто» – та, в которой транзакции проверяются, а записи ведутся децентрализованной системой с использованием криптографии, а не централизованным органом.
Резервный банк Австралии определяет криптовалюты как цифровые токены, позволяющие людям совершать платежи друг другу напрямую через онлайн-систему. Криптовалюты не имеют законодательно установленной или внутренней стоимости; они просто стоят столько, сколько люди готовы заплатить за них на рынке.
Вопрос 2: когда и кем была создана криптовалюта?
Энциклопедия «Британика», равно как и многие иные источники, полагают, что первая криптовалюта была создана Сатоши Накамото (Satoshi Nakamoto) – под этим псевдонимом скрывается анонимный программист или группа программистов. Датой рождения криптовалюты считается 3 января 2009 года, когда программное обеспечение Bitcoin стало доступно для общественности. Сатоши Накамото (кто бы он/они ни был) добыл первые 50 биткоинов, тем самым положив начало практике криптомайнинга. Люди, ищущие биткоины, называются майнерами и могут выиграть их в процессе виртуальной лотереи.
Вопрос 3: в чем преимущество криптовалюты перед обычной фиатной валютой?
Упрощая и сокращая – существуют два основных преимущества крипто перед регулярными валютами:
- меньшая централизация;
- большая конфиденциальность.
Читать далееКраткая, и весьма поверхностная, компиляция описания ключевых понятий и процессов связанных с цифровыми активами.
Криптовалюта
Вопрос 1: что такое криптовалюта?
Согласно Оксфордскому словарю, цифровая валюта или «крипто» – та, в которой транзакции проверяются, а записи ведутся децентрализованной системой с использованием криптографии, а не централизованным органом.
Резервный банк Австралии определяет криптовалюты как цифровые токены, позволяющие людям совершать платежи друг другу напрямую через онлайн-систему. Криптовалюты не имеют законодательно установленной или внутренней стоимости; они просто стоят столько, сколько люди готовы заплатить за них на рынке.
Вопрос 2: когда и кем была создана криптовалюта?
Энциклопедия «Британика», равно как и многие иные источники, полагают, что первая криптовалюта была создана Сатоши Накамото (Satoshi Nakamoto) – под этим псевдонимом скрывается анонимный программист или группа программистов. Датой рождения криптовалюты считается 3 января 2009 года, когда программное обеспечение Bitcoin стало доступно для общественности. Сатоши Накамото (кто бы он/они ни был) добыл первые 50 биткоинов, тем самым положив начало практике криптомайнинга. Люди, ищущие биткоины, называются майнерами и могут выиграть их в процессе виртуальной лотереи.
Вопрос 3: в чем преимущество криптовалюты перед обычной фиатной валютой?
Упрощая и сокращая – существуют два основных преимущества крипто перед регулярными валютами:
- меньшая централизация;
- большая конфиденциальность.
Читать далееМеня зовут Дмитрий Солдатенко, я разработчик в Ви.Tech, IT-дочке ВсеИнструменты.ру. И теперь, когда формальное представление завершено, хочу поделиться своим, местами не очень формальным, батхертом по поводу слабых указателей.
Предполагается, что вы пишете на Go и хотя бы на уровне чтения релиз-ноутов знакомы с концепцией слабых указателей (weak pointers).
На первый взгляд, это полезный механизм для некоторых сценариев. Но у меня есть одна идеологическая и несколько фактических претензий к их реализации, о двух из которых вообще никто и нигде почему-то не упоминает.
Если вы читаете эту статью, значит, меня держат в плену я всё-таки довёл её до публикации, и она не повторила судьбу многих других. Постараюсь кратко и тезисно, пока мне не стало лень писать. =)
Вышел новый релиз Varnish Cache 7.7, в котором добавлен новый параметр, позволяющий ускорить время ответа и исключить внезапные зависания Varnish, вызванные большими вычислениями в момент обработки клиентского запроса. В этой статье я расскажу о расследовании самого загадочного инцидента в моей практике, по результатам которого я предложил внести изменения в механизм инвалидации кэша Varnish.
Читать далееНедавно выстрелила китайская нейросеть DeepSeek, сегодня разберёмся как работать с её API, как оплачивать из РФ и есть ли какие-то сложности.
Читать далееВсем привет, сегодня я хочу рассказать вам о своем опыте постановки PostgreSQL на сервере и какие при этом возникли сложности, а также о том как все это решилось.
Читать далееВсех приветствую, читатели Хабра!
Сегодня третья часть анализа защищенности веб-приложений Vulnhub.
Ссылки на первую и на вторую части.
Примечание
Правовая информация:
Данная статья создана исключительно в ознакомительных/образовательных/развивающих целях.
Автор статьи не несет ответственности за ваши действия.
Автор статьи ни к чему не призывает, более того напоминаю о существовании некоторых статей в уголовном кодексе РФ, их никто не отменял:
УК РФ Статья 272. Неправомерный доступ к компьютерной информации
УК РФ Статья 273. Создание, использование и распространение вредоносных компьютерных программ
УК РФ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей
Все атаки я проводил на локальный сервер, внутри моего сетевого интерфейса, на моем компьютере, то есть все действия легитимны.
Читать далееКратко, нужно использовать IP префиксы которые доступны внутри страны и недоступные из других стран, хотя это противоречит основному принципу интернета, что все ip-адреса должны быть доступны для всех.
Давайте рассмотрим интернет адреса с самого начала, есть публичные адреса и есть приватные адреса.
Например, адрес 1.1.1.1 это публичный, а адрес 10.1.1.1 приватный, он не маршрутизируется в Интернет. Многие компании используют такой адрес внутри своей сети.
Но есть также ещё одна категория адресов которые относятся к публичным, но никогда не используются обычными пользователями в интернете, такие адреса принадлежат какой-то корпорации или организации.
Эти адреса можно без опаски повторно использовать внутри страны и никогда не произойдёт пересечение с пользовательскими сервисами, потому что пользовательских сервисов на этих адресах нет. Ни один пользователь, скажем так, не пострадает. Если из-за рубежа кто-то направит DDoS атаку на такие адреса, то все атаки уйдут за рубеж, к основному владельцу адресов, при условии, если не объявлять такие адреса за рубеж по протоколу BGP.
Читать далееПривет читатель, на связи Владимир, техлид команды бэкенд-разработки в fashion бренде Befree. За время жизни и развития нашего интернет-магазина накопилось некоторое количество любопытных, на наш взгляд, решений, и появилось желание начать делиться этими решениями с сообществом. Начнем с рассказа о каталоге товаров и о том как этот каталог со временем преображался.
Предыдущий каталог товаров делался во времена, когда и трафика, и товаров было в десятки раз меньше по сравнению нынешним временем. Тот каталог толком не имел механизмов для фильтрации и кастомизации. У менеджеров интернет-магазина не было инструментов управления логикой вывода товаров, чтобы покупатель видел то, что надо бизнесу. Много товаров терялось на задворках каталога, поэтому верно сказать, что для покупателя доля товаров оставалась не представлена, т.к. мало кто листает десятки страниц, чтобы найти там модель из новой коллекции, которая почему то не на первой странице. Это осложнялось еще и тем, что в каталоге имелся скудный набор характеристик товаров, что не давало вывести покупателям нормальные фильтры. Имелись и другие проблемы: при значительных скачках трафика, например во время рассылки пушей, каталог банально переставал справляться с нагрузкой.
Требования, которые команда сформулировала к новому каталогу:
Читать далееПривет, Хабр! Мы уже неоднократно поднимали вопросы оптимизации запросов к СУБД ClickHouse, которую все чаще используют как универсальное высокопроизводительное хранилище для аналитических задач. В случае с Visiology этот вопрос приобретает двойную ценность, так как мы используем оптимизацию для эффективного выполнения запросов в языке DAX.
Сегодня мы поговорим о применении группировок GROUP BY с учетом их производительности для относительно больших таблиц, например, с миллионами записей. Таким образом, речь пойдет об оценке кардинальности одного или нескольких столбцов. Эта задача, кстати, является достаточно нетривиальной. Но если Вы можете ее решить, появляется возможность для эффективных оптимизаций SQL. О них мы и поговорим сегодня.
Читать далееЭто новый вариант статьи, уже выложенной на Хабре. Та статья писалась на эмоциях, сразу после первых декабрьских версий. Нынешняя — это результат трехмесячных воскресных посиделок в Visual Studio. Тут и параллельные процессы и манипуляции в js и даже примитивный шахматный движок на C#.
ПогналиВ этой статье очень наивный разработчик в лице меня рассказывает как пытался разобраться как строить стартапы.
Работа в найме имеет очевидный минус и это зарплатный потолок, а я считаю что нужно зарабатывать так много денег как только получается.
Ведь если я вдруг дико заболею, то хочу иметь возможность пересаживать себе все органы раз в 5 секунд, а если подумать еще и о близких, то получается, что каждый момент времени, когда я не стараюсь заработать больше, то я отнимаю у себя же возможность пожить с ними дольше.
Помимо этого еще куча причин, но сейчас не об этом - когда мне на счет начало стабильно приходить более 500к рублей я начал задумываться над тем, чтобы сделать свой пет-проект и начать на нем зарабатывать.
Но я не учел того, что в IT продуктах сама разработка - далеко не самая важная для большинства проектов. Есть конечно высоконаучные области, например то, что делает OpenAI, но по большей части, разработка не так важна...
Читать далееВ статье Пример HTTP-сервера на PHP с использованием файберов / Хабр краеугольным камнем организации обработки HTTP-соединений является функция socket_select(), которая имеет значительное ограничение - максимальное значение дескриптора, которое можно добавить в любой из трёх аргументов данной функции составляет 1024. Данный лимит определяется константой FD_SETSIZE, для увеличения которой придётся сконфигурировать системные лимиты и как минимум пересобрать интерпретатор PHP, что нецелесообразно и может создать эксплуатационные проблемы. К тому же, производительность функции select(), обёрткой над которой является функция socket_select(), значительно проседает при ощутимом увеличении значения константы FD_SETSIZE. В данной статье я постараюсь продемонстрировать альтернативу, позволяющую избавить пример из предыдущей статьи от данного ограничения.
Читать далее