Галоўная / Артыкулы

Пераранжаванне ў RAG: вузкае акно, дзе крос-энкодэры сапраўды дапамагаюць

Пераранжаванне ў RAG дапамагае толькі паміж мінімумам поўнасці і столлю K. Што такое Phantom Hits і як за адзін дзень вымераць абедзве межы на сваіх запытах.

Выдавец: REACTAPP.TOP13 хв чытання3018 слоў

Крыніцы: Reranking in RAG — Cross-Encoders, the K Threshold, and the Recall Ceiling in Production Systems

Крос-кодэр дапамагаець практыцы RAG толькі ў вузкай сфэрэ: рэкалія на першым этапе павінна быць дастаткова высокай, а колькасць кандыдатаў, якія вы перэдаеце, — дастаткова малой. За межамі гэтай сфэры рэранкер або не мае чаго практыкаваць, або пачынае заважаць. У наступным чытанні раскажана пра механізм, прычыну неякоснасці, якая называецца Phantom Hits, і спосаб працэўнікаў адзінаму пераканацца ў всім гэтым на савых дадзэннях.

Уявіце сабе сістэму RAG, якая знайшла праведную адпаведзь. Не было ні якіх адхылэнняў, ні загубленых дакументаў. Адпаведзь проста знаходзіцца на 37-й пазіцыі ў спісе рэзультатаў, а LLM чытае толькі першыя пяць, таму практычна яе няма. Не выклікаецца жадных апавешчэнняў, адтолькі ўсі показнікі монітарынгу паказваюць, што запіт быў успешным.

Гэта не якась асамблевая особлівасць. Гэта вынікае з таго, як пабудована архітэктура. Пошук за вектарамі прызначаны выдаць правільную адпаведнасць сярод 50–200 кандыдатаў, а не обавязкова на самай верхній пазіцыі, таму працэс, які заканчваецца выявленнем рэзультатаў, залішае якасць адпаведнасці на вялікай вольнасці.

Звычныя дзіянні — гэта дадаць додатковы прыстрой для пераранжавання. Гэта значыць крос-кодэр, прыблізна дванаццаць ліній коду, незначны падыск нDCG, і спраўа заканчываецца. Ці гэта неправільна? Не зовсім, калі пераранжаванне не работае. Але гэта неправільна, таму што пераранжаванне працюе ў вузкам дыяпазоне параметраў, якія практычна ніхто не мерыць. Далей вы пабачыце, як функціонуе гэты дорожэйшы другі этап, дзе знаходзяцца кожны края гэтага дыяпазона, і як за адні полудзень з’ясаваць, на якай стороне кожнага краю знаходзіцца ваша сістэма.

Пераранжаванне — гэта не лепшы пошук за вектарамі

Рэранкер — гэта іншая архітэктура, якая актываціюецца толькі пасля адзыскання і прыменяецца да невялікага калекцыі кандыдатаў.

Бі-кодэр, які знаходзіцца ў вашай існуючай вектарной пашуці, кодуе запіт і кожны дакумент незалежна, загадзя і паўтарна. Чырвоныя гэтае робіць быстра і дазволяе ўрашаць мільйоны дакументаў. Аднак гэта значыць, што ён ніколі не аналізуе запіт і дакумент адночасна.

Крос-кодэр робіць працоўнае працю. Ён чытае іх аба адночасна, токен за токенам, што дазволяе яму зазначаць заперчанні, чысловыя суперсечанні і тонкасці, якія бі-кодэр не можа пазначыць. У замяну ёму неабходна паўтарыць гэту працу для кожнага кандыдата адначасна, пад час запіту.

Гэта дае знайомы парадокс дваэтапнага працэса. Этап адзыскві прыемна скармачвае кантэнт, зменшычы колькасць кандыдатаў да 50–200, і ставіць мету не прыгубіць праведную адпаведзь. Пасля чаго этап пераранкінгу сортавае гэты маленькі набор за вышэйшыя затраты, ставячы мету тачнасці: з тых, хто застаўся, выбраць сапраўдзія лепшы варыянт.

Другі слой таксама не ўжо ўсё безкоштовна. Перад прыемнай колькасцю кандыдатаў крос-энкодэр начынае спрыймаць шум як сігнал, і якосць дзейсна падыходзіць. Чы робіць пераранкінг, чы ні, — гэта інжынерны расчытак, які трэба адрабатваць на вашых даных, а не інстынктыўнае рашэнне.

