#bm25 — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #bm25, aggregated by home.social.
-
LLM‑судья вместо косинусной близости: точность подбора кандидатов с 44 до 66% и четыре провалившихся приёма
У нас есть внутренняя платформа подбора ИТ-специалистов. Вакансии приходят от заказчиков, и по каждой платформа находит в базе резюме, близкие к её тексту по смыслу, даже если слова в них другие. Внутри обычный векторный поиск на эмбеддингах. У любого такого поиска есть врождённая болезнь. Он находит похожие тексты, а рекрутёру нужны подходящие люди. Резюме сильного программиста совпадает с вакансией архитектора почти по всем ключевым словам, но это другая роль, и кандидат не подходит. Рекрутёр видит такое за несколько секунд. Поиск не видит вовсе. У такого резюме высокая косинусная близость к тексту вакансии, и поиск выводит его в верх поисковой выдачи. Этим летом мы переделали ранжирование кандидатов. Теперь место кандидата в поисковой выдаче зависит от ответа на вопрос, который рекрутёр и так задаёт себе про каждого. «Показал бы я этого кандидата клиенту?» На этот вопрос отвечает языковая модель (LLM). Она встроена в платформу как судья, перечитывает найденные поиском резюме, и каждый вердикт обязана доказывать дословными цитатами из них. Доля действительно подходящих кандидатов в первой десятке поисковой выдачи выросла с 43,7 до 66,3 процента. Замерено на эталонном наборе, который мы заморозили до начала работ. Как устроен замер, расскажу ниже. Кроме прироста точности эта переделка дала четыре истории, где проверка на эталонном наборе перечеркнула то, что казалось очевидным. Тендер на роль судьи, который мы устроили между четырьмя LLM, выигрывала недорогая и быстрая из них, пока мы не проверили, настоящие ли цитаты из резюме она приводит. Экономия на глубине рассуждений прошла все проверки качества и провалилась на проверке цитат. Перебор 1330 вариантов взвешивания оценок судьи доказал, что веса не нужны. А RRF, стандартный приём слияния семантического и полнотекстового поиска, первую же проверку на эталонном наборе провалил, он ухудшил и полноту, и точность. Обо всём по порядку. Читать дальше
https://habr.com/ru/articles/1074382/
#LLM #эмбеддинги #поиск_по_резюме #эталонный_набор #BM25 #рекрутинг
-
Contextual Retrieval: техника, которая чинит главную проблему RAG за 50 центов на тысячу чанков
Классический RAG часто ошибается не из‑за слабой embedding‑модели, а потому что чанки теряют связь с исходным документом. Разбираем, как Contextual Retrieval возвращает этот контекст перед индексацией и помогает точнее искать нужные фрагменты в корпоративных базах знаний.
https://habr.com/ru/companies/otus/articles/1054594/
#RAG #Contextual_Retrieval #LLM #embeddings #BM25 #reranking #чанки #векторный_поиск #база_знаний #корпоративный_ИИ
-
I have noticed that a while ago, several new Postgres extensions regarding text search have surfaced that all use BM25. Obviously if you read their documentation each one is the ultimate solution to all text search problems.
Is anyone aware of a comparison between the various extensions?
I would be mainly interested in a feature comparison, articles that point out the sweet spots and the pitfalls.
-
Как я сделал локальный RAG-сервис для SRE: ищем по документации, ранбукам и коду через Ollama
Недавно делал учебный проект про автоматизацию документирования инцидентов. Поначалу планы были грандиозными: инциденты, таймлайны, интеграции с мониторингами, чатами, постмортемы, подсказки дежурным инженерам. Но довольно быстро стало понятно, что с временными и ресурсными ограничениями лучше не пытаться написать маленький PagerDuty. Поэтому я сузил задачу до более реалистичного ядра: локального RAG-сервиса, который ищет по документации, ранбукам и коду, а затем передаёт найденный контекст в LLM. Так появился llmortem — FastAPI-сервис, который можно подключить к OpenWebUI как OpenAI-compatible backend. В статье расскажу, как устроена архитектура, почему я начал с BM25, зачем индексировать docstring’и и какие ограничения у такого подхода.
https://habr.com/ru/articles/1043928/
#RAG #LLM #FastAPI #Python #Ollama #OpenWebUI #BM25 #SRE #ранбуки #OpenAIcompatible_API
-
Эволюция 'More Like This'
Во многих поисковых сценариях пользователь начинает не с пустой строки запроса, а с существующего результата. Пользователь открывает статью и хочет найти похожие материалы. Покупатель просматривает карточку товара и ищет близкие варианты. Инженер поддержки разбирает инцидент и хочет увидеть прошлые случаи с теми же симптомами. Во всех этих ситуациях у пользователя уже есть релевантный документ для начала поиска. Этот сценарий традиционно называют More Like This (MLT) : функцией поиска документов, похожих на выбранный. В статье под MLT понимается поиск от уже известного документа, а не от заново введённого запроса. Классический подход MLT (поиск похожих документов) основывался на сравнении текстовых совпадений. Современные реализации всё чаще используют эмбеддинги: числовые представления документов. Поисковый индекс хранит эмбеддинги в виде векторов, а поисковая система может находить документы с близкими векторными представлениями.
https://habr.com/ru/articles/1042190/
#nlp #обработка_естественного_языка #векторный_поиск #оптимизация_производительности #полнотекстовый_поиск #семантический_поиск #ранжирование_поиска #tfidf #bm25
-
Obsidian Hybrid Search (OHS). MCP и CLI, которые выводят поиск по заметкам с AI-агентами на новый уровень
AI-агенты умеют искать по Obsidian-хранилищу, но делают это слишком топорно через glob и grep. Да, для кода эти инструменты работают потрясающе, но хранилище в Obsidian не имеет такой же высокой структурированности. Искать по нему чисто лексически – значит терять инсайты, которые связаны по смыслу. Чтобы решить эту проблему, я разработал Obsidian Hybrid Search – MCP-сервер и CLI, которые дают агенту мощный поисковый движок поверх заметок. GitHub + Obsidian Plugin Перестать заниматься glob-grep-ингом
https://habr.com/ru/articles/1040948/
#Obsidian #Obsidian_Hybrid_Search #MCP #AIагенты #гибридный_поиск #семантический_поиск #BM25 #RRF #база_знаний #PKM
-
RAG в enterprise: 70-80% проблем не в модели, а в данных
Эта статья родилась из работы над
https://habr.com/ru/companies/alpinadigital/articles/1036196/
#RAG #enterprise_AI #retrieval_augmented_generation #embeddings #GraphRAG #Agentic_RAG #BM25 #chunking #LLM #AlpinaGPT
-
Гибридный поиск в Manticore Search
Поиск редко сводится к одному универсальному сценарию. Пользователь, вводящий "cheap running shoes", хочет точных совпадений по ключевым словам, а пользователь, задающий "comfortable footwear for jogging", выражает то же намерение другими словами. Традиционный полнотекстовый поиск хорошо справляется с первым случаем. Векторный поиск решает второй. Гибридный поиск объединяет оба в одном запросе, так что вам не приходится выбирать. В современных поисковых системах это часто описывается как комбинирование лексического (разреженного) поиска с семантическим (плотным) поиском . Разные термины, одна идея: точное совпадение плюс смысл.
https://habr.com/ru/articles/1018754/
#гибридный_поиск #полнотекстовый_поиск #векторный_поиск #full_text_search #knnsearch #vector_search #bm25 #rag
-
👴🧙♂️ Oh look, another "graybeard" programmer claiming to have conquered the #Postgres #search universe with a #GitHub repository and a sprinkle of fairy dust. 🚀✨ The article boasts about a magical #BM25 search extension like it's the iPhone of database queries, but spoiler alert: it's still just Postgres with a fancy name tag. 🏷️🤖
https://github.com/timescale/pg_textsearch #graybeardprogrammer #databasequeries #HackerNews #ngated -
How This Graybeard Built the Fastest and Freest Postgres BM25 Search
https://github.com/timescale/pg_textsearch
#HackerNews #Graybeard #Postgres #BM25 #Search #Fastest #Search #Engine #Open #Source #Database #Technology
-
От 0.034 до 0.791 и обратно: Legal RAG, 17 итераций и стена масштабирования
Я участвовал в ARLC 2026 — юридическом AI-челлендже по построению RAG-пайплайна поверх корпуса судебных решений и законов. Соло, с Claude Code в качестве напарника. За 5 дней и 17 итераций прошёл путь от 0.034 до 0.791 на warmup — а потом вышел в финал и потерял 42% на 300 документах вместо 30. Внутри — архитектура, код, математика F-beta, три провала и честный разбор работы с AI-ассистентом.
https://habr.com/ru/articles/1014758/
#RAG #retrieval_augmented_generation #legal_AI #Claude #grounding #BM25 #reranking #NLP #соревнование
-
Как гуманитарий за 2 месяца с нуля RAG систему построил, или Парсинг PDF по-хардкору
Добрый день. Сегодня я расскажу о том, как я за 2 месяца с полного нуля создал доменную RAG систему с корпусом в 20+ книг. В статье затрону проблемы парсинга данных (особенно PDF документов, с которыми приходилось иметь дело), чанкинга, создания и индексации эмбеддингов, а также самого интересного – ретривера. Расскажу о latency, трейд-оффах, и сложностях реализации подобных систем локально на ноутбуке (хоть и «игровом») без использования API LLM. Вся система делалась мной самостоятельно без использования LangChain – это чистый пайплайн от Tesseract, Pillow, MuPDF/Fitz до e5-multilingual, FAISS (+bm25, который я затрону в статье) и Qwen3:8B в качестве LLM.
https://habr.com/ru/articles/996144/
#RAG #машинное_обучение_нейросети_python #NLP #Построение_поисковых_систем #FAISS #BM25 #Tesseract #OCR #PDF #Embeddings
-
Почему ваш RAG не найдёт нужные документы: математический потолок embedding-моделей
Все говорят про embedding-модели в RAG: бенчмарки MTEB, размеры моделей, chunking-стратегии. Но никто не задаёт главный вопрос: а сколько вообще документов может найти single-vector retrieval? Google DeepMind посчитали. Оказалось, что даже 4096-мерные эмбеддинги упираются в математический потолок — есть задачи, где они физически не смогут найти нужный документ из топ-2, даже если модель идеально обучена. В статье разбирается исследование LIMIT, показаны примеры, где dense retrieval проваливается (а BM25 справляется), и объяснено, почему для production-систем нужен гибридный поиск, а не слепая вера в SOTA-эмбеддинги.
https://habr.com/ru/articles/987954/
#RAG #embedding #retrieval #machine_learning #BM25 #поиск #нейросети #векторные_базы_данных
-
🌱 Unser Gehirn: der Suchalgorithmus 🌍
Wie kommt die Reihenfolge unserer Suchergebnisse zustande?
Das Ranking auf umwelt.info basiert auf fünf unterschiedlichen Faktoren: BM25-Ranking, Aktualität, Metadatenqualität, Popularität und Status.
Wie wir die unterschiedlichen Faktoren gewichten und was hinter den Begriffen steckt erfährst Du im Portal: https://umwelt.info/de/artikel/ueber-das-ranking-unserer-suchergebnisse
#Suchmaschine #umwelt #natur #daten #Metadaten #FAIRData #openCode #openData #opensource #bm25
-
We've been told embedding search strictly superior to BM25 and all other keyword-search algorithms. Then why is it still used in so many modern search pipelines, especially for RAG?
In this post I'll explain you what hybrid search is and why keyword search is still so useful to improve your search results.
-
Разбираем на запчасти поисковый сервис в Яндекс Лавке
Привет! Меня зовут Николай Смирнов, я ML-инженер в команде поиска Яндекс Лавки. В этой статье я расскажу немного о закулисье: — Как наша команда шаг за шагом строила поисковый сервис, начиная с алгоритма Ахо — Корасик, SaaS-решений и Маркета, и дошла до собственной архитектуры на C++ с userver и многослойным «бургером» из ML-моделей. — Зачем поиску Лавки понадобилось сразу несколько технологий — BM25, DSSM, BERT и CatBoost — и чем полезна каждая из них. — Как наш поиск собирает данные о вас и о товарах и почему ML-модели приходится дообучать. А ещё вместе «сломаем» прод — посмотрим, что произойдёт, если выключить какую-нибудь из моделей, и почему даже самые продвинутые нейросети не являются серебряной пулей. В общем, будет немного истории, самое интересное из архитектуры, инженерные находки и живые примеры того, как поиск в Лавке принимает решения. Если интересно, как на самом деле работает поиск, — погнали!
https://habr.com/ru/companies/yandex/articles/924198/
#поиск #mlops #ml_design #bm25 #DSSM #catboost #яндекславка #machinelearning
-
[Перевод] Я сделал поисковик хуже Elasticsearch
В этой статье я хочу поделиться своим стыдом, вызванным попыткой создания библиотеки поиска. В этом стыде и вы можете прочувствовать смирение и осознание того, что реальный качественный поисковый движок, а не создаваемый как хобби-проект, должен делаться для того, чтобы лексический поиск был быстрым. BEIR — это бенчмарки поиска информации, ориентированные на сценарии использования в формате «вопрос-ответ». Мой хобби-проект SearchArray добавляет в Pandas полнотекстовый поиск. Поэтому естественно, чтобы ощутить трепет от моих потрясающих навыков разработчика, я решил использовать BEIR для сравнения SearchArray с Elasticsearch (с тем же запросом + токенизацией). Поэтому я потратил субботу на интеграцию SearchArray в BEIR и измерение релевантности и производительности с корпусом MSMarco Passage Retrieval (8 миллионов документов). Барабанная дробь...
-
🚀✨ Wow, #PostgreSQL just got a shiny new toy to play well with others! Apparently, adding #BM25 ranking makes it 3x faster than Elasticsearch—because, you know, exaggerated #performance boasts never get old. 🤔🔍 So, strap on folks, because your slightly quicker searches in databases are the next big thing! 😂📚
https://blog.vectorchord.ai/vectorchord-bm25-revolutionize-postgresql-search-with-bm25-ranking-3x-faster-than-elasticsearch #Elasticsearch #database #search #speed #HackerNews #ngated -
BM25 in PostgreSQL – 3x Faster Than Elasticsearch — https://blog.vectorchord.ai/vectorchord-bm25-revolutionize-postgresql-search-with-bm25-ranking-3x-faster-than-elasticsearch
#HackerNews #BM25 #PostgreSQL #Elasticsearch #FastSearch #DatabaseOptimization -
[Перевод] Разбираем алгоритм полнотекстового поиска BM25
BM25, или Best Match 25 — это широко используемый алгоритм полнотекстового поиска. Среди прочего, он по умолчанию применяется в Lucene/Elasticsearch и SQLite. В последнее время в рамках «гибридного поиска» часто начали комбинировать полнотекстовый поиск и поиск по схожести векторов. Мне захотелось понять, как работает полнотекстовый поиск и в частности BM25, поэтому в этой статье я постараюсь разобраться в этом.
https://habr.com/ru/articles/860830/
#bm25 #поисковые_алгоритмы #релевантность #полнотекстовый_поиск #алгоритмы_поиска
-
Разбираемся с Vespa. Часть 2
Из этой статьи вы узнаете: 1) Что такое Document и Query Processing. 2) Как обрабатывается текст Vespa. Что такое токенизация и стемминг. 3) Какой из обработчиков текста лучше подходит для русского языка. 4) Как выполнить текстовый поиск. 5) Как происходит ранжирование результата.
https://habr.com/ru/companies/sportmaster_lab/articles/848992/