RAG это когда берут из запроса пользователя вектор, и ищут среди векторов в базе ближайший (алгоритмы ты выше озвучил)
Смотри руками в базе, бери вектор своего запроса и ищи какие записи по нему проходят.
p.s. лично я считаю что RAG это исключительно поисковая система, для вопрос-ответных систем он подходит отвратительно (если честно я даже в шоке что у
cursor что то получилось в принципе), отличный пример - поисковый запрос: 'Сколько ног у какающих принцесс' - вектор будет суммой (на самом деле не совсем но как пример) векторов смысла 'ноги', 'какать', 'принцессы', и 'обкаканые ноги' и что то там с комбинацией количеством, типа 'количество принцесс', 'количество ног' и т.п. а так как вектора смыслов работают еще и на близкие понятия, в довесок ты получишь какающих принцев, писающих принцесс, королей, президентов и т.п... как ты думаешь, сколько документов приедет в качестве ответа на запрос, если они каждый тоже совокупность (сумма) смыслов в них?
Если честно полученные документы нужно не брать верхушку результатов, а каждый обрабатывать полноценным промптом (можно использовать слабую модель) который уже будет принимать решение, нужно или нет...
Самая важная часть в получении эмбендингов - это разделение документа на чанки, и если честно я не знаю красивых алгоритмов... мне нравится идея (я ее только пробовал) - когда документы предварительно снабжаются самморизацией ее частей (в идеале отдельно по темам, на которую разрабатывается поисковая система) и вот искать нужно среди этих самморизаций.
p.p.s. ai-forever/sbert_large_nlu_ru? ничего не имею против него, но попробуйте другие модели получения эмбендингов, было бы классно если отпишитесь о результатах