bm25.

Пять слоёв памяти ИИ-ассистента: что реально работает в проде, а что осталось в библиотеке

Мы делаем ИИ-ассистента, который живёт сразу в трёх мессенджерах: Telegram, MAX и ВКонтакте, и пользуются им около 1200 человек. Про мост в MAX я уже писал, а сегодня расскажу о том, что лежит под ним, то есть о памяти.

продолжить чтение

Фреймворк RAFT: как работает RAG на максималках от Microsoft

Чтобы быстрее отвечать пользователям, команды техподдержки применяют RAG — подход, при котором нейросеть ищет информацию в базе знаний и опирается на нее при подготовке ответа.Проблема в том, что в архивных тикетах важные детали часто разбросаны по переписке: по отдельному фрагменту не всегда понятно, какие способы уже проверяли и чем всё закончилось. К тому же в ходе диагностики часто появляются новые факты, которые меняют представление о проблеме. 

продолжить чтение

Закрытый Jev против открытой Laya: сравниваем decision-модели в RAG-реранжировании

Можно ли заменить облачный Jev локальной Laya Multilingual? После сравнения Jev с обычными LLM проверил Jev и Laya на реранжировании документов. Сравнил качество и скорость на трех поисковых наборах, добавив специализированные BGE и Qwen3-Reranker.Зачем здесь реранкерПредставим вопрос: как найти честного страхового брокера в Канаде? Поиск может вернуть и советы по выбору специалиста, и обсуждение дешевой автостраховки. Во втором тексте тоже есть Канада, брокеры и страхование, но вопрос пользователя другой.

продолжить чтение

Почему RAG не умеет в Excel

Треть нашей базы знаний лежит в выгрузках Excel, и на них ИИ-ассистент отвечает хуже всего. Разбираем, что теряется по дороге от ячейки до индекса.Вопрос, на который ассистент не отвечаетУ нас внутренний помощник по методологии. Он ищет по базе из нескольких сотен документов: регламенты в PDF, презентации, записки и примерно треть корпуса в Excel. Справочники категорий, прайс-листы, списки контрагентов. Всё это мы порезали на куски и сложили в векторный индекс, тридцать пять тысяч кусков.Сотрудник спрашивает: «Является ли Северянка нашим партнёром?»

продолжить чтение

От совпадения слов к пониманию смысла запроса: как эволюционировали поисковики и AI‑чаты

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

продолжить чтение

Как устроен RAG для юридических документов и почему одной LLM оказалось недостаточно

Первый вариант системы выглядел вполне стандартно: документы разбиваются на фрагменты, для них считаются embeddings, пользователь задаёт вопрос, несколько наиболее подходящих фрагментов отправляются в LLM вместе с запросом. Модель формулирует ответ — на первых тестах этого было достаточно.Проблемы начались на вопросах, которые на первый взгляд мало чем отличаются друг от друга:Какая пеня установлена в договоре № 14/24.7645?Кто из арендаторов не заплатил за май?А у него предусмотрена индексация?Контрагент предлагает добавить пеню в 0,01%. Насколько это существенно?

продолжить чтение

Как мы научили ИИ читать корпоративные регламенты: от наивного RAG до измеримого pipeline

Почему корпоративный RAG - это не «загрузить документы в векторную базу»В любой большой компании есть люди, которым регулярно пишут:«А как у нас оформляется постоплата?»«Кто согласует риски в сделке?»«За сколько дней нужно оформить командировку?»

продолжить чтение

Месяц тюнил поиск по памяти, а починила всё одна строка в промпте

Месяц тюнил поиск по памяти, а починила всё одна строка в промптеУ меня телеграм-бот, который ведёт память по чату: вытаскивает из переписки факты и потом отвечает с оглядкой на них. Работает в полутора тысячах чатов.В конце августа я закончил месяц работы над его поиском. Поднял Recall@5 на 17%, перебрал параметры BM25, нашёл оптимальный вес слияния. Потом померил, как это сказалось на самих ответах.Никак. Прирост оказался статистически не значимым, p = 0.79.А потом я посмотрел в промпт, поправил там одну формулировку и получил плюс 16 процентных пунктов качества за вечер.

продолжить чтение

[3-8] Context Ranking: как выбрать полезные фрагменты из репозитория

Fill-in-the-Middle: как модель дописывает код в середине файла Autocompletion: как LLM создает подсказки кодаВ предыдущей заметке мы выяснили, что для точного автодополнения одной LLM недостаточно. Если на вход модели передавать только код вокруг курсора, то она не будет знать устройство конкретного проекта: какие сервисы существуют, как называются методы и какой стиль написания кода использует команда. В рассмотренном ранее примере

продолжить чтение

Contextual Retrieval: техника, которая чинит главную проблему RAG за 50 центов на тысячу чанков

Привет, Хабр! В сентябре 2024 года Anthropic опубликовала технику Contextual Retrieval с обещанием снизить процент неудачных извлечений в RAG‑системах на 49% при использовании только embeddings и на 67% в сочетании с reranking. К середине 2026 года эта техника закрепилась как один из стандартов production‑RAG и применяется в подавляющем большинстве серьёзных корпоративных систем. Разберём, в чём её суть, почему она вообще работает, как её реализовать и где она ломается.Корневая проблема classical RAG, которую долго игнорировали

продолжить чтение

12