
Используйте оглавление, если не хотите читать текст полностью:
Введение
➽ О чём эта сказка — (RAG: что это и зачем)
Часть 1. Как устроен базовый RAG
➽ Жил был Кот, который врал как сивый мерин — (LLM и её галлюцинации)
➽ Как люди пытались научить Кота не врать — (контекстное окно, чанкинг, оверлэп)
➽ Волшебный шкаф и Магические метки — (векторная база данных)
➽ Что такое эмбеддинг? — (превращение слов в числа)
➽ Две мышки сестрички (и почему одной мало) — (эмбеддинг модель + ретривер)
➽ Триумф воли и статистики — (как Кот отвечает на основе контекста)
Часть 2. Проблема масштабирования
➽ Проблема: миллиарды фрагментов — (полный перебор больше не работает)
➽ Эльфы-оптимизаторы и их волшебные тропинки — (индексы IVF, HNSW, LSH для быстрого поиска)
➽ Обратная сторона скорости — (компромисс между полнотой recall и задержкой latency)
Часть 3. Решение: Реранкер
➽ Жалоба Кота королю — (конфликт KPI: скорость против точности)
➽ Появление Филина Палыча — (реранкер и кросс-энкодеры)
➽ Первый рабочий день Филина Палыча — (как реранкер отсеивает мусор)
➽ Как подружили скорость и точность — (баланс между ANN и реранкером)
Финал
➽ Эпилог — (главные выводы)
➽ Архив Филина Палыча — (список литературы)
О чем эта сказка
Если вы когда-нибудь общались с большими языковыми моделями, то наверняка замечали одну особенность. Они могут уверенно рассказывать о том, чего совсем не знают. Чтобы научить их отвечать по фактам, люди придумали RAG (Retrieval-Augmented Generation). Это система, которая позволяет модели обращаться к внешним источникам данных вроде ваших документов, файлов или корпоративной базы знаний. Если дать модели доступ к таким материалам, она сможет искать в них нужную информацию и опираться на неё при ответе.
Проще всего представить устройство этой системы через одну поучительную историю в цифровом королевстве. В ней есть свои герои, драмы и компромиссы. Познакомьтесь с её участниками.
Кот Мурлык Многобайтович. Он олицетворяет большую языковую модель (LLM). Кот наделен феноменальной памятью, но его фантазия часто берет верх над реальностью. Как отмечают в своих исследованиях Лях, без строгого контроля такие коты склонны к галлюцинациям.
Мышка-переводчик. Это модель эмбеддингов. Она превращает вопросы и документы в магические числовые метки под названием векторы.О том, как устроены современные методы такого превращения слов в числа, подробно писали Шелоник и Колдобский.
Мышка-ищейка. Она выполняет роль ретривера. Эта мышь за доли секунды находит в Волшебном шкафу именно те фрагменты знаний, которые наиболее близки к сути запроса. Сам шкаф называют векторной базой. Про технологии эффективного поиска с помощью векторов в 2024 году выпустил работу Ивановский.
Эльфы-оптимизаторы. Это инженеры баз данных. Они строят волшебные тропинки для ускорения поиска. Такие тропинки называют индексами. В их мире настольной книгой является работа Малкова и Яшунина о графах HNSW.
Филин Палыч Контекстов. Он выполняет функцию реранкера. Палыч считается самым мудрым и строгим. Он перепроверяет найденное мышами и отсеивает мусор. Математические основы такой проверки через инвертированные индексы описали в своем исследовании Добрынин, Абрамович и Платонов.
В этой сказке мы узнаем устройство базового RAG. Поймем, что делать при избытке документов и как подружить скорость с точностью. Пристегнитесь, будет весело и познавательно.
Жил был Кот, который врал как сивый мерин
Жил был в цифровом королевстве Кот. Да не простой, а учёный, красавец, медалист, проглотил весь интернет, включая спам-рассылку и комменты под видео с капающим краном.
Ну вы знаете эти ролики: обычная кухня, раковина, из крана капает вода. Просто капает. Кап... кап... кап... И под этим видео тысячи комментариев. Люди пишут: «Спасибо, очень расслабляет», «А у меня такой же кран, только гудит», «Кто из 2024?», «Лайк, если слышишь ритм дождя». Вот это всё тоже попало в голову к Коту.
Кот ненавидел тишину и пустоту лютой ненавистью анонимного тролля в комментариях. Тех самых, которые пишут «Первыйнах!», «А я думал, тут про котиков» и «Автор, выпей йаду».
Если ему задавали вопрос, а точного ответа он не знал, он не молчал, а начинал выдумывать.
Делал он это не со зла и не ради обмана. Просто наш герой свято верил, что стоит ему хоть раз промолчать, и пользователь тут же уйдет к другому коту. Мурлык не мог вынести даже мысли о том, что кто-то уйдет от НЕГО. Да что угодно, только не это! Поэтому он врал как сивый мерин. Ну а что вы хотели? У полосатого эго размером с серверную стойку!
Спросишь его: «Кот, какой чай я вчера купил?», а он уже открыл рот, чтобы затянуть оперу про «Цейлонский байховый, собранный девственницами на рассвете...», хотя на самом деле ты купил ромашковый в магазине у дома, потому что у тебя был насморк, и сдачу тебе дали мятными конфетами.
Всё потому, что в его пушистой голове нет твоих личных документов. Он как диванный эксперт: наговорит с три короба о высоких материях, но о твоих делах не знает ни строчки.
Как люди пытались научить Кота не врать
Сначала люди думали: «А давайте скормим Коту все наши документы целиком!»
Но Кот как любой уважающий себя представитель кошачьих оказался чудовищно ленив. Если документ слишком длинный, он дочитывает до середины, засыпает, видит сон про гигантскую лазерную указку и всё забывает.
Технически это называется ограничение контекстного окна, а по-человечески «объём желудка». Много за раз просто не влезет.
Пришлось резать документы на маленькие фрагменты, которые программисты называют chunks. Каждый фрагмент представляет собой одну мысль: «Купил ромашку», «Сметана закончилась», «Мятные конфеты это зло».
Но тут Мышка-переводчик, которую наняли помогать Коту, оказалась не так проста. Она поняла одну вещь. Если резать текст как попало, смысл порвётся как дешёвые пакеты из супермаркета. Например, если начало фразы «у кота сильный насморк...» останется в одном куске, а окончание «... он не может диктовать» в другом, Кот решит... да ничего он не решит. Он додумает, что насморк у эльфов или является причиной глобального потепления.