Чаму адзыскві не можа быць апошнім крокам

Сімптам, які частаўка з’яўляюцца ў працуючых сістэмах RAG, выглядаюць так: «мадэль стварае халюцынаціі, навет які інфармацыя ў нашай базе дадзенаў». У большасці случаў, калі гэта выявляецца до канца, мадэль не стварала нічога сама. Правільны дакумент быў у тых пяцідзесяці дакументах, якія былі вярнуты, проста не ў тых пяці, якія былі паказаны генератору.

Прычына крыўціцца ў архітэктурэ. Бі-кодэр вычысляе эмбедынг дакумента час абліковання, яшчэ перш чым існуе якое-небудзь запытанне. Час пошуку ён парабягае два стыснутыя падсумкі, а не рэальны тэкст запытання, з рэальным тэкстам дакумента.

Класычны ўзор таго, што трапляецца забытым: запыткай паказана фраза «дышэчная», а ў дакуменце — «$

Слабасць заключаецца у тым, што бі-энкодэр ніколі не аналізуе пару разам, таму паглянем, якія перавагі дае мадэль, якая такія пары аналізуе.

Бі-энкодэр каталогізуе, крос-энкодэр чытае

Уявіце працэвучча. Бі-энкодэр выступае як кандыдатаў, які сортавае тыячу рэзюмэў у папкі ўсё раней, чым восьбовае апісанне вакансіі ўжо існуе: швытка, паверхнева, завершана рана. Крос-энкодэр выступае як керавальнік практык, у якога ёсць дзесяць фіналістаў, які чытае кожнае рэзюмэ разам з апісаннем вакансіі, лінія за лініяй. Лячы толькі тады стаюць відны несувяранасці, якія кандыдатаў не могаў пазначыць.

З тэхнічной точкі зору разлік просты. Крос-энкодэр з’едынае запіт і дакумент у адну последоўнасць, у стандартным фармаце [CLS] запит [SEP] дакумент [SEP], і праходзіць яе чэрзь аднаго трансфармера.

Унутрэ ўжоўваецца механізм крос-атэнцыі: кожны токен запіту можа атэнавацца безпаспэчна да кожнага токена дакумента і навпакі. Рэзультатам не ёсць вектар для парабярання, а адзін лагіт – ненормалізаваная цячка, якая паказвае, насколькі модэль впэўнена, што гэта конкрэтна пара ёсць рэлевантная.

Такім чынам, бі-энкодэр стварае прэдставленне, а крос-энкодэр – вердыкт. Гэта разліка ў тым, што модэль можа бачыць, а не разліка ў ступені.

З гэтага негайнаа выліваецца адна наследка. Рэйтынг крос-энкодэра нельга прадзеясніць і індэксаваць, адтуды што ён залежыць ад конкрэтной пары запіту і дакумента, а не толькі ад самага дакумента. Кожны запіт вымагае цэлага працэсу обработкі для кожнага кандыдата, што у дзесяткі-сотні разоў дорожэ за парабяранне вектараў.

Формула, якая лягла вахосне дваэтапнага дзеяння, чытка паказывае масштаб. Знаходжэнне найболей падобнага пары сярод 10 000 расэйкаў выклікае або-і 50 мільйонаў паўтароў, што даходзіць да прыблізна 65 гадзін з выкарыстоўваннем полныя модэлі BERT і адносна 5 секунд з архітэктурай у стылі SBERT, як паказана ў студзіі Sentence-BERT 2019 года ад Рэймэрса і Гурэвыча.

Запамятаце гэта ў яго точнай форме, калі ўжо існуюць заўвышаныя варыянты, такія як «10 мільйонаў дакументаў і 50 гадзін». Разлік ў якасці: крэндлам являецца колькісць пар, якія трэба оцаніць, а не велічына корпусу.

Таму крос-энкодэр ніколі не выступае як першы этап. Ён не гіршы, проста занадта дорогі для апрацоўкі цэлага корпусу. А так як ёго выкарыстоўванне коштае за кожную пару, усё залежыць ад таго, сколькі пар вы яму даеце і дзе ён знаходзіцца ў ланцоўцы апрацоўкі.

Два этапы, два бюджэты

