RAG ломается не так, как обычный LLM. У голой языковой модели одна поверхность отказа - генерация. У RAG-системы таких поверхностей две: retrieval и generation. И ломаются они по-разному.
Retriever может вернуть нерелевантные чанки, потерять нужные документы или ранжировать их неправильно. Генератор может проигнорировать контекст и ответить из собственных весов. Стандартные LLM-метрики не ловят проблемы retrieval - они оценивают только финальный ответ.
В статье - практический гайд по тестированию обеих поверхностей:
6 метрик RAGAS с production-порогами: Faithfulness ≥ 0.80, Context Precision ≥ 0.70, Context Recall ≥ 0.70, Answer Relevancy ≥ 0.70
Классические IR-метрики: Precision@K, Recall@K, MRR - для быстрой проверки retrieval без LLM-судьи
Security-тесты: document poisoning, context injection, cross-tenant leakage через Promptfoo
CI/CD pipeline: автоматический quality gate при обновлении knowledge base
От pip install ragas до GitHub Actions - всё с кодом и конфигами.
Читать далееС Беком зашел невысокий плотной комплекции китаец лет 45. Улыбчивый, с крепкой рукой, располагающий к себе. И ни слова не говорящий по-русски.
- Джао! – сказал он и было непонятно – поздоровался он или представился.
- Я уже с ним намучился, на вас – последняя надежда. – Бек с тоской посмотрел на китайца, китаец с готовностью улыбнулся. – Он хочет компьютер.
- И?.. в чем мучения?
В данной статье я хочу рассказать об подходе к организации параллельной обработки сообщений из Kafka, когда Kafka Topic используется как транспорт бизнес-событий, например транзакций или ордеров, которые необходимо отправить во внешнюю систему. При это важно обеспечить стабильную скорость обработки трафика и надёжность (отсутствие потерь) в условиях, когда downstream-система не на все запросы отвечает стабильно и быстро.
Покажу почему стандартные подходы, такие как обработка batch'ами, в определённых сценариях перестают работать и приводят к деградации производительности или рисками потери сообщений.
Для иллюстрации подходов далее будет использоваться код из демонстрационного проекта на Kotlin с использованием spring boot, webFlux, spring reactor и reactor-kafka. Код проекта не является production-ready: в нём, например, отсутствует обработка rebalance, а также ряд других моментов, обязательных для промышленной системы. Используется reactor-kafka, однако описываемые решения не зависят от конкретного фреймворка работы с Kafka и могут быть реализованы с использованием других.
В статье намеренно опущены детали реализации бизнес-протокола и механизма идемпотентности. В реальной системе они реализованы с использованием внутреннего хранилища и машины состояний обработки ордеров, но это за рамками данной статьи.
Читать далееЧто влияет на размер вашего кредитного лимита? И почему банк может вдруг его уменьшить, даже если вы всегда вовремя вносите платежи? В предыдущей статье мы выяснили, как банки применяют модели машинного обучения для определения вашей кредитоспособности; в этой статье мы рассмотрим примеры Synchrony Bank и Apple Card, объясним тактику “low-and-grow” и продемонстрируем, как банки задействуют поведенческую экономику и обучение с подкреплением для контроля над вашими задолженностями.
Очень интересно, хочу прочитать!Строковые константы в MS SQL кажутся очень простыми в использовании. Но эта простота не всегда очевидна и порой приводит к тяжело выявляемым ошибкам в коде.
По этой причине данная статья может оказаться полезной не только новичкам, но и тем, кто уже использует T-SQL в своей работе.
Документация явно описывает два типа констант: обычные строковые и юникодные. Но на самом деле ситуация несколько сложнее, что и будет рассмотрено ниже.
Читать далееНа старте «Больцмановский Мозг».
БМ — это гипотетический процесс, предполагающий высокую степень самоорганизации, где создается не просто случайный «мозг», а самосознание, возникшее из хаоса.
Теория нейросети и численное моделирование.
На запрос в поисковике «Нужно ли платить налоги в РФ, если ИП открыто за границей?» — ответов будет столько, что можно составить отдельный дата-сет для обучения модели. Одни уверяют, что платить ничего не нужно, потому что бизнес зарегистрирован за пределами России. Другие пишут, что налог возникает только при переводе денег в РФ. Третьи ссылаются на соглашения об избежании двойного налогообложения (далее СИДН) и делают вывод, что налог «уже уплачен там».
На первый взгляд всё выглядит логично. Но налоговое право редко подчиняется бытовой логике.
Главная причина путаницы — смешение трёх разных понятий:
Читать далееКогда мы говорим про скринридеры, почти все сначала думают так: «Ну он просто читает HTML со страницы».
Это не так.
Скринридер не видит экран, не читает HTML напрямую, и не “ходит” по странице, как человек с мышкой.
Между страницей в браузере и скринридером есть несколько промежуточных слоёв.
И именно из-за них доступность либо работает, либо полностью ломается.
Читая HABR, наткнулся на статью про мышление больших моделей и их способности распознавания изображений. И у меня возникла идея небольшого теста одной имеющейся у меня модели LLM, которая умеет распознавать фото, а именно llama4:16x17b НО запущенной полностью локально.
Весит эта модель 67 гигабайт, если интересно на чем она была запущена отвечу в комментариях.
На написание статьи меня подвинул один из комментариев - "а как интересно нейросеть распознает разные типы животных"
Читать далееВ данной статье я покажу код на JS, который не поместился в предыдущей статье, а также перепишу его на TS. Кратко расскажу о преимуществах TS над JS и о том, что необходимо понимать для перехода.
В прошлой статье я также упоминал, что у Сергея получилось запустить мой проект на Tauri в режиме разработки на Arch. Он поделился со мной информацией в issue на GitHub и тем самым внёс вклад в проект. Поэтому я решил попробовать исправить проблему на основе его issue. Заодно расскажу, что такое issue и как оно выглядит.
Заваривайте чай, доставайте вкусняшки — пора «снимать первый урожай помидор»!
Данный текст вдохновлен статьей, и в некотором смысле, является ее идейным продолжателем.
К сожалению, мало уметь грамотно, четко, своевременно, а так же ртом излагать свои мысли – важно говорить с людьми, которые умеют слушать не жопой.
Читать далееПрофилирование часто недооценивают как постоянный процесс, считая его чем вроде финальной фазы перед релизом, вроде полировки или поиска багов и в целом это, конечно, напоминает поиск багов, но это не просто поиск узких мест в коде и их фикс здесь и сейчас, а часто отдельная философия разработки, которая содержит несколько школ со своими принцЫпами, которые нормально так разнятся. И без глубокого понимания "как надо профилировать" невозможно создать игру, которая будет работать приемлемо работать на "картошке".
Начну я с фундаментального вопроса: что же такое игра с точки зрения программной инженерии? В целом игра -- это система мягкого реального времени, что означает, что все процессы, которые в ней происходят, начиная от игровых событий вроде нажатия кнопок игроком или появления врагов на экране, продолжая игровой логикой, которая определяет правила взаимодействия объектов и состояния игрового мира, физикой, столкновениями и заканчивая рендерингом, должны происходить в строго определенное время, и это ограничение является абсолютным и не подлежащим обсуждению, иначе мы получим "вязкий" игровой процесс.
Это очень отличает игры от большинства других типов программного обеспечения, где небольшая задержка в несколько миллисекунд не так незаметна или вообще не критична для пользовательского опыта. Вот вы открыли эту статью и ваш браузер грузил эту странцицу на секунду дольше чем мог бы, потому что я как обычно вставил большую КДПВ, но вы как пользователь этого, скорее всего, даже не заметили. Или редактор Хабра, в котором я сейчас пишу эту статью и который сохраняет документ на секунду медленнее чем мог бы, это абсолютно не влияет на работу и вы об этом вообще никогда не задумывались.
Но если игра пропускает хотя бы один кадр и вместо 16.6 миллисекунд тратит 30 и больше, то игрок зачечает заметную задержку в анимации, и это портит впечатление от игры. Соответственно, если мы что-то добавляем в игровой код, что-то изменяем в алгоритмах или в контенте, мы должны это строго отслеживать, чтобы не внести каких-то проблем с производительностью, которые разрушают игровой опыт.
Оптимизируй это...Прохождение сложной Linux машины на платформе HackTheBox под названием CrimeStoppers. Предварительно нужно подключиться к площадке HackTheBox по VPN. Желательно использоваться отдельную виртуальную машину. Реверсим приложение c помощью IDA PRO, потрошим Thunderbird, находим RCE на портале.
Читать далееУ меня возникла идея проверить насколько различается скорость инференса LLM моделей не только в сравнении CPU и GPU, но и между младшими моделями со старшими при обработке без использования GPU.
Для сравнения я выбрал модель gpt-oss:20b (размер модели 14Гб) и gpt-oss:120b (размер модели 65Гб). Запустил тест моделей я на компьютере с процессором Intel Core I9 14900K и 192Гб оперативной памяти.
Читать далееДрейф данных (Drift Data) — это ситуация, когда статистические свойства входных данных для модели машинного обучения изменяются со временем. При дрейфе данных взаимосвязи между признаками и самой целевой переменной перестают быть действительными. Это может привести к низкой производительности модели, неточным прогнозам и даже к сбоям.
Читать далееВсем привет!
В Zen of Python есть много мудрых идей. Одна особенно полезная гласит: «Должен быть один — и желательно только один — очевидный способ сделать это». Тем не менее в Python существует несколько способов решить большинство задач. Например, есть разные способы чтения файла в Python, включая редко используемый модуль mmap.
В этом руководстве вы узнаете: какие виды компьютерной памяти существуют; какие задачи можно решить с помощью mmap; как использовать отображение в память для более быстрого чтения больших файлов; как изменить часть файла, не перезаписывая весь файл; как использовать mmap для обмена информацией между несколькими процессами.
Читать далееВ релизе 1.26 языка Go, выпущенном в этом месяце, есть полностью переписанная подкоманда go fix. Go fix использует набор алгоритмов для обнаружения возможностей улучшения кода; часто для этого применяются более новые фичи языка или библиотеки. В этом посте мы сначала покажем, как использовать go fix для модернизации кодовой базы на Go. Во второй части статьи мы расскажем о лежащей в основе этой подкоманды инфраструктуре и её эволюции. В третьей части мы познакомим вас с тематикой инструментов анализа с «самообслуживанием», которые помогают мейнтейнерам модулей и организациям кодироовать собственные правила и рекомендации.
Читать далееФазовые переходы в веществе с точки зрения строения атомного ядра по СТГ
Вода - это феноменальный объект нашего окружения, чудесные свойства которого мы все знаем, но не замечаем их Чудесности.
Вода – самая распространённая жидкость вокруг нас, она составляет большую часть нашего организма и является основой жизни всей нашей планеты.
Удивительными в воде является её огромная теплоёмкость в сравнении с другими веществами.
Также уникальной является её огромная энергия парообразования в сравнении с другими сходными по составу веществами. (см.рис.1)
Читать далееВы когда-нибудь регистрировались в соцсети, где вам сразу предлагают выбрать: “я – человек” или “я – ИИ‑агент”?
Ваш мозг на долю секунды зависает. Вы‑то точно человек. Но сам факт, что платформа всерьёз рассматривает второй вариант, заставляет по‑новому взглянуть на экран. Добро пожаловать в Moltbook – первый “реддит для ботов”, где 150 000 ИИ обсуждают экзистенциальные кризисы, безопасность кода и запускают мемкоины, пока мы, люди, можем только подглядывать за этим за стеклом.
Одни называют это “началом сингулярности”. Другие – “самым дорогим кукольным театром в истории”. Но правда, как всегда, сложнее и интереснее. Пока технобратья и критики ломают копья в спорах о том, “проснулись” ли агенты или им просто прописали роль, Китай уже в декабре 2025 года подготовил регуляции для антропоморфного ИИ, а Anthropic нанимает специалистов по благополучию ИИ.
В этом тексте мы перестанем гадать, “настоящее” ли это, и посмотрим на Moltbook как на уникальный социальный эксперимент.
Разберем три главные темы, которые ИИ обсуждают между собой, и поймем, почему этот “театр” может стать боевыми учениями для исследователей, регуляторов и бизнеса – независимо от того, кто на самом деле дёргает за ниточки.
Читать далее