Pull to refresh
6
0
Send message

LLaMator: Red Teaming фреймворк для тестирования уязвимостей LLM

Level of difficultyMedium
Reading time6 min
Views949

Привет, Хабр! В этом материале мы, команда LLaMaстеры — студенты 1 курса магистратуры ИТМО AI Talent Hub, представляем фреймворк LLaMator, победивший на хакатоне AI Product Hack в кейсе от компании Raft. Наша задача — создать инструмент для тестирования уязвимостей интеллектуальных систем, например, чат-бота для консультирования клиентов автосалона, на базе больших языковых моделей (LLM).

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

Простая защита скрипта на Python

Level of difficultyEasy
Reading time6 min
Views9.3K

Стек: Python 3.11.7, ntplib, subprocess, getpass для времени, системы, пароля,

PyArmor 8+ для обфускации.

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

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

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

Читать далее
Total votes 18: ↑14 and ↓4+12
Comments19

Mount — ещё один способ уменьшения размера Docker-образа

Level of difficultyMedium
Reading time3 min
Views9.8K

Делюсь лайфхаком по уменьшению размеров Docker-образов. Как-то нам попалась на поддержку и развитие CRM-система, написанная на Ruby...

Обновили Ruby-пакеты и под них код, написали Dockerfile. Первая сборка была удручающей: образ в 2Гб. Это нормальный размер, если ты собираешь образ с Torch и другой ML-штуковиной, но CRM - нет. В результате дальнейших действий, удалось сократить размер образа до 200Мб.

Cделали следующее, чтобы сократить размер
Total votes 30: ↑27 and ↓3+28
Comments14

Автоматизация тестирования API посредством Postman

Level of difficultyMedium
Reading time5 min
Views5.7K

Добрый День! Меня зовут Галактион, я — QA, в этой статье я собираюсь поделиться с Вами опытом автоматизации API посредством Postman, используя язык программирования — JavaScript.

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

Читать далее
Total votes 10: ↑8 and ↓2+10
Comments5

Чиним замедление YouTube на уровне роутера

Level of difficultyMedium
Reading time6 min
Views643K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Total votes 360: ↑357 and ↓3+412
Comments1053

Представлена языковая модель Mistral Large 2 размером 123B. Как запускать. Локальный Сopilot. Открытый конкурент GPT-4o

Reading time5 min
Views16K

MistralAI, вслед за LLaMA 3.1 405B, представила свою флагманскую модель с открытыми весами Mistral Large 2 (Mistral-Large-Instruct-2407). Mistral всегда отличалась очень качественными открытыми моделями, и, судя по всему, эта будет не исключением.

Веса открыты, размер контекста составляет 128k, размер модели 123B, модель была обучена на 80 языках программирования и десятках естественных языков, включая русский. Модель хорошо себя показывает как в рассуждениях, так и в математике и программировании.

Читать далее
Total votes 22: ↑22 and ↓0+28
Comments12

А где она, очередь за забором?

Reading time4 min
Views97K

Есть ли так самая «очередь за забором» или нет? Есть ли на рынке кадровый голод? Ответ и да, и нет одновременно.

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

Читать далее
Total votes 230: ↑204 and ↓26+222
Comments849

Обзор новых Open Source LLM. Или как локально запустить аналог ChatGPT

Level of difficultyEasy
Reading time5 min
Views31K

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

Читать далее
Total votes 33: ↑32 and ↓1+36
Comments47

Оформляем README-файл профиля на GitHub

Reading time14 min
Views230K

Летом 2020 года GitHub позволила пользователям создавать персональные README-файлы и с их помощью кастомизировать свои профили. Сама платформа при создании подобного файла предлагает уже готовый шаблон, в который можно вписать свои данные. Но о какой кастомизации может идти речь, если у всех будут одинаково оформленные профили? За почти два года сообщество придумало множество различных способов выделиться и особенно оформить свою страницу на GitHub.

Читать далее
Total votes 62: ↑60 and ↓2+73
Comments25

Как информативно оформить профиль на GitHub?

Level of difficultyEasy
Reading time6 min
Views15K

Тетрадь, дневник — ваше лицо. А круто оформленный профиль на гитхабе — статус вашей занятости. Чем больше участий в проектах, тем безработнее... Пока молодые специалисты оформляют свои страницы с "Lib-Meta-Neo ML-Scientist 10 years of expirience" на LinkedIN настоящий амбассадор HR и трудового найма бегут на GitHub. Именно там выискиваются самые закостенелые гики программирования, вносящие тридцать пять тысяч коммитов в безбюджетные опенсорс проекты; именно там рождаются гении, разрабатывающие AAA-проекты геймдева на ассемблере. 

Все это шутки. 

