Pull to refresh
-1
0
Send message

Будущее LLM в XS, S, M и других размерах

Level of difficultyEasy
Reading time4 min
Views1.2K

Как научить ИИ думать масштабно, но экономно? Представьте интеллект, который выбирает, какой «размер мозга» нужен для каждого запроса: от простого ответа «2+2» до сложных вычислений. Заставить модель говорить «я не знаю» и «просить о помощи», при этом эффективно расходуя ресурсы?

Читать далее

dumbproxy — что нового?

Level of difficultyMedium
Reading time5 min
Views4.6K

dumbproxy уже упоминался на Хабре в одной из моих прошлых статей. Это HTTP(S) прокси-сервер, который работает через TLS, напрямую совместим с браузерами и браузерными расширениями, и имеет заметное количество дополнительных функций, расширяющих его границы применимости и облегчающих его использование.

Читать далее

Парольная защита статичной HTML-страницы на JS

Reading time3 min
Views8.8K


Обычно парольная защита производится через веб-сервер, который проверяет пароль и выдаёт контент. Стандартный способ: .htaccess и htpasswd. Но что, если нужно выложить зашифрованную веб-страницу и файлы на публичном хостинге, где у нас нет контроля над сервером? Эту проблему решают инструменты StatiCrypt и Portable Secret.

Для шифрования HTML перед публикацией StatiCrypt использует AES-256 и WebCrypto, а расшифровка происходит с помощью ввода пароля в браузере на стороне клиента, как показано в демо (пароль test).

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

PHP Typed: Маленький Composer пакет, который нарушает PHP правила ради вас

Level of difficultyEasy
Reading time8 min
Views6.7K

Звучит слишком громко? Давайте уточним, чтобы избежать обманутых ожиданий: этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP.

Читать далее

Раскройте возможности блокчейна TON: Пошаговое руководство по сбору данных с помощью dton.io

Level of difficultyEasy
Reading time7 min
Views2K

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

Без использования таких сервисов, для каждого запроса информации, вам бы пришлось парсить кучу блоков блокчейна, чтобы вернуть данные. В данной статье, я покажу вам как делать GraphQL запросы в dton.io на блокчейне TON. Возьмем простую задачу и пройдем весь путь формирования запроса и параллельно рассмотрим основные возможности индексатора.

Читать далее

Обучение и fine-tuning моделей простым языком: зачем, как, где

Level of difficultyMedium
Reading time18 min
Views7.9K

В нашей работе с большими языковыми моделями (LLMs), один из самых популярных вопросов касается их до-обучения. Каждый второй клиент спрашивает, нужно ли проводить дополнительное обучение модели.

Давайте рассмотрим нужно ли это, как это сделать.

Читать далее

BRIN-индексы в PostgreSQL

Level of difficultyEasy
Reading time5 min
Views4.5K

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

Когда мы говорим о PostgreSQL и оптимизации запросов, большинство тут же вспоминает B-Tree индексы, GIN, GiST и так далее. Но вот BRIN иногда остается в тени, хотя в некоторых сценариях он способен творить чудеса с производительностью, особенно когда ваши таблицы размером с космический лифт, а места на диске жалко. Сегодня я расскажу, как именно работает BRIN.

Читать далее

Пора перестать в любой непонятной ситуации строить DWH для аналитики

Level of difficultyEasy
Reading time4 min
Views6.1K

Привет!
Кажется, первая статья нашла своего благодарного читателя.Снова мысли от CDO трудящегося вместе с одной небольшой компанией ру-сегмента.
Продолжу о том, что "наболело".

Эта статья может быть Вам полезна, если консалтинг/интегратор/CTO/CIO/сын маминой подруги настойчиво хочет решить все Ваши "проблемы" в аналитике классным корпоративным хранилищем, далее - DWH.

Читать далее

Принцип тестирования «Скопление дефектов» (Defect Clustering). Где прячутся баги?

Level of difficultyEasy
Reading time11 min
Views3.4K

В разработке ПО мы часто сталкиваемся с ситуацией, когда большая часть дефектов концентрируется в относительно небольшом количестве модулей. Это явление называется скоплением дефектов (Defect Clustering). Принцип Парето (80/20) здесь прекрасно иллюстрирует ситуацию: 80% проблем обычно обнаруживается в 20% кода. Понимание причин этого феномена и умение идентифицировать "зоны риска" — ключ к эффективному тестированию.

Почему дефекты кучкуются?

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

Читать далее

Ускоряем запросы в PostgreSQL, оптимизируя оператор GROUP BY

Level of difficultyHard
Reading time9 min
Views19K

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

Postgres уже умеет перестраивать список группируемых выражений в соответствии с порядком колонок из условия ORDER BY, чтобы исключить дополнительную сортировку и сэкономить вычислительные ресурсы. Мы пошли дальше, реализовали свою идею в дистрибутивах Postgres Pro Standard и Enterprise и вынесли патчи на обсуждение сообщества Postgres (первое и второе) в надежде, что они войдут в ближайшую версию ванильного PostgreSQL.

Читать далее

Опыт работы с библиотекой h3: гексы, геопризнаки и Geo Feature Store

Level of difficultyEasy
Reading time5 min
Views1.6K

Привет, меня зовут Роман Симановский, я Junior Data Scientist в команде Геоаналитики Альфа-Банка. Сегодня поделюсь опытом того, как мы работаем с пространственными данными, преобразовывая их в гео-признаки. С их помощью мы улучшаем модели машинного обучения, добавляя в них информацию об окружающем мире. На самом деле, это не так уж сложно, поэтому статья будет короткой.