Рэранкер належыць пасля працэса адзыскання і перад LLM. Пошук вяртае топ-k кандыдатаў, пры чым k — гэта колькасць дакументаў, якія адна стадыя перадае наступнай, зазвычай ад 50 да 200. Рэранкер пасля чаго пераранжуе гэты спіс і перадае яго генератору на пазіцыі з 3 по 20.

Гэты ланцоўкі не выйшлі з LLM, што свідчыць пра ўжо высокую ўжоўзрасласць гэтага падходу. Модэль «дышэўскі фільтр, а потым дорогі суддзя» паходзіць з эпахі Learning-to-Rank, калі другая стадыя складалася з ансамбля дрэва прыняцця рашэнняў, якія працавалі на ручна створаных характэрыстыках, а не на трансфармерах. Апаратная частка змянілася, але архітэктура засталася той самай.

Нейральная пераранжаванняе мае конкрэтную дату з’яўлення. У 2019 году артыкул „Passage Re-ranking with BERT“ выкорыстала BERT як бінарны класіфікатор для пар запітаў і аб’ектаў, чым падняла показнік MRR@10 на 27 процэнта па апэксу, у пораўнанні з найкрашчым на тады наяўным рэзультатам. Самэ тады другі этап перэстаў быць часткай працэсу оптымізацыі і стаў самастоятэльным слоем.

Найвядомейшая сэрвісная рэалізацыя сёння — гэта флагманскі інструмент пераранжаванняе ад Cohere. За всіма версіямі самым значным змянам была адна настройка: размер вхіднага окна з каля кількох сотняў токенав перасягнуў 32 000 токенав, пры чым у версіях v3 і v3.5 гэты ліміт складаў 4 096 токенав. Гэта справжняя змяна ў дызайне, адколькі яна падвышае размер фрагмента, які можа быць оцэнены без скорачэння, таму фрагментаванне стае менш агрэсывным, а втрачаецца менш кантэксту.

Продавцы рэдка кажу пра тое, што будзе далей. Цены за адны і той самы мадэль у розных джэрэлах разлічаюцца у дзесяць і болей разоў — ад крыхты цента да двух з половай долераў за тыячу пошукоў, залежна ад таго, хто ведае підрахунакі і што ён включае ў паняву «пошук».

Дзеяў просты правіл: калі вы не можэце самі перапрацаваць арыметыку продавца для сваго трафіку, у вас няма практычнага підрахунку, а толькі адгадванне. Існуе таксама пастка ў сферэ выкладкі. Дакументы, дыягональ якіх перавышае ліміт, дзелююцца на часткі, і кожная частка выкладзаецца окрэма, таму адна логічная працэса пераранжавання можа ператворыцца на калькіляванне за калькіляванням.

Формула, якую трэба запам’ятаць, такая: адзёваць дасканальна ў вялікіх кантэкстах, пераранжаваць дорага ў маленькай кантэкстнай групе, і дазволіць LLM бачыць толькі тое, што застаецца пасля обох процэсаў. Гэта здаецца безпечным стандартам, але існуе праг, за якім гэта перастае работаць, і то ў направленні, якога малая частка людзей чакае.

Фантамныя рэзультаты і момент, калі пераранжаванне пачынае нашкодзіць

Звычайная думка гласі, што чым больш кандыдатаў вы даеце прыстрою для пераранжавання, тым большая безпека. Мадэль точнейшая за вектарны пошук, таму пры K у розмярэ 500 або 1 000 яна навядома не можа памыліцца. Гэта уявленне некалькі, а доказы проты яго ёсць задокументаваныя.

У стацыянце 2024 года „Drowning in Documents“ (Jacob і яго саўецы) паведамляўся, што калі K зрастае, якасць перэранкера падымаецца, доходзіць да піку, а потым значна падыходзіць. Калі весь кантэнт сканавалі без паведамлення пра тое, што яго чакае, звычны BM25 могаў перамагаць крос-кодэр, які сачылі лепшым сярод усіх доступных. Неабходна памятаць аб аднай застэрэжнай прыметы: гэтыя рэзультаты атрыманы пад час слепага сканавання акадэмічных і корпаратыўных набораў дадзеных і мало што гавораць пра звычную схему апрацоўкі, дзе K становіць ў максымум каля калякіх соткаў.