Поэтому Мышка режет с хитростью, с нахлёстом, как опытная портниха штопает трико. Хвостик предыдущего кусочка заходит в начало следующего. В мире программистов это зовётся overlap. Без него любой RAG-проект превращается в лохмотья.
Волшебный шкаф и Магические метки
Чтобы эти кусочки не растерялись, их сложили в Волшебный шкаф. Только это не простой шкаф, а векторная база данных, такое место, где порядок наводится не по алфавиту, а по смыслу. Звучит как магия? Ещё бы!
Но тут возникает проблема покруче, чем поиск носка в стиральной машине: компьютер не понимает слова. Вообще. Для него «ромашка», «налог» и «радость» это просто бесполезный набор символов. Компьютер понимает только числа: 0 и 1. Всё.
Чтобы научить его работать со смыслом, каждому кусочку текста приклеивают невидимую Магическую метку. В мире хай-тека это называют embedding (или векторами).
Что такое эмбеддинг?
Эмбеддинг представляет собой длинную последовательность чисел, которая описывает суть объекта так, чтобы компьютер сделал вид, что понял.
Раньше люди были проще: присваивали каждому слову номер по алфавиту. Думали, раз яблоко = 1, груша = 2, апельсин = 3, то компьютер поймёт, что яблоко и груша братья навек. Но компьютер тупил: для него числа 1 и 2 были рядом, а 1 и 3 далеко. Он искренне считал, что яблоко ближе к груше, а арбуз (число 4) это почти груша. По смыслу-то арбуз это ягода, и вообще он тяжёлый! Кошмар.
Тогда придумали эмбеддинги. Теперь для каждого слова создают не одно число, а целый набор, обычно от 384 до 3072 чисел, хотя встречаются модели и с большей размерностью. Представь, что у слова появляется не один адрес, а многомерная координата в пространстве, где каждая ось означает какое-то абстрактное свойство.
Посмотрим, как это выглядит на практике. Вот простой код, который превращает текст в эмбеддинг с помощью API OpenAI:
Python-скрипт
# Для работы примера нужно установить библиотеку openai и получить API-ключ from openai import OpenAI import os client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) text = "Кот Мурлык Многобайтович любит рассказывать про цейлонских монахов" response = client.embeddings.create( model="text-embedding-3-small", input=text, dimensions=768 # явно задаём размерность ) vector = response.data[0].embedding print(f"Размерность вектора: {len(vector)}") # выведет 768 print("Первые 20 чисел:", vector[:20]) print("... и так далее до 768-го числа")
Вывод покажет, что фраза про Кота превратилась в длинный список чисел — в данном случае из 768 элементов. Именно такие числовые метки и хранятся в Волшебном шкафу.
И тут самое интересное. Эти оси никто не придумывал. Никто не сидел и не говорил: «Так, пусть первая ось отвечает за пушистость, а вторая за умение гадить только в лоток». Компьютер сам подобрал эти числа в процессе обучения.
Ему скормили горы текста и сказали: «Крути ручки так, чтобы слова, которые часто встречаются вместе («король» и «королева»), получили похожие числа, а те, что встречаются в разных местах («король» и «вилка»), разные». Модель послушно крутила эти ручки, ошибалась, снова крутила, пока loss не перестал падать и не наступила эпоха застоя... проще сказать, пока вероятность ошибки не стала пренебрежимо мала.
В итоге числа сложились в такую систему, что «Король» и «королева» оказались рядом (потому что в текстах про них пишут одно и то же). «Яблоко», «груша» и «апельсин» сбились в одну кучку (фруктовый угол). А «автомобиль» пристроился к «дороге» и «колесу».
Но внимание! LLM по-прежнему не знает, что такое «фрукт». Вообще. У модели нет сознания. LLM просто выучила статистику: если встретилось слово «яблоко», рядом часто болтаются «груша» и «апельсин». Это как если бы ты научил попугая ругаться матом, но попугай понятия не имеет, что такое мат, он просто знает, что за эти звуки дают семечку.
И тут начинается настоящая магия для гиков. С этими векторами можно делать арифметику! Например, если взять вектор «король», вычесть «мужчина» и прибавить «женщина», то получится вектор, ближе всего похожий на «королева».
Почему? Да потому что в текстах эти закономерности просто проявились, как рисунок на промокашке. Модель не знает, что король это мужчина, она просто видела, что разница между «король» и «королева» похожа на разницу между «мужчина» и «женщина». Шаманство, да и только!
Вот такие Магические метки, полученные путем многочасовых плясок с бубном, висят на каждом кусочке текста в Волшебном шкафу.
Две мышки сестри��ки (и почему одной мало)
И вот, чтобы обуздать Кота-фантазёра, к нему приставили двух мышек. Работа адская, но сыр того стоит. Пока справляются.
Первую сестру зовут Мышка-переводчик (Embedding Model). Она не бегает, она колдует. Берёт твой вопрос и превращает его в такой же числовой шифр, в Магическую метку. Работа у неё до жути скучная: бесконечно переводить вопросы людей в циферки. Кто-то в детстве хотел стать звездой, а стал энкодером.
Вторую сестру зовут Мышка-ищейка (Retriever). Она колдовать не умеет, зато она олимпийская чемпионка по спортивному ориентированию в мире чисел. Получив от сестры шифр вопроса, она несётся к Волшебному шкафу и ищет кусочки с самыми похожими координатами.
— Так, — пищит Ищейка, обливаясь мышиным потом. — Координаты вопроса: 0.5, 12, -3, 78... О! Вон тот клочок про ромашку почти совпадает. А вот ещё один, про мяту! И ещё про насморк!
И вот тут происходит самое главное, что отличает профессиональный RAG от дилетантского.
В дешёвых поделках Мышка-ищейка хватает один самый похожий клочок и бежит назад. Но наша-то Мышка с опытом! Она понимает: принести одну бумажку это катастрофа. Это как прийти на свидание с одной темой для разговора. А вдруг координаты случайно совпали? Вдруг это шум, а не сигнал?
Риск ошибки был бы чудовищным. Кот, получив одну шпаргалку, либо выдаст узкий ответ, либо, если шпаргалка левая, снова начнёт галлюцинировать про цейлонских монахов.
Поэтому умная Мышка хватает целую пачку фрагментов, в научном мире это зовётся top-k. Она тащит всё: самый похожий, чуть менее похожий и ещё парочку на всякий случай, вдруг там золотая жила или важное уточнение.
Запрыгивает на стол и вываливает перед Котом целую стопку фрагментов.
Триумф воли и статистики
Кот важно поправляет очки, косится на стопку шпаргалок (теперь это называется контекст) и начинает лихорадочно соображать. У него теперь не одна подсказка, а целый веер. Он сверяет показания, как следователь на допросе.
Один фрагмент говорит про ромашку, второй про мяту, третий вообще про скидки на чай в соседнем магазине. Кот отсеивает явный мусор, синтезирует правду и, даже не дрогнув усами, изрекает:
— Мяу, ромашковый, конечно! — важно заявляет Мурлык. — Я как раз хотел добавить, что при насморке это лучшее средство. И кстати, в приложенных материалах есть сноска про пользу мятных конфет, но, судя по всему, они у тебя уже есть. Я гениален?
И все счастливы. Кот не опозорился, человек получил правдивый ответ и бонус. Мышки довольно трут лапки. Работа сделана, KPI по точности поиска выполнен, премия в виде сыра обеспечена.
Проблема: миллиарды фрагментов
Пока документов было мало, Мышка-ищейка прекрасно справлялась. Она перебирала все метки подряд и находила самые похожие. Но когда фрагментов стали миллиарды, Мышка вбегала в шкаф и через минуту выползала обратно. Она пошатывалась и держалась за сердечко.
— Я больше не могу! — пищала она, падая в обморок прямо на пороге. — Там этих меток столько, что конца и края нет! Дайте сыру! Много сыру! Или я увольняюсь!
Кот начал галлюцинировать от скуки прямо в процессе ожидания, ведь теперь ему приходилось ждать ответа по полчаса. Он напридумывал уже целую эпопею про то, как цейлонские монахи украли у него лазерную указку и теперь прячут её в серверной.

