bm25.

Почему 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, которую долго игнорировали

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

Как я сделал локальный RAG-сервис для SRE: ищем по документации, ранбукам и коду через Ollama

Недавно я делал учебный проект про автоматизацию документирования инцидентов. Поначалу планы были грандиозными: инциденты, таймлайны, интеграции с мониторингами, чатами, постмортемы, подсказки дежурным инженерам.Но довольно быстро стало понятно, что с временными и ресурсными ограничениями лучше не пытаться написать маленький PagerDuty. Поэтому я сузил задачу до более реалистичного ядра: локального RAG-сервиса, который ищет по документации, ранбукам и коду, а затем передаёт найденный контекст в LLM.Так появился llmortem — FastAPI-сервис, который можно подключить к OpenWebUI как OpenAI-compatible backend.

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

Эволюция ‘More Like This’

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

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

RAG в enterprise: 70-80% проблем не в модели, а в данных

Жемал Хамидун, Head of AI Alpina Digital, CPO AlpinaGPT

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

12