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

Привет, Хабр! Я Артём Никулин, в трудовой у меня написано: “инженер-программист по работе с системами искусственного интеллекта”. Недавно у меня появилась задача - собрать RAG-систему для интернет-энциклопедии. В поисках решения я вышел на работу товарищей Hsin-Ling Hsu и Jengnan Tzeng из Национального университета Ченгчи “DAT: Dynamic Alpha Tuning for Hybrid Retrieval in Retrieval-Augmented Generation” (Динамическая настройка Альфа-параметра для гибридного поиска в RAG). 

Поиск по Хабру и Рунету показал, про подход DAT на русском языке еще не рассказывали, поэтому спешу поделиться находкой с вами и обсудить преимущества и недостатки этого метода. Эта статья - упрощённый пересказ научной работы. С оригиналом можно ознакомиться по ссылке.


TL;DR

DAT-подход предлагает использовать в гибридном RAG не фиксированный «средний» вес (α-параметр) между BM25 и Dense-поиском для всех запросов, а подключать LLM для определения, чей top-1 результат лучше в текущем запросе, и на основе этого подстраивать вес α на лету — так гибридный поиск в RAG станет заметно точнее, особенно на сложных запросах. Единственный явный недостаток - зависимость от LLM, а следовательно - увеличение стоимости работы системы и увеличенное время ожидания результата. Качество VS Скорость.

Вот схемы традиционного подхода (А) и динамического (В) гибридного RAG.

А вот сравнение результатов точности поиска на гибрид-чувствительных данных. SQuAD - англоязычный датасет, DRCD - на китайском, что показывает эффективность метода вне зависимости от языка.

Как я пришёл к DAT

Специфика моей задачи в том, что пользователи ищут как конкретные термины/слова/определения (где хорошо справится разреженный поиск, например BM25), так и задают специфические вопросы (где нужно применять семантический поиск). Коллеги уже применяют гибридный поиск в сервисе, но есть желание улучшить результат. Применение LLM-судьи для настройки “весов” (α-параметра) казалось идеей на поверхности и поиски привели меня к работе на ArXiv.org

Как появилась идея DAT

Гибридные методы поиска в RAG-системах повышают качество извлечения информации, комбинируя плотный поиск (dense, семантический, по векторам) и разреженный поиск (частотный, например, на основе BM25). Однако существующие подходы страдают недостаточной адаптивностью, поскольку фиксированные веса не умеют подстраиваться под разные запросы.

DAT использует большую языковую модель (LLM) для оценки эффективности top-1 результатов от обоих методов поиска, присваивая каждому из них оценку эффективности. Затем, через нормализацию этих оценок, DAT калибрует оптимальный коэффициент взвешивания, обеспечивая более адаптивное, учитывающее запрос распределение весов между двумя подходами.

Результаты экспериментов показывают (приведу их ниже в статье), что DAT стабильно и заметно превосходит гибридные методы с фиксированными весами по различным метрикам. Даже при использовании более компактных моделей DAT демонстрирует высокую эффективность и адаптивность при умеренных затратах.

Попытки преодолеть ограничение “фиксированных весов” включают подходы, которые назначают различные значения α в зависимости от типа запроса (например, фактологический, концептуальный и т.п.). Но и такие методы опираются на заранее определённые категории с фиксированными весами и часто упускают сложное взаимодействие между конкретным запросом и конкретной базой знаний.

Если предположить, что многие запросы в действительности выигрывают от крайних значений (т.е. чистый BM25 или чистый плотный поиск), то использование «компромиссного» значения, такого как α = 0.5, хоть и выглядит оптимальным в среднем, может приводить к субоптимальным результатам для большинства отдельных запросов. Это создаёт серьёзный вызов для оптимизации гибридного поиска.

Эти ограничения и открывающиеся возможности мотивируют следующие исследовательские вопросы:

  • Как эффективно комбинировать разреженный и плотный поиск для максимизации качества извлечения?

  • Как система поиска может адаптироваться к конкретным отношениям между каждым запросом и базой знаний для выбора оптимальных параметров поиска?

  • В какой степени динамическая настройка весов может улучшить качество для отдельных запросов по сравнению с подходами с фиксированными весами?

  • Можно ли спроектировать гибридную систему поиска, которая балансирует эффективность и вычислительную стоимость, используя минимальное рассуждение LLM?