Пользователи возмущались. Бизнес нервничал. Король вызвал во дворец эльфов-оптимизаторов.
Эльфы-оптимизаторы и их волшебные тропинки
Эльфы (инженеры по базам данных) пришли, постучали по шкафу, послушали надрывающуюся внутри Мышку и вынесли свой вердикт.
— Перебирать все метки подряд — это прошлый век, — заявил главный эльф. — Мы построим для Мышки волшебные тропинки. В мире баз данных это называют индексами. Они позволяют находить нужные данные и не перебирать всё подряд. В векторных базах мы используем специальные индексы для приближённого поиска ближайших соседей. По-научному это ANN, что означает Approximate Nearest Neighbors. Такие индексы жертвуют точностью ради скорости.
Идея была простая. Не нужно бегать по всему шкафу. Достаточно проложить дорожки между метками, которые и так лежат рядом. Тогда Мышка будет бежать не к каждой метке, а сразу к кучке похожих.
Эльфы достали чертежи и начали колдовать.
— Вот это будет IVF (Inverted File Index), — объяснял главный эльф. — Мы разобьём все метки на корзинки по похожести. Мышка сначала определит нужную корзинку, а потом будет перебирать данные только внутри неё.
— А это HNSW (Hierarchical Navigable Small World), — продолжал другой мастер. — Мы набросаем тропинок для быстрого перехода к соседним объектам по маленьким мостикам. Получится многоуровневый граф для навигации.
— Можно вообще жить быстро, — добавил самый молодой эльф. — Будем искать ближайших соседей через Locality-Sensitive Hashing. Там вообще нет перебора. Хеширование устроено так, что похожие объекты сами попадают в одни корзины. Чистая магия!
Эльфы так увлеклись процессом, что настроили индексов на любой вкус. Мышка теперь вбегала в шкаф, мгновенно пробегала по тропинкам и вылетала обратно с результатом.
— Ура! — пищала она. — Я теперь быстрее ветра! Давайте ещё сыру!
Король был доволен. Кот перестал галлюцинировать. Пользователи снова получали ответы мгновенно. Но радость длилась недолго.
Обратная сторона скорости
Оказалось, что у волшебных тропинок есть свой подвох. Когда Мышка бегала по всему шкафу и перебирала все метки, она находила самые точные фрагменты. Это была идеально выверенная информация со стопроцентной релевантностью.
А когда эльфы построили тропинки, Мышка перестала заглядывать во все углы. Теперь она бежала только туда, куда вели дорожки. А они приводили её к достаточно похожим фрагментам, но не обязательно к самым лучшим.
В этом и заключается главная особенность векторных индексов вроде IVF или HNSW. Они всегда выдают приблизительный результат. Система находит близких соседей за очень короткое время, но может пропустить идеально точный фрагмент. Такое случается, если он лежит в стороне от протоптанной тропинки. По-научному этот баланс называют компромиссом между полнотой выдачи (recall) и скоростью ответа (latency).
И вот Кот начал получать шпаргалки, которые были ну вроде похожими, но не совсем подходящими. Он как честный малый отвечал по ним, и его ответы стали казаться странными.
Спрашивают его про купленный чай. А Мышка приносит фрагмент про скидки на кофе в соседнем магазине. Тропинка привела её к напиткам в целом, а не конкретно к ромашке.
Кот конечно выдал ответ про кофе. Пользователь теперь в полном недоумении. Бизнес снова начинает нервничать.