Этот проблема мае назву – Phantom Hits. Перэранкер абавяжліва прызначае самы высокі бал дакументу, які не мае ні лексычнага, ні сэмантычнага зв’язку з запытам.

Авары прыказуюць вераглівы выхад і стараюцца называць гэта гіпатэзай, а не падтверджанай прычыной. Яны атрымуюць да настройкі адучэння, якую называюць падачай выкліканай адкрытасцю. Мадэлі для перэранків адучацца на адлічэнні з труднымі негатыўнымі прыкладамі — дакументамі, якія здаюцца правымі адпаведзеннямі, але ў сутнасі ўскладненыя, таму мадэль стае экспертом у мікроскопічных разліках.

У практычным выкарыстоўванні гэты экспертыза пагубна. Калі показваюць просты негатыўны прыклад, звычайны шум, які мадэль ледзь бачыла падчас адучэння, у яе няма нічога, на чым можна было бы спытацца, і яя пачынае здагадвацца. Мадэль, якая адучалася розразняць блізнюкаў, стае безпамочной, калі заходзіць незнайомаец.

Апошній край таксама рэальны і не скасоўвае першы. Калькі калякох незалежных аналізаў паказваюць, што ніжныя прагрызы для пераранжавання знаходзяцца пры recall@50 = 0,85. Ніжэй за гэты показнік няма нічага, што варта было бы сортаваць, адтуды праві дакумент ніколі не потрапляе ў кантэйнер для обработкі. Точныя прагрызы разлічаюцца ў разных істочніках, адтуды што разлічаюцца і корпусы даных, і ўсё ж такі ўплывае ўсё тое жа: блогі і практычны дазнаўанне, а не рэцэнзіі колег. Іспользуйце іх як гіпотэзу для перапрацоўкі на савых даных, а не як ужо адкрыты факт.

Этыя два вынікі не суперсечаюцца. Яны ўскладнююць два края аднаго рабочага прымеску. Ніжэй за прагрыз recall няма чаго для пераранжавання. Вышэй за прагрыз K ён пачынае заважаць. Пераранжаванне — гэта не монатонны праграс, і прыпуск, што больш завжды лепш, зноў паўтарае памылку слепага даверлення стандартам постаўшчыка, адтуды што і тое, і другое заменяе меры на фольклор.

Усвядомляючы, што занадто часта пераранжаванне можа нашкодзіць, а занадто мала колькасць — не будзе достатня, нам патрэбна чыстая карціна таго, што гэты слой можа выправіць.

Ліміт відтворэння і што насправды включае 67 процэнтав

Апарат для пераранжавання — гэта рэдагувальнік, а не рэпортар. Ён можа пераранжаваць матэрыял, які ужо збіраў кто-небудзь, але не можа стварыць тое, што ніхто не прынёс.

Гэты прынцып, ліміт відтворэння, здаецца простым, пакуль не ступае ў супернацыю з найболей значным показнікам у галузі. У своёй статыі пра кантэкставае відтворэння Anthropic опісаў працэс 2024 года, у яком парадоксальнае падрыхтаванне топ-20 знізілася з 5,7 до 1,9 процэнтав, тое ў 67 процэнтав, у сваёй статыі пра кантэкставае відтворэння.

Гэтыя цыфры часта цітуюць як падтрымку пераранжавання. Але калі разлучыць іх па этапах, яны рассказваюць іншую історыю, хоць і не таму, што ў яёй ёсць неправда.

Шлях быў такім. Кантэкстуальныя эмбеддынгі знізілі практычны рэшт на 3,7 процэнта, а дадзенне BM25 прывела яго да 2,9, і толькі тады рэранкінг дасаў 1,9. Такім чынам, рэранкінг сам по сабе пакрывае заканчоўны перыяд – з 2,9 да 1,9 процэнта. Оба показнікі ўтрымваюцца, таму што яны відображаюць разныя аспекты: 67 процэнта – гэта рэзультат всей структуры, а не якога-небудзь адзінага ўзлока.

Гэтае разлікаванне мае значны практычны значэнь. Перш чым праказваць «67 процэнта» на пераглядзе архітэктуры, памятайце, што вы обяцваеце эфект чатырох змян разам, пры чым тры з іх знаходзяцца раней у ланцузе, чым рэранкінг, і яны прынеслі большую частку парадку.