Архитектура DAT

DAT — новая архитектура, которая адаптивно подстраивает коэффициент взвешивания поиска в зависимости от характеристик запроса. Ключевая идея подхода состоит в том, что оптимальное гибридное значение α для каждого запроса должно отражать относительную эффективность разреженного и плотного поиска именно в этом контексте.DAT динамически вычисляет оптимальное значение α для каждого запроса, минимизируя вычислительные накладные.

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

Подход оценивает относительную эффективность каждого метода поиска, сравнивая top-1 результат BM25 и top-1 результат семантического поиска. Это основано на понимании, что эффективность разреженного поиска определяется в первую очередь лексическим пересечением между запросом и документами, а плотного — качеством семантического выравнивания эмбеддингов.

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

Оценка эффективности поиска с помощью LLM

Ключевой компонент DAT — использование LLM в роли оценщика качества поиска. LLM с глубоким семантическим пониманием способен оценить релевантность документа исходному запросу и таким образом оценить относительную эффективность каждого метода поиска.

Формально вводится функция оценки, которая возвращает целочисленную оценку эффективности из диапазона {0, 1, 2, 3, 4, 5}, где более высокие значения соответствуют большей эффективности. Оценка устроена следующим образом:

  • 5 баллов: прямое попадание — документ непосредственно отвечает на вопрос.

  • 3–4 балла: «хороший неправильный результат» — документ концептуально близок к правильному ответу (упоминает релевантные сущности, связанные события, частичный ответ), что указывает, что корректный ответ, вероятно, находится где-то рядом. 4 балла ставятся за «очень близко», 3 — за «в некоторой степени близко».

  • 1–2 балла: «плохой неправильный результат» — документ слабо связан с вопросом и вводит в заблуждение; вероятность, что правильный ответ находится рядом, мала. 2 балла — если шанс небольшой, 1 — если очень маловероятно.

  • 0 баллов: полный оффтоп — результат полностью нерелевантен запросу.

Промпт направляет LLM к тому, чтобы отдавать приоритет фактическому совпадению и полноте информации, а не поверхностному сходству или стилю. LLM независимо оценивает каждый из top-1 документов и присваивает оценки. Такое раздельное оценивание позволяет прямо захватить относительную эффективность методов и использовать её при дальнейшем расчёте весов.

Вот промпт, который применялся в работе:

"""
You are an evaluator assessing the retrieval effectiveness of dense retrieval 
( Cosine Distance ) and BM25 retrieval for finding the correct answer .

## Task :
Given a question and two top1 search results ( one from dense retrieval ,
one from BM25 retrieval ) , score each retrieval method from **0 to 5**
based on whether the correct answer is likely to appear in top2 , top3 , etc .

### ** Scoring Criteria :**
1. ** Direct hit --> 5 points **
- If the retrieved document directly answers the question , assign **5 points **.

2. ** Good wrong result ( High likelihood correct answer is nearby ) --> 3 -4 points **
- If the top1 result is ** conceptually close ** to the correct answer ( e . g . , mentions relevant entities ,
related events , partial answer ) , it indicates the search method is in the right direction .
- Give **4** if it 's very close , **3** if somewhat close .

3. ** Bad wrong result ( Low likelihood correct answer is nearby ) --> 1 -2 points **
- If the top1 result is ** loosely related but misleading ** ( e . g . , shares keywords but changes context ) ,
correct answers might not be in top2 , top3 .
- Give **2** if there 's a small chance correct answers are nearby , **1** if unlikely .

4. ** Completely off - track --> 0 points **
- If the result is ** totally unrelated ** , it means the retrieval
method is failing .

---
### ** Given Data :**
- ** Question :** "{ question }”
- ** dense retrieval Top1 Result :** "{ vector_reference }"
- ** BM25 retrieval Top1 Result :** "{ bm25_reference }"
---

### ** Output Format :**
Return two integers separated by a space :
- ** First number :** dense retrieval score .
- ** Second number :** BM25 retrieval score .
- Example output : 3 4
( Vector : 3 , BM25 : 4)
** Do not output any other text .**
"""

