Pull to refresh
0
0
Send message

Replit Agent программиста не заменит! Или как мы пробовали писать код с помощью нейросети

Level of difficultyMedium
Reading time10 min
Views3.3K

Привет, Хабр! Это компания Raft и я — руководитель AI продуктов Евгений Кокуйкин. А на фото выше — троица из нашей команды — техлид Саша Константинов, AI Project Manager & QA Lead Толя Разумовский и Data scientist Арсений Пименов на конференции Олега Бунина AIConf. Недавно в сети появился Replit Agent с многообещающими заявлениями. Мол, этот инструмент пишет код лучше программистов и скоро их заменит. Хотя в Raft мы и пишем код по старинке — вручную, но следим за технологиями и стремимся использовать новшества там, где это может быть полезно. Решили испытать Replit Agent в деле и даже устроили внутри команды мини-хакатон. Делимся впечатлениями.

Читать далее

Обзор уязвимостей для LLM. Часть 1. Атака

Reading time7 min
Views4.5K

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

Привет, Хабр! Меня зовут Евгений Кокуйкин и я — руководитель AI-продуктов в Raft. Запускаю лабораторию AI Security в AI Talent Hub/ИТМО.

Читать далее

Разбираемся в AI проектах OWASP: обзор для разработчиков и ИБ-специалистов

Reading time12 min
Views4K

OWASP — некоммерческая организация, которая занимается выпуском руководств и фреймворков в области безопасности. В условиях активного внедрения генеративного ИИ в самые разные сферы, OWASP анонсировал больше десяти разных проектов, чтобы охватить новые угрозы и привлечь внимание к безопасности AI-систем. Ниже расскажу про основные инициативы и документы, которые могут пригодится в работе тимлидам, разработчикам и специалистам по информационной безопасности.

На первый взгляд в глаза бросается обилие проектов, документов и рекомендаций. Материалы в отчётах пересекаются и запутаться в инициативах OWASP — легко. Связано это с тем, что проекты ведут разные команды и лидеры. В OWASP более 1000 человек только в slack-канале и около 100 активных участников.

Надеюсь, эта статья поможет вам разобраться в специфике каждого гайда, и облегчит  выбор подходящего документа под ваши потребности. Начнём с главного документа по AI от OWASP. Меня зовут Евгений Кокуйкин и мы в AI Security лаборатории Raft изучаем прикладные аспекты безопасности GenAI-систем. В OWASP я веду один из стримов, про которые пойдёт речь ниже.

Читать далее

15 примеров задач по SQL на собеседовании по вакансии системного аналитика

Level of difficultyMedium
Reading time15 min
Views81K

Привет, Хабр! Если вы читаете этот материал, скорее всего, вы готовитесь к собеседованию. Важным аспектом работы системного аналитика (СА) является умение эффективно работать с базами данных, и SQL — это ключевой инструмент для этого. Будьте готовы, что на техническом собеседовании вас могут попросить назвать операторы SQL, написать запросы для извлечения, обновления или удаления данных, создания новых таблиц и многого другого. Давайте посмотрим на некоторые примеры таких заданий.

Читать далее

Логистическая и Softmax-регрессии. Основная идея и реализация с нуля на Python

Level of difficultyHard
Reading time9 min
Views15K

Начнём с более простого. Логистическая регрессия — линейный бинарный классификатор, основанный на применении сигмоидальной функции к линейной комбинации признаков, результатом которого является вероятность принадлежности к определённому классу. Обычно порог устанавливается 0.5: если вероятность меньше порога — класс относится к 0, а если больше — к 1. В принципе, условия определения логистической регрессии такие же как и у линейной за исключением бинаризации таргета.

Читать далее

Про fine-tuning моделей простыми словами

Level of difficultyEasy
Reading time6 min
Views24K

Вы, наверное, уже не раз слышали о тонкой настройке (fine-tuning) моделей. На самом деле, в нашей компании мы настраиваем модель каждые 10 секунд. До написания этой статьи я даже настроил свой завтрак, на всякий случай, потому что, как мы все знаем, все лучше, когда хорошо настроено.

