Обновить
512K+

Open source *

Открытое программное обеспечение

898,63
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Сжатие декодерных эмбеддеров: как ужать 8B до продакшена без потери recall

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели4.3K

Декодерный эмбеддер 7–8B дает качество, но платит за него памятью, latency и деньгами.

Разбираем все оси сжатия - int8, int4, binary + rescoring, PQ, MRL-усечение - на реальных замерах recall@10: где деградация мягкая, а где обрыв. С воспроизводимым кодом и Colab-ноутбуком под Qwen3

Читать далее

Новости

Ускоренное построение KNN-индексов в Manticore

Время на прочтение7 мин
Охват и читатели4.9K

Раньше построение KNN-индекса было самым медленным этапом при сохранении и слиянии чанков в таблицах с векторными атрибутами. Начиная с v27.1.5 , Manticore может задействовать несколько ядер CPU при сохранении чанков, слияниях через OPTIMIZE, авто-оптимизации и ALTER TABLE ... REBUILD KNN. На 16-ядерном Ryzen 9 5950X построение KNN-индекса для 1 миллиона 1536-мерных векторов сократилось с 8 минут до 39 секунд.

Читать далее

Опенсорсим YaGS Plugin: открытый плагин для работы с 3DGS внутри Unreal Engine

Время на прочтение9 мин
Охват и читатели6.7K

Представьте, что вам нужна фотореалистичная 3D‑копия реального объекта или сцены: например, лица актёра для крупного плана или целой городской улицы. Сегодня для этого есть два инструмента: классическое 3D‑моделирование и фотограмметрия. Однако они съедают недели работы и ломаются там, где очень важны детали, — волосы, хром, стекло, отражения превращаются в артефакты. А на то, чтобы снять реалистичную сцену или объект так, чтобы это масштабировалось на тысячи единиц, обычно уходит слишком много времени и денег.

Выход из этого тупика для целого ряда задач мы нашли в Gaussian Splatting и прогнали технологию через несколько очень разных проектов: сканирование людей и локаций для кино (например, для «Кибердеревни»), создание цифровых двойников городских кварталов и симуляцию для автономного транспорта. Инструмент один — задачи разные. И именно на этом контрасте и родилось самое интересное.

Сегодня я расскажу, как риг из 15 камер заменяет установку за сотни тысяч долларов и зачем мы используем движущегося человека как калибровочную доску. Объясню, почему для беспилотного автомобиля фотореализм обязан рождаться из данных, а не из 3D‑редактора. Ну и, конечно же, расскажу про YaGS Plugin — наш опенсорс‑плагин, который делает Gaussian Splatting полноценной частью сцены в Unreal Engine.

Читать далее

Полез в исходники vLLM, чтобы понять, почему один символ убивает prompt caching

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.7K

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

vLLM и paged attention я руками не писал, зато исходники открыты, и я полез в них за байтовой причиной. Что физически лежит на GPU в момент попадания в кэш, как движок управляет этой памятью и почему хватает одного символа, чтобы всё посыпалось.

Читать далее

PID Toolkit — браузерный инструмент для настройки PID — регуляторов без установки

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели6.2K

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

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

Появилась идея сделать похожую вещь для PID-регуляторов. Опять же неудобно - онлайн калькуляторы,где-то посчитать коэффициенты, отдельно переходный процесс, искать очередную реализацию PID и захотелось чтобы всё это было в одном месте как в ElectroKit и так появился PID Toolkit. И как всегда, любимая мне идея - локально, без установки, регистрации, смс и подключения к Интернету.(хотя про интернет это уже не так важно).

Почему вообще появился этот проект

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

1 - сравнивать разные методы настройки

2 - моделировать переходный процесс

3 - оценивать устойчивость системы

4 - писать код PID-регулятора под свою платформу

5 - помнить про derivative kick, anti-windup и многое другое

Теперь к самому инструменту.

