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

Чаму для Enterprise RAG патрэбна гібрыдная пошуковая сістэма, а не толькі вектары

Эмбедды не паводзяць ідэнтыфікатораў рахункоў-фактур і кодаў абяканняў. Для Enterprise RAG патрэбны гібрыдныя способы пошуку: BM25 паўсараваны з інтэнзыўным адзысканнем і з’едынэннем рангаў заполняе прычыну пры недастатку ідэнтыфікатораў.

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

Крыніцы: Hybrid Search Beats Pure Vector Search: Why Semantic Search Alone Isn’t Enough for Enterprise RAG

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

Введэнне

Тэхніка Retrieval-Augmented Generation дазволяе асістэнтам запрашваць інфармацыю з зовнішняй базы знаёмых пры перад тым, як яны выдаюць адказ. У большасці дэманстрацый у центрэ знаходзіцца вектарны пошук:

Documents
    │
Chunking
    │
Embedding Model
    │
Vector Database
    │
Top-K Retrieval
    │
Large Language Model

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

Чаму вектарны пошук стаў популярным

Сэрч-машыны парабеліююць токены. Запіт «Як можна перазначыць пароль?» знаходзіць дакументы, якія маюць у сабе словы «перазначыць/пароль/аккаунт». Запіт «Не можа адказвацца на аккаунт» можа зовсім працягнуць паспартаў пароля, нават якшо намеры або тое ж самае. Эмбеддынгі перакладаюць значэнне ў вектарны прастор, таму парапрафразы все равно можаць суперсечацца. Для часта задаваемых запытаў і наратывных дакументаў гэта ёсць прынцыповая перамога.

Дзе чыстыя вектары не працуюць

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

Якшо ёсць такі запіс:

Invoice Number : INV-93842
Status         : Paid
Customer       : ABC Corporation

запыт «Які статус рахунковай-фактуры INV-93842?» часта вяртае інструкцыі з білінгу, а не саму рахунковую-фактуру, таму што эмбеддынгі акцэнююць на панявах «рахунковая-фактура/аплата», а не на точным ідэнтыфікаторы.

Іншыя спосабы неудач

Пошук з абэракцыямі ў базе дадзеных шукае:

ORA-12514

можа вярнуць загальныя нарадчыкі па з’ўязку заместо сторанцы ORA-12514.

Запіты пра продукт, такія як:

RTX-9000 Switch

могу прадстаўляць аптакі сетэй заместо інструкцыі RTX-9000.

Запіты пра версію, такія як:

Version 4.3.12

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

Запіты у сферэ охораны здароў’я, такія як:

Patient ID: P-482731

могу вярнуць дакументы з правіламі рэгістрацыі заместо даных пра паціѐента.

Калі важны точныя ідэнтыфікаторы, сама семантычная супадзімасць становіцца ненадзеянай.

Чаму эмбеддынгі тут маюць проблемы

Мадэлі выучаюць зв’язкі «лекар↔фізыкар» і «машына↔автомабіль». Тэксты, такія як:

INV-93842

або

RTX-9000

маюць малая семантычная цэннасць. Змена:

INV-93842

на

INV-93843

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

Раздзяленне пошуку для падпрыемства

Сэмантычная інфармацыя (палітыка застаўкі, працэс заявы, скасаванне пароля) — вектары прадстаўляюць ся выгодна. Точная інфармацыя (ідэнтыфікаторы, коды, SKU, версіі) — ключавыя словы/BM25 прадстаўляюць ся выгодна.

Іспользованне толькі адной стратэгіі значыць выдачу высокага рэзультата ў аднай сферэ і труднасці ў іншай. Гібрыдны пошук створаны, каб пакрыць оба аспекты.

Увайдзіце ў гібрыдны пошук

Замест BM25 альбо вектараў запускайце оба і з’едыняйце ўсё:

User Query
                         │
        ┌────────────────┴────────────────┐
        │                                 │
        ▼                                 ▼
 Keyword Search (BM25)           Vector Search
        │                                 │
        └──────────────┬──────────────────┘
                       ▼
              Merge & Score Fusion
                       ▼
                 Cross-Encoder Re-ranker
                       ▼
                Top Relevant Context
                       ▼
                 Large Language Model