Но что это на самом деле? Это просто другой модный термин или в нем есть смысл? ? Давайте выясним.

Читать далее

Ускоряем Nginx за 5 минут

Reading time5 min
Views301K
image
Попытайтесь повторить это сами

Как правило, настроенный должным образом сервер Nginx на Linux, может обрабатывать 500,000 — 600,000 запросов в секунду. Но этот показатель можно весьма ощутимо увеличить. Хотел бы обратить внимание на тот факт, что настройки описанные ниже, применялись в тестовой среде и, возможно, для ваших боевых серверов они не подойдут.

Минутка банальности.

yum -y install nginx

На всякий пожарный, создадим бэкап исходного конфига.

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
vim /etc/nginx/nginx.conf

А теперь можно и похимичить!
Бдыжь-бдыжь

Разработчикам, аналитикам и архитекторам: рецензия на книгу «Проектирование архитектуры API»

Level of difficultyEasy
Reading time9 min
Views11K

Сегодня представляем на Хабре очень интересную книгу — переводное издание «Проектирование архитектуры API» («Mastering API Architecture») издательства O'REILLY. Это руководство по разработке и реализации API (программных интерфейсов приложений). Разобраны базовые вопросы обмена информацией в микросервисной архитектуре, обработка запросов на сайтах и в веб‑приложениях (парадигма REST). Бонусами к статье — промокод «SSPSOFT» на русское издание и ссылка на оригинальный текст книги (бесплатная копия книги в PDF).

Читать далее

Метрики качества ранжирования

Reading time7 min
Views136K
В процессе подготовки задачи для вступительного испытания на летнюю школу GoTo, мы обнаружили, что на русском языке практически отсутствует качественное описание основных метрик ранжирования (задача касалась частного случая задачи ранжирования — построения рекомендательного алгоритма). Мы в E-Contenta активно используем различные метрики ранжирования, поэтому решили исправить это недоразуменее, написав эту статью.

Метрики качества ранжирования


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

Как с помощью BERT организовать поиск похожих текстов

Reading time5 min
Views6.9K

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

Читать далее

Определение части речи слова на PHP одной функцией

Reading time3 min
Views40K
Прочитав пост http://toster.ru/2410/, я написал функцию, которая определяет из строки слов их части речи. Определение, конечно не 100%, но можно легко дорабатывать.

Функция возвращает массив значений групп:
  • 1. прилагательное
  • 2. причастие
  • 3. глагол
  • 4. существительное
  • 5. наречие
  • 6. числительное
  • 7. союз
  • 8. предлог


Пример вызова функции:
print_r(chastrechiRUS('В небе летит красивый сверкающий самолёт'));


Результат работы функции (массив):
Array ( [0] => 8 [1] => 4 [2] => 3 [3] => 1 [4] => 2 [5] => 4 )


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

Устройство поисковых систем: базовый поиск и инвертированный индекс

Reading time24 min
Views33K

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

В статье описано устройство поиска, инвертированного индекса и его оптимизаций с отсылками к теории. В качестве подопытного кролика взят Tantivy — реализация архитектуры Lucene на Rust. Статья получилась концентрированной, математикосодержащей и несовместимой с расслабленным чтением хабра за чашкой кофе, осторожно!
Читать дальше →

Как построить полнотекстовый поиск с помощью нейронных сетей

Reading time8 min
Views14K

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


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

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

Reading time12 min
Views5.7K


Привет, друзья!


В этой заметке я хочу рассказать о двух вещах:


  1. Сканере предварительной загрузки (теоретическая часть).
  2. Пропуске невидимого контента (практическая часть).

Обе технологии используются браузером для повышения скорости загрузки веб-приложений.


Теоретическая часть представляет собой адаптированный и дополненный перевод этой статьи. Практическая часть — это небольшой эксперимент по применению новых свойств CSS, о которых рассказывается в этой статье (перевод).