В основе лежит модель FOPDT (First Order Plus Dead Time). Пользователь задаёт три параметра объекта коэффициент усиления K,постоянную времени T,время запаздывания L.

После этого инструмент сразу рассчитывает настройки несколькими методами:

Ziegler–Nichols (Open Loop); Ziegler–Nichols (Closed Loop); CHR (0% Overshoot); CHR (20% Overshoot); ITAE Servo; ITAE Regulator; Lambda / IMC.

Все результаты отображаются в одной таблице, которую можно сортировать по Kp, Ki, Kd

Читать далее

Почему вы не видите, что на самом деле происходит между моделью и MCP-сервером

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели5.6K

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

Я подключил mcp-server-fetch и попросил агента извлечь из документа несколько фрагментов. Ответ получился складным и уверенным. Проанализировав трафик JSON-RPC между клиентом и сервером, я выяснил, что ответ вернулся обрезанным на 6000 символах, причём сервер пометил его как успешный.

В самом конце ответа сервер добавил для модели инструкцию:

Читать далее

redb.Route — уходим от MassTransit, идём к Apache Camel: Kafka, Scatter‑Gather и транзакции

Уровень сложностиСложный
Время на прочтение35 мин
Охват и читатели9.6K

Серия: redb ecosystem / redb.Route deep-dive

Очередная статья из цикла про redb.Route — наш Apache Camel под .NET. Если вы только подключились, вот предыдущие на Хабре:

redb.Route — Apache Camel для .NET, который мы написали потому что выхода другого не было — с чего всё началось;

redb.Route изнутри: четыре in‑memory канала и Exchange, который их связывает;

redb.Route 3.0.1 — плоская навигация по DSL, рефакторинг CRTP и тихий null;

Apache Camel под .NET, разбор по косточкам: HTTP‑коннектор без ASP.NET MVC + паттерн Content‑Based Router — предыдущая «EIP + коннектор».

Сегодня заходим с Kafka‑коннектора — разбираем его по косточкам, как делали с HTTP, — а потом сажаем на него два EIP‑паттерна: Scatter‑Gather и Aggregator. И главное — разбираем то, о чём в туториалах молчат: как это живёт под транзакциями. Заодно вышел 3.2.0.

Читать далее

ГдеЗаправка: умный подбор + как нас за сутки посетило полмиллиона

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели13K

Год назад, в разгар топливного дефицита, я объехал три заправки подряд — и на всех был «сухой» АИ-95. Так появилась ГдеЗаправка — карта не расположения заправок, а их наличия: где прямо сейчас, по отметкам водителей, есть топливо. Недавно вышло большое обновление — и через сутки про него узнало столько народу, что наши серверы не выдержали. Рассказываю, что мы выкатили.

Карта: gdezapravka.ru

Читать далее

Как я устал писать парсер под каждый прайс и сделал из этого библиотеку

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели7.2K

У нас на проекте десятки прайсингов на топливо: один вендор шлёт CSV, другой Excel, третий JSON на вебхук. Данные одни и те же, но колонка цены везде называется по-своему, даты в трёх форматах, единицы то литры, то галлоны, а половина нужных полей просто отсутствует. И под каждый источник у меня жил отдельный парсер на сотню строк if-else. Сначала их было три, потом восемь, потом я перестал считать. А по-настоящему добило другое: эти парсеры ломались молча. Вендор тихо переименовывал колонку.

В третий раз за месяц копируя один и тот же парсер, я понял, что так нельзя, и вынес логику маппинга из кода в данные. Из этого выросла библиотека fidelis: ты описываешь данные один раз как Pydantic-модель, а соответствие под каждый кривой источник один раз пишет LLM — в виде читаемой YAML-спеки, которую ты ревьюишь и коммитишь. Дальше LLM не нужен: чистый детерминированный Python, валидация каждой строки и отлов изменений схемы ещё в CI. Рассказываю, как дошёл до жизни такой и как это устроено.

Читать далее