Самі автары выявляюць гэтыя абмежэнні: показнік ўсерэднёвае даны з розных домэнаў, а разніца межы ямі вялікая. Ішчо адна прычына для аберагання на адварынку наявных дакументаў: кожны показнік якосці для комерчыяных срэдстваў пераранжавання паводліваецца прадавцамі на адпаведных іх наборах дадзеных і з іх саею першае стадыя адшукання. Не існуе незалежнай, всіх рынкаў аблікованай ацэнкі.

Жадны званычны крэйтэрый не пакажае, як будзе працаваць пераранжаванне у вашай сістэме, таму вам трэба тэставаць яго самім.

Расчыт, які можна адрабатваць у паўтароць панедзелкі

Усю складнасць гэтай тэмы можна звузіць да адной паўтароўнай процедуры. Самэ таму, што команды рэдка яе адрабатваюць, і продаваецься тэза пра тое, чы «пераранжаванне дапамагае», продаваецца і далей.

Першы крок: зьвярзіце показнік recall@50 і precision@5 на адзінайста пазначаных запытках. Ожывайце савеяныя логі і савой скуп чарактэраў і намераў, а не публічныі крэйтарыў. Калі recall@50 явна ніжэй 0.85, спачатку выправіце процэс аднаходжэння дакументаў за дапамогою чанкавання, гібрыднага пошуку або эмбеддынга, а не дадаць дзеўяты слой.

Другі крок: шукайце спецыфічныя сігнатуры. Высокі показнік recall@50 у поўнай зьвязці з нізкім precision@5 — гэта самэ і сітуацыя, для якой існуе механізм пераранжавання. Прыдатны дакумент ёсць у кантэйнеры, але знаходзіцца занадта нізка ў ранкінгу.

Трэці крок: адказвальна выберыце модэль. API, які рухаецца на серверах трэціх адзелаў, дазволяе быстра запускацься і не выконвае жадных операцый, але вашы даны пакідаюць вашу інфраструктуру. Самастойна розмешчаная модэль дае контроль над костамі і прыватнасцю, але вы стаеце відпаведальныя за GPU і ўтрыманне. Гэта скорэй рашэнне, якое залежыць ад правілаў і бюджэту, чым ад якосці модэлі.

Прабаваць яго таксама недорага. Локальная пераранжаванне можа быць напісана прыблізна ў дзесятку ліній:

from sentence_transformers import CrossEncoder

reranker = CrossEncoder("BAAI/bge-reranker-large", max_length=512)

def rerank(query, docs):
    pairs = [(query, d.page_content) for d in docs]   # pair: query + candidate
    scores = reranker.predict(pairs)                  # one logit per pair
    return sorted(zip(docs, scores), key=lambda x: x[1], reverse=True)

Самыя частаяяя прычыны — трыяяяя памылкі. Адна з іх — завышэнне значэння K «толькі на всякі случай». Іншая — пераранжаванне пасля скорачэння кантэкста, тады мадэль оцэнюе толькі частку дакумента, а не весь дакумент. Трэцяя — спрытліванне значэння крос-кодэра як абсалютных прагаў для порэванаў між запытамі, што ўсё болей небяпечна, калі ў дэмаверсіі такі падход працуе, а ў рэальных умовах — не працуе.

Ёсць ўсё ж такі менш зрозумелыяяя прычына: фраза «перэранжавач не дапамагае» іноды ёсць наследкам чысловага бага, а не архітэктурнага рашэння. У гідзе па міграцыі Sentence-Transformers быў задокументаваны прыклад, калі сігмоўда, вырачаная ў фармаце bfloat16, досягла сваёй максымальнай значэння, чым злучыла самыя высокія оцэнкі і фактычна аб’яднала ў спрацэўны парадак. Калі замест таго быў выкарыстоўваны фармат float32, ранжыраванне вернулася да нормальнага стану.

Усё гэта выкарыстоўвае толькі мэтрыкі, без неабходнасці змяні архітэктуры.

Што гэта значыць для архітэктара