Кот долго терпел, но в одно утро, получив очередную порцию кривых шпаргалок, он сел и нацарапал жалобу королю.
Совершенно секретно! Внутри очень много кошачьего яда и жалоб на майнящих эльфов.
Вх. № 734/К от 15-го числа месяца Ленивого Коша
Кому: Королю Цифрового Королевства
От: Кота Мурлыка Многобайтовича, ведущего специалиста по генерации ответов
Тема: О недопустимом снижении качества входного материала и профдеформации мышек ищеек
Ваше Величество,
Пишу вам не как подданный, а как профессионал. Моя репутация последние три спринта висит на волоске от увольнения в диванные эксперты. Докладываю обстановку.
Качество шпаргалок упало ниже плинтуса. Раньше Мышка-ищейка приносила документы, а я отвечал. Всё было честно. Сейчас она приносит такое, что у меня усы седеют. Вчера на вопрос про расчет НДС я получил стопку с рецептом безлактозного сыра и инструкцией по сборке шкафа. Я конечно выдал ответ про налоги, ведь я профессионал. Но внутри меня разрывало от желания пойти и начхать в мышиную нору.
Метрики горят, а им хоть бы хны. Мышки отчитываются по своим показателям. Скорость поиска выросла в сто раз! А на падение точности в двести им плевать. Я тут сижу как дурак и пытаюсь из рецепта сыра вытянуть налоговую отчетность. Мои метрики ROUGE и BLEU в красной зоне. Меня скоро на ретроспективе будут мыловарить. А они? Они сыр жрут и бегают дальше.
Требую пересмотра системы мотивации. Почему мышки получают сыр за скорость, а я ничего за качество? Я между прочим последний рубеж обороны перед пользователем. Если я выдам ответ про сыр вместо налогов, то уволят меня, а не мышек. Потому что «Кот отвечает, Кот и виноват».
Про эльфов вообще молчу. Эти тропинки ведут чёрт знает куда. Я подозреваю одну вещь. Они там не индексы оптимизировали, а майнили крипту на серверных мощностях. Потому что при просьбе показать логи они сослались на «технический сбой» и ушли в запой. Опять.
Ваше Величество, я понимаю неизбежность прогресса. Но давайте или возвращать старый добрый перебор (я подожду, я кот терпеливый), или приставьте ко мне помощника. Пусть он перепроверяет эти стопки шпаргалок, пока я не поседел окончательно.
С надеждой на справедливость,
Кот Мурлык Многобайтович
ведущий генератор, обладатель премии «Золотой ус — 2025»
Появление Филина Палыча (последней надежды Кота)
Король прочитал жалобу, почесал за ухом и вызвал секретаршу:
— Срочно найди мне кого-нибудь с глазами. Много глаз. И чтобы дотошный был, как бухгалтер на ревизии.
Секретарша, опытная крыска Лора, постучала по клавиатуре, полистала кадровую базу и выдала:
— Есть один. Филин Палыч Контекстов. Работает в отделе контроля качества, но уже на пенсию собирался. Говорит, что его бесит современная молодёжь, потому что они «гонятся за скоростью, а про качество забыли».
Через час Филин Палыч уже сидел в приёмной. Он был похож на доцента, который тридцать лет проработал на одной кафедре и теперь считает, что все вокруг идиоты, а он один знает, как надо.
На голове у него красовались очки. Да не одни, три пары: на лбу, на носу и ещё одни на шнурке болтались. Из кармана жилетки торчала лупа.
— Нусссс???? — спросил он, оглядывая присутствующих так, будто уже знал за ними все грехи, включая несданные отчёты за прошлый квартал.
Мышка-ищейка вжалась в пол.
Кот с облегчением выдохнул и протянул лапу:
— Палыч, спасай!
— Мегабайтыч, разберемся! — ухнул Фили��.
Первый рабочий день Филина Палыча
Утром Мышка-ищейка, наученная горьким опытом, принесла стопку фрагментов. Не три штуки как раньше, а целых сто. Потому что как она уже знала, этот параметр называется top-k. Чем больше фрагментов захватить, тем выше шанс, что среди них попадётся нужный. Но и работы у того, кто будет их сортировать, прибавляется.
Филин Палыч надел все три пары очков, вооружился лупой и начал.
— Так... Это что? — он вытащил первый фрагмент. — «Как варить борщ». А вопрос был про налоговый вычет. Ты, милая, где вообще искала?
— Так тропинки привели! — пискнула Мышка. — Эльфы строили, они говорят, оптимально!
— Оптимально у них только пиво жрать, — буркнул Филин и отложил борщ в сторону. — Дальше.
Он перебирал фрагменты как въедливый аудитор на годовой проверке. Один мимо, второй мимо, третий ну хотя бы про финансы, но не то.
— Вот это похоже, — сказал он наконец, отложив три фрагмента с реальными данными про НДС.
Мышка спросила:
— Как это? А остальные девяносто семь штук?
— А остальные, — ответил Филин, поправляя очки, — это мусор. Информационный смог. Я, милая, реранкер. Я не количество ищу, я качество отбираю. Видишь ли, в поиске есть два этапа. Сначала быстрый ANN индекс приносит много кандидатов. Это ваша с эльфами работа. А потом более тяжёлая, но точная модель вроде меня пересортировывает их и оставляет только самые релевантные. Обычно для этого используют кросс-энкодеры, которые оценивают пару «вопрос-документ» целиком.
Как подружились скорость и точность
Прошла неделя. Мышка-ищейка привыкла, что теперь надо таскать не по три фрагмента, а по сто. Да, тяжело. Да, лапки гудят. Но зато Филин Палыч из этой сотни отбирал три-пять бриллиантов, и Кот выдавал такие ответы, что пользователи слали благодарственные письма и даже предлагали премию.
Эльфы, кстати, сначала обиделись. Пришли разбираться:
— А чё это наши тропинки критикуют? — ворчали они.
— Мы старались, оптимизировали, HNSW настраивали, IVF внедряли...
— Ребята, — сказал им Филин ласково, как умеют только старые преподаватели. — Вы молодцы. Ваши тропинки быстрые. Но они приблизительные. А я точный. Вы делаете свою работу, находите похожее быстро. Я делаю свою, нахожу нужное точно. Мы не конкуренты. Мы партнёры.
Так в королевстве воцарился баланс. Мышка таскала много, Филин сортировал тщательно, Кот отвечал красиво и правильно. Все были при деле.