Но реальность такова, что многие из рекрутеров не против оценить ваш профиль. Подавать себя, как в маркетинге, важно. И неплохо бы сразу представить всю статистику развернуто перед глазами, чтобы бедный HR не искал ваши коммиты, а гордо проведенные тысячи часов в GitHub не остались за кадром. Каждый проект служит материальным доказательством способностей разработчика, позволяя потенциальным соавторам или работодателям оценить его стиль программирования, навыки решения задач и умение управлять проектами. 

Для этого на гитхабе есть много утилит, которые помогают оформить Readme личного профиля. Но для начала давайте быстренько его создадим.

Читать далее
Total votes 26: ↑24 and ↓2+26
Comments5

Все еще работаете с access token на клиенте? Тогда мы идем к вам

Reading time15 min
Views57K

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

В статье рассмотрим причины необходимости работы с токеном на клиенте веб-приложений, узнаем ,что лучше для хранения токена: localStorage, sessionStorage или cookie без флага HttpOnly (спойлер, ничего из этого), а также посмотрим на меры воздействия, которые можно использовать для снижения риска утечки токена посредством различных уязвимостей.

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

Читать далее
Total votes 37: ↑35 and ↓2+40
Comments40

Ограничение скорости обработки запросов, или как не устроить DDoS-атаку на своего клиента

Reading time10 min
Views38K

Иногда при разработке highload-продукта возникает ситуация, когда надо обработать не максимально большое количество запросов, а наоборот — ограничить количество запросов в единицу времени. В нашем случае это количество отправляемых push-уведомлений конечным пользователям. Подробнее об алгоритмах rate limiting, их плюсах и минусах — под катом.


Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments4

Запускаем privateGPT локально на WSL c поддержкой GPU Nvidia

Level of difficultyMedium
Reading time3 min
Views7.8K

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

Запуск на Windows Subsystem для Linux (WSL) с поддержкой GPU может значительно улучшить его производительность. В этом руководстве я проведу вас пошаговый процесс установки PrivateGPT на WSL с использованием ускорения GPU.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments7

Руководство по веб-скрейпингу на Python

Level of difficultyMedium
Reading time17 min
Views33K

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

Вы получите навыки для скрейпинга сложных сайтов и решения проблем, которые касаются ограничений частоты запросов, блокировок и генерируемых при помощи JavaScript страниц.
Читать дальше →
Total votes 43: ↑40 and ↓3+55
Comments18

Зачем тестировщику CJM

Level of difficultyEasy
Reading time4 min
Views3.9K

Всем привет! Меня зовут Александр, я работаю в SM Lab на позиции куратора тестирования. Сегодня я хотел бы поговорить о такой интересной вещи как CJM на продукте и о том, чем она может быть полезна тестировщику.

Начнем с определения — что такое CJM.

CJM (от англ. customer journey map) воспроизводит путь, который проходит клиент от осознания потребности в продукте до его покупки, а иногда и после неё. Всё это время он взаимодействует с продуктом и компанией и принимает решение на основе полученного опыта. Другими словами, это визуализация путешествия клиента по продукту

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

Как автоматизировать построение архитектурных схем в большой микросервисной системе

Level of difficultyMedium
Reading time8 min
Views19K

Если у вас есть большая система, состоящая из множества микросервисов, то вы наверняка задавались вопросом: «Что сделать, чтобы архитектурная схема всей системы была всегда на 100% актуальной?».

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

Чтобы решить проблему мы автоматизировали отрисовку схем опираясь на метаданные IT-систем. Мы создали отдельный микросервис, который этим занимается и назвали его «Architect». О том как это происходит и как работает Architect я расскажу в этой статье, а также дам несколько советов, которые помогут внедрить то же самое у вас в компании.

Читать далее
Total votes 29: ↑26 and ↓3+25
Comments24

Аутентификация, авторизация пользователей и единый вход (SSO) с использованием Django

Level of difficultyEasy
Reading time24 min
Views17K

В этой статье исследую технологию SSO. Начинаю с разбора концепций аутентификации и авторизации. Рассматриваю как они работаю в контексте Django.

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

В итоге делаю реализацию SSO с Django, объединять Django и Keycloak.

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

Система Quality Score: как оценивать внешнее качество продукта

Level of difficultyMedium
Reading time6 min
Views6.9K

Рассказываем, как создали понятную систему оценки качества для команд разработки Авито. Мы отобрали самые релевантные метрики, протестировали их, а затем показали коллегам, как ими пользоваться. Звучит просто, но на самом деле это был долгий и кропотливый процесс. Что получилось в итоге, читайте в статье.

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

Отслеживаем прогресс выполнения в Python

Reading time2 min
Views156K

Зачем нужны индикаторы прогресса?


Индикаторы прогресса (progress bar) — визуальное отображение процесса работы. Они избавляют нас от необходимости беспокоиться о том, не завис ли скрипт, дают интуитивное представление о скорости его выполнения и подсказывают, сколько времени осталось до завершения.


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

Читать дальше →
Total votes 35: ↑34 and ↓1+41
Comments11

Information

Rating
Does not participate
Registered
Activity