Вярнімся да пункта 37. Дакумент, які застраг там, ніколі не быў проблемай модэлі генеравання. Цэла была проблема парадкав.

  • Крос-кодэр не ўлучшае якасць эмбедынга. Цэта адзінэцкая архітэктура, якая запускаецца пасля адзысквання, чытае запіт і дакумент адночасна і вяртае вердыкт у замен на прэдставленне. Нямая павышэння якасці эмбедынга не дае таго, што дае чытанне пары паўза-паўза.
  • Пераранжаванне патрабуе адзінага месца. Адзысквання застаецца дышэчым і шырокім, пераранжаванне — дорогім і вузкім, і сама сутнасць гэтага каскаду заключаецца ў такой структурэ віткоў.
  • Большая колькасць кандыдатаў — гэта не надзеянае стандартнае рашэнне. Пасля певнага значэння K якасць рэальна падыходзіць, і празэкцыя гэтага крыўці лежыць у спосабе навучэння гэтых модэляў.
  • Пятачок ўзлету ўстойчывы. Тое, што не было вернуто на першым этапе, не можа быць вярнуто за дапамой пераранжавання, незалежна ад таго, што стверджуея прылада-продавец.
  • Вашы даны — гэта стандарт. Однага вечара, пасвячанага вычысленню показніка recall@50 і precision@5 для ста пазначаных запыткаў, достаткаў, каб завершыць дыскусію, якая інакш могла бы трываць недзеўкі.

Багато командаў спачатку спрыяюць пераранжавання як стандартнай часткі кожной сістэмы RAG, як і кэшу. Гэта хыбныя прычыны. Болей правільныя падходы стаюць зрозумелыя, калі бачыць оба прагу разам: ніжнюю межу, пад якой слой не мае чаго лагодзіць, і верхнюю межу, пад якой ён пачынае паспрабоўваць пашкадзіць рэзультаты. Корача кажучы, пераранжаванне ёсць умовным працэсам, а не автаматычным.

Ўсімае адзін прасцей застаецца нераскрытым. У аналізаваным тут матэрыяле не было выдзеленых показнікаў для перэранкавання спецыяльна для польскай мовы, а кожная мультыязычная цыфра ўсё ў тым являе сабою суму дзесяткаў мов. Для корпуса польскай мовы чы гэтаксама для будзь-якай меншай мовы вімераванне на сасобных дадзэннях — не проста рэкамендаванае, а ўсё ў тым ўзельны варыянт.

Спаднёйшыя матэрыялы

  • Перэранкаванне ў RAG: Cross-Encoders проты суддзяў на адной LLM і іх затрымкі — Як няўякі этап перэранкавання выправляе парадак кандыдатаў у RAG, паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца паўстанавляецца
  • Кантэкстуальны выкарыстоўванне для RAG: Чым скрыта цыфра 67%, якія ўскладкі ёй супакоўваюць і калі гэта метод не дапамагае — Як прыменэнне прыфіксаў выправляе „сіротскія“ фрагменты, чаму 67% падышча ўскладнена трыма разнымі заходамі, што захоўвае кэшаванне запытанняў і чатыры случаю, калі гэты метод не ўзводзіць рэзультатаў.
  • Практычныя заўважэнні: Меры вектарнага пошуку ў RAG — косайная сэмабільнасць і іншыя аспекты — Паследоўны апіс практычных заўважэнняў: Меры вектарнага пошуку ў RAG — косайная сэмабільнасць і іншыя аспекты: контракты, перакананні і шаблоны коду для команд, якія вікорыстоўваюць гэты падход.
  • Аўдыт сістэмы RAG для выявлення застарэлых частак, дэфектаў і шумнага кантэксту — Python-скрыпт для аўдыту процэсу выкарыстоўвання RAG: золатыя запыты, крытэрыі рэлевантнасці на аднойчыні косайну, перакананні на дэфекты Колмагораўа-Смірнаўа і эфектыўнасць кантэксту, а таксама як чытаць яго атлас.
  • Пяць тэхнік пераранжавання для RAG: ад быстраага выкарыстоўвання да точнага кантэксту — Чаму першы этап выкарыстоўвання не дае правільных адказоў і як гэта пацягнуць: крос-кодэры, RRF, Cohere Rerank, ColBERT і LLM-як суддзя, а таксама шаровы праграмны план для пачатку.
  • Чаму пераранкінг ёсць найдэшавшы спосаб дасягнуць вялікага рэзультата ў праграме RAG — Адзёбліце 50 элементаў, пасля чаго пераранкіруйце іх да 5: як крос-энкодэры паслужаюць для паследовага ў RAG, якія ёсць ўспехі і час адпаведзення, калі можна яго прыняць, і які пераранкінгавы прыемак выбраць.