Читать далее

Оптимизация PostgreSQL: параметры для ускорения запросов

Level of difficultyMedium
Reading time5 min
Views12K

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

Читать далее

Проверка готовности приложения к работе в реальном ненадежном мире. Часть 4

Reading time10 min
Views1.9K

Четвертая часть статьи, в которой Виталий Лихачёв, SRE в booking.com и спикер курса Слёрма «Golang-разработчик» рассказывает, о чём стоит подумать перед выкаткой сервиса в жестокий прод, где он может не справиться с нагрузкой или деградировать из-за резких всплесков при наплыве пользователей и по вечерам.

Статья состоит из 5 частей, которые выходят по очереди:

1. Надежность.

2. Масштабируемость/отказоустойчивость.

3. Resiliency/отказоустойчивость.

4. Безопасность. Процесс разработки. Процесс выкатки.

5. Наблюдаемость. Архитектура. Антипаттерны.

Читать далее

Руководство по созданию приложения для поиска данных на основе агента GraphRAG

Level of difficultyMedium
Reading time3 min
Views5.4K

Это приложение интегрирует GraphRAG с агентами AutoGen, работающими на локальных LLM от Ollama, для бесплатного и автономного встраивания и вывода.

Ключевые моменты включают:
1. Agentic-RAG: - Интеграция метода поиска знаний GraphRAG с агентом AutoGen через вызов функций.
2. Поддержка автономного LLM: - Настройка GraphRAG (локальный и глобальный поиск) для поддержки локальных моделей из Ollama для вывода и встраивания.
3. Вызов функций не из OpenAI: - Расширение AutoGen для поддержки вызова функций с LLM из Ollama через прокси-сервер Lite-LLM.
4. Интерактивный пользовательский интерфейс: - Развертывание пользовательского интерфейса Chainlit для обработки непрерывных разговоров, многопоточности и настроек пользовательского ввода.

Читать далее

Как я создавал бесплатный сервис оптимизации изображений FlashImg.ru

Level of difficultyEasy
Reading time3 min
Views2.5K

Всем привет. В этом материале я расскажу как создавал беспслатный сервис оптимизации изображений FlashImg.ru

Читать далее

Советы Team/Tech Lead: навыки, инструменты и вызовы

Level of difficultyMedium
Reading time9 min
Views3.7K

Team Lead и Tech Lead – это НЕ должности, а ключевые функциональные роли в команде, которые могут взять на себя опытные специалисты. Team Lead отвечает за организацию работы команды, поддержание продуктивной среды и помощь коллегам в достижении общих целей. Tech Lead фокусируется на техническом направлении, принимая архитектурные решения и обеспечивая качество проекта. Эти роли требуют не только профессиональных навыков, но и способности направлять, вдохновлять и поддерживать команду. В этой статье я поделюсь основными навыками, инструментами и вызовами, с которыми сталкиваются Team и Tech Leads, а также расскажу, как справляться с трудностями и добиваться успеха в этих ролях.

Читать далее

Как я получил $5000 за Out-of-Scope XSS

Reading time3 min
Views4.8K

Несколько месяцев назад я получил приглашение участвовать в частной программе bug bounty на платформе HackerOne. Сначала я провел свои обычные тесты и обнаружил различные уязвимости, такие как недостаток управления доступом (BAC), утечка авторизационных токенов других пользователей и т.д.

После того как я сообщил об этих уязвимостях программе, я заметил, что XSS считается вне области покрытия согласно их политике. Бизнес программы заключался в том, чтобы предоставлять услуги по созданию систем управления контентом и конструкторов веб-сайтов. При создании аккаунта, пользователи получают уникальный поддомен вида <YOUR-SUB>.target.com, который они могут настраивать.

Учитывая структуру приложения, XSS был ограничен возможностью воздействия только на собственный поддомен, и программа исключила XSS на <YOUR-SUB>.target.com из области покрытия. Это подтолкнуло меня к поиску уязвимости self-XSS и попытке связать ее с другой уязвимостью, чтобы показать более серьезные последствия.

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

Найти self-XSS не заняло много времени.

Читать далее

Как мы обучили Mistral 7B русскому языку и адаптировали для объявлений Авито

Level of difficultyMedium
Reading time7 min
Views9K

Привет! Я Настя Рысьмятова, руковожу командой LLM в Авито. Эта статья — про то, какие задачи мы решаем с помощью языковых моделей и как адаптируем их под себя. Мой опыт будет интересен прежде всего тем, кто тоже занимается большими языковыми моделями в крупных продуктовых компаниях. А всем остальным любопытно будет узнать, как модели учатся и решают конкретные задачи Авито — например, помогают пользователям писать тексты объявлений.

Читать далее

Как сделать React Server Components в Electron с помощью Next.js и без открытых портов

Level of difficultyMedium
Reading time8 min
Views1.1K

Статья про то как заставить работать React Server Components внутри Electron приложения с помощью Next.js при этом не запуская локальный сервер и не открывая порты. С возможностью публикации стандартными инструментами. А также исследование зачем все это надо.

Читать далее

Забудьте про терминал! Как я избавлялся от рутинных ADB команды с помощью Shortcuts

Level of difficultyEasy
Reading time8 min
Views3.5K

До этого года я спокойно пользовался терминалом для установки android приложений на тестовые устройства: каждый раз вручную копировал название файла, выбирал нужную команду из истории терминала, стирал старое название и вставлял новое. Это меня очень раздражало, но я не искал решений.

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

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

В конце статьи ссылки на готовые команды 🌚

Читать далее

Information

Rating
Does not participate
Registered
Activity