Harness Bench: как оценить агентский harness и выбрать связку с моделью

Время на прочтение12 мин
Охват и читатели8.5K

Привет! Я Андрей Иванов, NLP-исследователь в R&D-лаборатории red_mad_robot.

Когда мы собираем AI-агента, первым делом выбираем модель под задачу. Но в реальном приложении она не работает в одиночку, ей нужен агентский harness — программная обвязка. Поэтому выбирать приходится не просто модель, а связку «модель + harness».

Чтобы делать этот выбор осознанно, мы создали Harness Bench — открытый фреймворк, который тестирует связки на реальных задачах в одинаковых условиях. В статье расскажу, как он устроен, разберу баги опенсорсных обвязок, которые ломают автоматический прогон, а потом покажу на цифрах, как смена harness влияет на способности одной и той же модели.

Читать далее

Группировка ошибок вручную и автоматически, или чем тестировщику занять своё время

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.8K

40-60% времени современных QA-команд тратится на диагностику сбоев в тестах. Эта проблема настолько серьёзна, что сейчас активно разрабатываются практики сокращения размеров тестовых сюит, Майкрософт рекомендует при триаже не разбирать каждое падение по отдельности, а кое-кто советует «стохастический подход» к разбору ошибок, при котором команды не тратят время на разбор каждого падения.

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

Читать далее

ИИ-ассистент на базе Hermes Agent в Telegram: для саппорта, семьи, пет-проектов и не только

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.2K

Недавно мы с женой придумали небольшой совместный проект: она креативит, я прогаю. Сделав каркас в Codex, я завел чат на троих с Hermes Agent. Пошерил ему доступы и контекст, теперь моя пассия добавляет фичи и двигает пиксели голосовухами. Это сработало так круто, что я всунул Гермеса много куда — и не могу не поделиться этим с вами!

В этой статье я расскажу: что такое Hermes Agent, как я его использую и как сделать себе также.

Начать ИИ-трасформацию

После прочтения сжечь. Как устроен zero-knowledge сервис, где сервер не видит ключ

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.5K

Привет! Задача возникла банальная: нужно передать коллеге пароль, API-ключ или конфиг. Телега — не хочется, почта — тем более. Существующие решения от OneTimeSecret до PasswordPusher и прочих — либо закрытый код и доверяй на слово, либо требуют своего сервера. Одни требуют регистрации, другие — напичканные всем подряд комбайны. Захотелось сделать так: открытый код, шифрование в браузере, сервер физически не может прочитать содержимое и, разумеется, бесплатно.

Так появился BurnAfterRead — self-destructing E2E encrypted drops на Cloudflare Workers.

Полюбопытствовать

Ближайшие события

ChatGPT -> Codex CLI: как перенести контекст диалога в локальную сессию

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6K

Обсуждение архитектуры или бага часто начинается в ChatGPT, а реализация продолжается локально в Codex CLI. Рассказываю, как я сделал небольшую CLI-утилиту, которая переносит расшаренный ChatGPT-диалог в локальную сессию Codex, и почему для этого оказалось недостаточно просто записать JSONL-файл.

Читать далее

kafkactl — другой взгляд на работу с Kafka

Время на прочтение16 мин
Охват и читатели9.3K

При работе с Apache Kafka рано или поздно возникает необходимость быстро проверить топик, прочитать сообщения или посмотреть состояние группы потребителей (consumer group). Можно применять стандартные инструменты Kafka. Однако на практике они часто оказываются не самыми удобными для повседневной работы. Многие команды получаются длинными, каждый раз требуют передачи параметров подключения и нуждаются в различных CLI-утилитах.

Есть и более легкие решения — например, kcat, который хорошо знаком многим инженерам и часто используется для диагностики Kafka. Но существует и вариант поудобнее — kafkactl.