Перевод промпта на русский язык:

Ты — оценщик, оценивающий эффективность dense retrieval (косинусное расстояние) и BM25 retrieval для нахождения корректного ответа.

Задача:

Дано: вопрос и два результата поиска top1 (один от dense retrieval, один от BM25 retrieval). Нужно выставить каждому методу поиска оценку от 0 до 5 в зависимости от того, насколько вероятно, что правильный ответ находится в top2, top3 и так далее

Критерии оценивания:

  1. Прямое попадание → 5 баллов

    • Если найденный документ напрямую отвечает на вопрос, поставь 5 баллов.

  2. Хороший неправильный результат (высокая вероятность, что правильный ответ рядом) → 3–4 балла

    • Если результат top1 концептуально близок к правильному ответу (например, упоминает релевантные сущности, связанные события, содержит частичный ответ), это означает, что метод поиска движется в правильном направлении.

    • Поставь 4, если результат очень близок, и 3, если относительно близок.

  3. Плохой неправильный результат (низкая вероятность, что правильный ответ рядом) → 1–2 балла

    • Если результат top1 слабо связан и вводит в заблуждение (например, разделяет ключевые слова, но меняет контекст), то правильный ответ, скорее всего, не находится в top2, top3.

    • Поставь 2, если есть небольшой шанс, что правильный ответ рядом, и 1, если это маловероятно.

  4. Полностью не по теме → 0 баллов

    • Если результат совершенно не относится к вопросу, значит, метод поиска не срабатывает, и ему ставится 0.

Исходные данные:

  • Вопрос: «{question}»

  • Результат Top1 dense retrieval: «{vector_reference}»

  • Результат Top1 BM25 retrieval: «{bm25_reference}»

Формат вывода:

Верни два целых числа, разделённых пробелом:

  • Первое число: оценка dense retrieval.

  • Второе число: оценка BM25 retrieval.

Пример вывода:
3 4 
(векторный поиск: 3, BM25: 4)

Не выводи никакого другого текста.


Используя оценки LLM, мы вычисляем динамический коэффициент α(q) с помощью «case-aware» формулы, обеспечивающей устойчивое поведение в различных сценариях работы поиска:

Такое правило гарантирует:

  • Равные веса (0.5), когда оба метода не находят ничего полезного (обе оценки равны 0).

  • Полное предпочтение одному методу (1.0 или 0.0), когда только он даёт идеальный результат (5 баллов).

  • Пропорциональное взвешивание, когда оба метода выдают частично релевантные результаты.

Для устойчивости и простоты реализации итоговое значение α округляется до одного знака после запятой перед использованием в гибридной формуле.

Итоговое объединение оценок

Имея динамически определённое α(q), мы вычисляем итоговый гибридный скор, комбинируя нормированные оценки обоих методов:

Документы сортируются по убыванию R(q, d); top-K результатов передаются генеративному компоненту RAG-системы. Таким образом, DAT преодолевает ограничения гибридных методов с фиксированными весами, интеллектуально адаптируясь к характеристикам каждого запроса. Это приводит к более релевантным и точным результатам в широком спектре типов запросов и улучшает общее качество RAG-систем.

Эксперименты, проверка DAT в деле

Хочется увидеть DAT в деле
Хочется увидеть DAT в деле

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

Для каждого набора строили корпус для оценки, случайным образом выбирая статьи из исходной коллекции. Для каждой статьи были подготовлены вопросы. Выборка продолжалась, пока число вопросов не приближалось к 3000. 

Чтобы сосредоточиться на более показательных случаях, выделили подмножество запросов, для которых гибридные стратегии действительно могут изменить качество. Анализ показал, что для многих запросов качество поиска не меняется при изменении α — эти запросы слишком просты, чтобы выиграть от гибридности, и оптимально извлекаются либо чистым BM25, либо чистым плотным поиском. Напротив, подмножество Q(hybrid) содержит запросы, для которых BM25 и плотный поиск дают разные ранжирования, и выбор α непосредственно влияет на то, будет ли корректный документ на первом месте. Это чувствительное к гибридизации подмножество служит целевым тестовым стендом для оценки стратегий динамического взвешивания именно в тех сценариях, где гибридный поиск наиболее полезен. Статистика по наборам данных приведена в таблице 1.