Пошук за ключавымі словамі захоўвае ідэнтыфікаторы і рэдкія токены. Пошук за вектарамі пакрывае сынантымы і формулювання. Функція перэранкавання (альбо з’едынэнне рангаў) арранжуе сумаваныя кандыдаты па запіту корыстніка.

Чаму гібрыдны спосаб выграў

Для запіту «Чаму квітанцыя INV-93842 яшчэ чакае затверджэння?» гібрыдны падход можа знаходзіць точны ідэнтыфікатор за дапамою ключавых слов, запрашваць супаўзвязаныя дакументы пра рабочы працэс за дапамою вектараў і перэранжаваць рэзультаты, так што запіс квітанцыі будзе на першай пазіцыі, а дакументы пра працэс застануцца доступнымі. Кожная тэхніка выконвае тое, у чым яна найлепша.

Заключныя меркі

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

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

У практычнай дзеяльнасці трэба фіксаваць, якая галузь спадчынала кожны рэзультат (ключавая фраза чыра ўжоцьвёрдзена), налаштовваць вагі злучэння на наборы дадзеных для ацэнкі, якія включаюць як запыткі з парафразамі, так і запыткі на пошук ідэнтыфікатораў, а таксама не прызнаваць, што “RAG завершана”, пасля дэманстрацыі, якая адпаведае толькі на простыя сэмантычныя запыткі. Запыткі на ідэнтыфікацыю ёсць тымі тэстамі на прынятнае функцыянаванне, у якіх падпрыемства насправды зазнаюць няўдаласцей у рэальных умовах.

Стварэнне гібрыднага рашэння без надмерных зусіль

Пачніце з вікорыстоўванняя BM25 (או адпаведнага лексыкальнага пошуку) разам з існуючым вектарным індэксам — багато вектарных баз дадзеных вялікі ўжо прадаюць гібрыдныя API. Следзьце, каб ідэнтыфікаторы частак былі супараднаваны, тады злучэння будзе простым. Пачніце з фузыі на адносны ранг, перш чым трэнаваць крос-кодэр для пераранжавання; RRF ёсць дышаўным і часта “дасканальным” для падтверджэння, што разліка ў пошуку ідэнтыфікатораў зменшылася.

Створыце набор для адзынакоўкі з двумя групамі: запытанні на перафразаванне (семантычныя) і запытанні на выявленне ідэнтыфікатораў (точныя). Адзельна вылічайце рэйтынг recall@k. Адправляйце гібрыдны варыянт толькі тады, калі парадоксальнае павышэння спостарыцца ў обох групах або прынеймна ў адной з іх, без падвяшчання рэйтынга ў другой. Следзіце за затрымкамі: працэўка двух алгорытмав адзночасна зазвычай ўсё гаразд; серыйная пераранжаванне вялічзіных набораў кандыдатаў — не.

Стратэгія часткавання застаецца важлівай. Ідэнтыфікаторы, якія знаходзяцца ў вялічзіных частках, паслабляюць як рэйтынгі BM25, так і ўжо вылічаныя паказнікі. Валіце межы частак, якія захоўваюць заголовкі рачункаў, назвы кодаў каштоўкі і радкі SKU цэлымі. Фільтры метадаў (лінія продукта, рэгіон, тып дакумента) ўсё больш зменшуюць колькасць хыбных рэзультатаў пры ўжыванні.

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

Спісак перагляду практычнай рэалізацыі

  1. Збір даных з журналаваў працы сістэмы; пазначыце, калі трэба точнае адпаведненне, а калі — парафраза.
  2. Створыце лексыкальны пошук на том жа корпусе даных і з тымі ж ідэнтыфікаторамі частак, што і у вектарным індэксе.
  3. Спаўняйце ўзаемную інтэграцыю з RRF; фіксуйце джэрэлы даных для кожнага аднаходжэння.
  4. Апыліцыйна пераканаўцеся ў рэкале @k для обох груп даных; скорэгуйце вагі.
  5. Ляч толькі тады можна рассмотрэць вікорыстанне навучанага прыстрою для пераранкіравання, калі ёсць можлівасць за лімітам затрымкі.
  6. Зберагаюце поля ідэнтыфікатораў у метаданых для можлівых жорсткіх фільтраў, калі інтэрфейс вядомае вялічыну чыклета або SKU.

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