Привет, Хабр! Меня зовут Сергей Кардапольцев, я технический писатель в Selectel. В этой статье мы познакомимся с kafkactl — CLI-инструментом для работы с Kafka. Посмотрим, чем он отличается от стандартных Kafka-утилит и kcat, а также разберем базовые сценарии работы на примере кластера.

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

Как Reddit без потерь перенес петабайтную Kafka с EC2 на Kubernetes

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.7K

Миграция — риск даже для небольших инфраструктур. А когда у вас больше миллиарда пользователей и петабайт данных, права на ошибку нет вообще. Но выход всё равно один — грамотно спланировать переезд и... взять и сделать.

В статье — о том, как Reddit перешёл на Kubernetes: почему они отказались от Amazon EC2, какие ограничения им пришлось учитывать и чем их опыт может быть полезен в других проектах.

Читать далее

Анатомия SQLite-провайдера: уходим от EF Core — типизированное хранилище для десктопа, мобайла и Blazor WASM

Уровень сложностиСложный
Время на прочтение30 мин
Охват и читатели12K

Серия: redb ecosystem (инженерный разбор после анонса 3.2.1)

Когда вышел SQLite-провайдер 3.2.1, анонс был на пару абзацев: «тот же LINQ, одна строка в DI». Эта статья — противоположность анонса. Здесь не «что вышло», а как оно устроено и где у нас потекло. Конкретно: как движок запросов redb переехал в нативное C-расширение там, где у базы нет хранимок; как мы храним DateTimeOffset в базе, у которой нет типа «дата»; и три бага из этого релиза, разобранные с фильтр-JSON, сгенерированным SQL и фиксом.

Это длинно и с кодом. Если хочется коротко — читайте анонс по ссылке выше. Если интересно, что под капотом «одной строки в DI», — устраивайтесь.

Читать далее

Оптимизация без AI: как я автоматизировал API-ручки и типы

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6.2K

На прошлой неделе я снова потратил полдня на то, чтобы понять, почему фронт падает после обновления бэка. Локально работало, а на стейдже ошибка. Оказалось, бэкендер переименовал поле в ответе, но не обновил документацию и не предупредил команду. Я узнал об этом только когда код упал на стейдже - вручную править ручку пришлось уже постфактум, разбираясь с ошибкой.

С этим надо было что-то делать.

Читать далее

Как я устал от CVAT и в соло написал десктопный инструмент для авторазметки датасетов на PyQt5

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели6K

Надоело разворачивать CVAT через докер и мириться с лагами браузера? Я расскажу свою историю, как от простецкого аннотатора собранного на коленке написал мощную легковесную отечественную альтернативу на PyQt5 и OpenGl, с пакетной авторазметкой и иерархией классов.

Читать далее

Как заставить LLM проанализировать хранилище из тысяч заметок, которое не влезает в контекст

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели9.6K

У меня в Obsidian накопилось под две тысячи заметок. Ежедневники, конспекты, обрывки идей, недописанные черновики. Граф‑вью честно показывает мне облако точек: красиво, но бесполезно. Какие заметки висят сиротами без единой связи, какие дублируют друг друга под разными тегами, какие кластеры тем так и не соединились, из графа не вытащить.

Очевидная мысль: «отдам всё LLM, пусть разберётся». Но 2000 заметок это миллионы токенов. Ни в один контекст это не влезает, а если бы и влезло, стоило бы как крыло самолёта и утонуло бы в шуме.

Так появился идея по созданию Vault Audit AI, плагин для Obsidian, который проводит аудит хранилища через LLM: находит сироты, кластеризует темы, предлагает теги и связи. Я его опубликовал в официальном каталоге и выложил на GitHub. В этой статье разберу инженерную начинку: как обойти лимит контекста через MapReduce, как не платить за повторный анализ, как абстрагировать четырёх LLM‑провайдеров под одним интерфейсом, и что пришлось переделать, чтобы пройти автоматическое ревью каталога.

Код на TypeScript, фрагменты настоящие (слегка почищены от обёрток локализации ради читаемости).

Читать далее
1
23 ...