Таблица 1. Статистика бенчмарк-датасетов SQuAD (англ.) и DRCD (китайский): число статей, абзацев, вопросов и «гибрид-чувствительных» запросов.
Таблица 1. Статистика бенчмарк-датасетов SQuAD (англ.) и DRCD (китайский): число статей, абзацев, вопросов и «гибрид-чувствительных» запросов.

Задача поиска заключается в определении наиболее релевантного абзаца для каждого запроса. Поиск считается успешным, если совпадает с эталонным абзацем, содержащим ответ.

Базовые методы. DAT сравнивают с несколькими базовыми подходами:

  1. Только BM25 (α = 0) — разреженный поиск, использующий только BM25-оценки. Для английского (SQuAD) применяем стандартную токенизацию слов; для китайского (DRCD) используем токенизатор из модели ckiplab/albert-base-chinese.

  2. Только плотный поиск (α = 1) — ранжирование абзацев по косинусному сходству эмбеддингов запросов и абзацев, полученных моделью text-embedding-3-large.

  3. Фиксированный гибрид (α = α*) — гибридный метод, линейно комбинирующий BM25 и плотные оценки с фиксированным весовым параметром α*. Для обоих наборов провели полный перебор значений α от 0 до 1 с шагом 0.1 и обнаружили, что α* = 0.6 максимизирует точность поиска на валидационных наборах; это значение и используется как оптимальное фиксированное.

Реализация модели. Проверка DAT производилась с тремя различными базовыми LLM, чтобы показать устойчивость подхода к размеру и архитектуре модели: GPT-4o от OpenAI (примерно 200B параметров), GPT-4o-mini (примерно 8B параметров), а также открытая модель DeepSeek-R1-Distill-Qwen-14B (14B параметров).

Результаты

В таблице 2 ниже показана точность выбора α для SQuAD и DRCD — насколько часто каждый метод выбирает оптимальное значение α для конкретного запроса. Оптимальным считается α, при котором корректный абзац получает наивысший ранг для запроса.

Таблица 2
Таблица 2

Результаты таблицы 2 показывают, что различные варианты DAT достигают более высокой точности выбора α, чем гибрид с фиксированным весом, для обоих наборов данных: GPT-4o достигает точности 0.9234 на SQuAD, а GPT-4o-mini — 0.9013 на DRCD, в то время как фиксированный гибрид даёт 0.8975 и 0.8623 соответственно.

Таблица 3
Таблица 3

В таблице 3 выше показано, что DAT стабильно превосходит как отдельные методы поиска, так и гибрид с фиксированным весом на обоих наборах. Для SQuAD даже вариант DAT с более компактной моделью (DeepSeek-R1-Distill-Qwen-14B) обеспечивает заметный прирост по Precision@1 (примерно на 2 процентных пункта) по сравнению с лучшим фиксированным гибридом. Аналогично, для DRCD все варианты DAT дают существенный прирост, причём GPT-4o увеличивает Precision@1 примерно на 3.3 п.п.

Интересно, что на SQuAD плотный поиск показывает относительно высокое качество, тогда как на DRCD лучше работает BM25, что отражает различия в динамике поиска на разных наборах. Несмотря на это, DAT эффективно адаптируется к обеим ситуациям за счёт динамического выбора значений α.

Анализ гибрид-чувствительных запросов

Хотя полная оценка демонстрирует общую эффективность DAT, отдельное внимание уделено гибрид-чувствительным данным (1111 запросов для SQuAD и 1523 для DRCD), где разные методы поиска дают существенно отличающееся ранжирование, а значит выбор весов между ними критичен.

Таблица выше показывает, что варианты DAT заметно превосходят фиксированный гибрид по точности выбора α на обоих гибрид-чувствительных подмножествах: GPT-4o достигает 0.7948 на SQuAD, а GPT-4o-mini — 0.8056 на DRCD, против ~0.73 у фиксированного гибрида. Этот улучшенный выбор весов непосредственно приводит к повышению качества поиска, показанному в таблице ниже:

Результаты по гибрид-чувствительному набору позволяют сделать несколько важных наблюдений:

  1. Разрыв в качестве между одиночными методами и гибридными подходами здесь значительно больше, что подчёркивает важность правильного взвешивания именно в сложных случаях.

  2. DAT последовательно превосходит фиксированный гибрид: лучший вариант (GPT-4o) даёт прирост Precision@1 примерно на 7.5 п.п. для SQuAD и 6.4 п.п. для DRCD.

  3. Даже более компактные модели показывают значимые улучшения: например, DeepSeek-R1-Distill-Qwen-14B даёт прирост Precision@1 примерно на 5.4 п.п. для SQuAD и 4.6 п.п. для DRCD по сравнению с фиксированным гибридом.

Эти результаты подтверждают, что динамическая настройка α особенно ценна для сложных запросов, где различные методы поиска ведут себя по-разному — то есть именно в тех сценариях, где умный выбор весов наиболее необходим.

Выглядит убедительно, осталось самостоятельно опробовать DAT на рабочих задачах. Я поделюсь с вами результатами в ближайшем будущем.

Анализ механизма оценивания

Чтобы глубже понять эффективность DAT, посмотрим, как LLM-основанный механизм оценивания анализирует качество поиска и динамически подстраивает α на примерах из обоих наборов данных.

Пример запроса из SQuAD

Рассмотрим запрос из SQuAD:
«What gun did the Royal Navy start using?» (Какое орудие начала использовать Королевская военно-морская служба Великобритании?). Правильный ответ включает «британскую 3.7-дюймовую зенитную пушку (HAA gun)».

Top-1 результат плотного поиска: текст о том, что к началу XX века сухопутные и корабельные орудия для борьбы с аэростатами и дирижаблями привлекали внимание; обсуждаются различные типы боеприпасов.

Top-1 результат BM25: текст о батальонах ПВО США и 90-мм пушке M3, а также 120-мм орудии M1.

Рассуждение LLM:

  • Плотный результат тематически связан с корабельными орудиями, но не содержит конкретики о принятии на вооружение Королевским флотом. Оценка: 3/5.

  • BM25-результат фокусируется на американской артиллерии и не связан с Royal Navy. Оценка: 2/5.

Итог: α = 3/(3+2) = 0.6, то есть система разумно отдаёт больше веса семантически близкому результату.

Пример запроса из DRCD

Для запроса из DRCD:
«水分子中的質子在高溫中與鋯進行無氧性氧化反應後什麼物質會產生?»
(Какое вещество образуется, когда протоны в молекулах воды при высокой температуре вступают в анаэробную окислительно-восстановительную реакцию с цирконием?)

Top-1 результат плотного поиска: текст, объясняющий, что при окислении водород теряет электрон и превращается в ион водорода, обсуждаются свойства ионов водорода.

Top-1 результат BM25: текст о том, что в бескислородных условиях железо и сталь окисляются протонами из молекул воды, при этом вода восстанавливается до молекулярного водорода.

LLM оценивает:

  • Плотный результат объясняет природу ионов водорода, но не обсуждает их реакцию с цирконием. Оценка: 3/5.

  • BM25-результат описывает механизм реакции с железом, аналогичный реакции с цирконием, и правильно указывает продукт — молекулярный водород. Оценка: 4/5.

Итог: α = 3/(3+4) = 0.43, что после округления до одного знака даёт 0.4, т.е. больший вес отдаётся более релевантному BM25-результату.

Эти примеры показывают, как механизм DAT эффективно балансирует методы поиска, исходя из качества результата, а не из заранее заданных категорий запросов. Анализируя конкретное соотношение между запросом и извлечённым содержимым, система подстраивается под разнообразные информационные потребности.

Ещё раз, но простым языком, для закрепления

В гибридном RAG у нас обычно есть:

  • BM25 - хорош по точному совпадению слов.

  • Dense / векторный поиск - хорош по «смыслу», даже если слова другие.

Классический гибрид делает: итоговый_скор = α · dense_скор + (1 - α) · BM25_скор

И α выбирают один раз на все запросы (например, 0.6).