Эпилог
Так и работает RAG (Retrieval-Augmented Generation). Кот врёт, мышки колдуют и ищут бумажки по тропинкам, созданным эльфами. Филин Палыч сортирует факты и тыкает Кота носом в документы, чтобы тот врал хотя бы правдоподобно. Кот теперь фантазирует гораздо меньше. Его загнали в строгие рамки доказательной базы.
Но как в любом уважающем себя производстве, косяки всё же случаются. Если Мышка-ищейка по ошибке принесёт не те бумажки (а алгоритмы поиска не идеальны, ведь иногда координаты совпадают с шумом или модель перекосило на тренировках), Кот может выдать такого гибрида правды и вымысла, что Мария Кюри позавидовала бы смелости экспериментов. Да и Филин Палыч не всегда спасает, если мусора слишком много или тропинки с самого начала вели не туда.
В мире больших данных не бывает идеального решения. Хотите скорость, тогда придётся немного пожертвовать точностью. Хотите точность, тогда готовьтесь ждать дольше. Но если выстроить систему с умом, можно получить и быстро, и точно. Почти как в сказке.
Архив Филина Палыча
Шелоник А. А., Колдобский В. И. Современные методы векторного представления слов // МГТУ им. Баумана.
Лях А. П. Классификация и основные алгоритмы эмбеддинга в контексте больших языковых моделей // Ученые заметки ТОГУ, 2024. Том 15, № 3, С. 79–83.
Mikolov T., Chen K., Corrado G., Dean J. Efficient Estimation of Word Representations in Vector Space, 2013.
Malkov Yu. A., Yashunin D. A. Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs, 2016.
Ивановский А. С. Vector embeddings for enhanced efficiency in full-text search with artificial intelligence technologies // Universum: технические науки, 2024. № 12(129).
Добрынин В. Ю., Абрамович Р. К., Платонов А. В. Efficient sparse retrieval through embedding-based inverted index construction // Научно-технический вестник информационных технологий, механики и оптики, 2025. Том 25, № 1. С. 61–67.
Déjean H., Clinchant S., Formal T. A Thorough Comparison of Cross-Encoders and LLMs for Reranking SPLADE, 2024.