Если вам это интересно, прошу под кат.

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

Shadow Dom в fullstack

Level of difficultyEasy
Reading time12 min
Views4.7K

Shadow DOM – это нечто вроде дополнения к обычному DOM, позволяющее инкапсулировать стили и разметку компонентов, скрывая их от основного дерева документа. Это механизм, который позволяет упаковать HTML-структуру, стили и скрипты в изолированные компоненты.

Shadow DOM обеспечивает инкапсуляцию — значит, CSS и JavaScript могут работать в рамках конкретного компонента, не влияя на остальную часть страницы. Это решает проблему "глобальной области видимости", с которой сталкиваются многие разработчики, и позволяет создавать более предсказуемые и устойчивые веб-приложения.

Читать далее

Пережевывая Матрицу Несоответствий — Confusion Matrix

Level of difficultyEasy
Reading time7 min
Views21K

Понятие Confusion Matrix является довольно простым в объяснении, но при этом начинающим Data Scientist-специалистам бывает порой нелегко разобраться в отношениях True Positive (TP), False Positive (FP), True Negative (TN), False Negative (FN) — кирпичиками, составляющими данную матрицу. Цель этой статьи познакомить читателя с альтернативным представлением Матрицы Ошибок. Данный способ, по мнению автора, является наиболее наивным методом графического восприятия самой Матрицы Несоответствий, не предполагающий запоминания самой таблицы матрицы. Данный подход позволит легко ориентироваться в выводах, основанных на комбинации элементов Confusion Matrix, глубже понять проблему дисбаланса классов в задачах классификации.

Читать далее

Computer Science или что должен знать программист?

Reading time5 min
Views91K

Программисты бывают разные. Мобильные разработчики на Kotlin и Swift, веб-программисты, использующие PHP, Python, Ruby, хардкорные электронщики на Си и Assembler. Главным их отличием является сфера, в которой они работают и используемый язык. Однако не редки случаи, когда, например, веб-разработчики уходят в mobile, электронщики в gamedev и т.д. А конкретно язык программирования вообще можно переучить за пару месяцев. Пропорции условны, а границы размыты. Языки и технологии меняются, и если всё так подвижно и непостоянно, что же объединяет всех этих людей? А объединяет их умение программировать в целом, не зависимо от языка, платформы и технологии...и знание английского языка, пока не поздно учи английский (вставка из «Криминальное чтиво»)

Умение же программировать складывает из практического навыка написания программ и теоретической базы из различных областей Computer Science. Какие алгоритмы нужно знать программисту, нужно ли ему разбираться в компьютерах, системах счисления, делить в уме столбиком и что вообще должен знать программист в широком смысле этого слова. На эти вопросы вам сегодня постарается ответить Макс. Один из автора YouTube-канала PyLounge, Поехали!

Читать далее

Читаем EXPLAIN на максималках

Reading time19 min
Views85K

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

Читать далее

Meilisearch — организация поиска в связке с Laravel

Level of difficultyHard
Reading time8 min
Views7.8K

Hola, Amigos! Меня зовут Евгений Шмулевский, я backend-разработчик на Laravel в агентстве продуктовой разработки Amiga. В статье описываю организацию поиска через Meilisearch и нюансы использования в связке с Laravel.

Читать далее

AWS: RDS появился во Free Tier пакете

Reading time2 min
Views9K
Привет!

Многие могли пропустить факт того, что с 1 октября в пакете Free Tier на Amazon Web Services появились RDS инстансы типа t1.micro!

Теперь есть возможность запускать MySQL, Oracle BYOL или SQL Server Express Edition в течении 750 часов в месяц абсолютно бесплатно! Так же в RDS Free Tier входят:
  1. 20 GB хранилища для БД
  2. 10 миллионов I/O операций
  3. 20 GB хранилища для слепков БД и резервных копий

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

Information

Rating
Does not participate
Registered
Activity