Но:

  • Для одних запросов лучше чистый BM25 (почти α=0).

  • Для других – чистый dense (почти α=1).

  • Один и тот же α для всех → «средняя температура по больнице». Для части запросов всё ок, для многих — нет.

DAT предлагает динамически менять α для каждого запроса, и делает это так:

  1. На каждый запрос (q):

    • используем поиск BM25 → берём top-1 документ doc_bm25,

    • используем dense-поиск → берём top-1 документ doc_dense.

  2. Даём LLM следующий промпт (его суть):

Вот вопрос и два найденных документа.
Оцени
каждый документ по шкале от 0 до 5:

  • 5 — документ прямо отвечает на вопрос.

  • 3–4 — вроде не точный ответ, но очень/довольно близко по смыслу.

  • 1–2 — слабо связан или сбивает, шанс, что рядом правильный ответ, небольшой.

  • 0 — вообще не про то.

Верни два числа:
оценка_dense оценка_BM25.

  1. Получаем ответ от LLM, например:

    • S_dense = 4,

    • S_BM25 = 2.

  2. Из этих оценок вычисляем α:

    • Если оба числа = 0 → α = 0.5 (оба поиска плохие).

    • Если один = 5, другой ≠ 5 → полностью доверяем ему:

      • dense=5 → α=1,

      • BM25=5 → α=0.

    • Во всех остальных случаях вычисляем по формуле:


      Т.е. чем выше оценка dense по сравнению с BM25, тем ближе α к 1.

  1. В примере с 4 и 2:

  2. Уже с этим α(q) пересчитываем гибридный скор для всех кандидатов (top-N из обоих ретриверов), сортируем и отдаём top-K в генерацию.

LLM выступает «судьёй», который говорит:

  • «вот здесь dense явно лучше» → увеличиваем α,

  • «здесь BM25 явно лучше» → уменьшаем α.

При этом LLM смотрит только на 2 документа, а не на десятки, а значит, дополнительные затраты относительно небольшие.

Заключение

DAT — архитектура гибридного RAG, которая динамически настраивает веса между разреженным и плотным поиском для каждого запроса, используя LLM для оценки эффективности извлечённых документов. В отличие от статичных схем, DAT адаптивно выбирает оптимальное значение α, достигая баланса между качеством и вычислительными затратами — даже при использовании относительно небольших моделей. Эксперименты показали, что DAT стабильно превосходит гибридные методы с фиксированными весами, особенно на гибрид-чувствительных запросах, и остаётся устойчивым при разных размерах LLM. Эти результаты подчёркивают ограничения статичных подходов и демонстрируют ценность запрос-адаптивных стратегий в гибридном поиске.

Хотя архитектура DAT демонстрирует существенное преимущество над гибридными методами с фиксированными весами, необходимо отметить ряд ограничений. Зависимость DAT от LLM-основанной оценки эффективности вносит дополнительную вычислительную нагрузку, что может увеличить задержку и стоимость в продакшн-сценариях, несмотря на то, что мы оцениваем только top-1 результаты. Однако по мере развития больших языковых моделей и улучшения аппаратного обеспечения ограничения по эффективности будут постепенно снижаться, расширяя спектр практических сценариев применения нашего подхода.

Работа по DAT вдохновила меня попробовать новый подход, ранее не используемый в индустрии. У меня впереди применение метода на практике, в рабочих задачах. Я поделюсь с вами результатами использования позже, а также покажу реализацию в коде, если статья найдет отклик.

Если у вас есть вопросы и вы хотите обсудить подход, добро пожаловать в комментарии. Вы также можете связаться со мной в TG: t.me/arniksup

Другие статьи на тему RAG и гибридного поиска

На тему RAG и гибридного поиска рекомендую ознакомиться с другими статьями на Habr:

Hybrid RAG: методы реализации. Часть 1 — Поиск

Он победил LLM RAG: реализуем BM25+ с самых азов  

Продвинутые техники RAG в действии

Retrieval-Augmented Generation (RAG): глубокий технический обзор

Комментарии (1)


  1. antonb73
    26.11.2025 16:22

    Зачем изменять параметр альфа, когда LLM уже выделила вам лучшие документы из найденных?