Единица 1 / 11

Што е RAG и зошто е потребно?

Добивки:

  • Објаснувајќи дека RAG инјектира контекст без да ги менува тежините на моделот и работи со логика на „испит на отворена книга“
  • Споредување на RAG со дотерување и долги контекстни пристапи според сценарио за цена, навременост и користење
  • Набројување на чекорите на типичен гасовод RAG кој се состои од фази на индексирање и барање

Без разлика колку е моќен јазичниот модел (вештачка интелигенција што разбира и произведува текст; отсега натаму ќе го нарекуваме накратко модел), тој не го знае договорот што вашата компанија го потпиша вчера, вашата внатрешна страница на вики (внатрешна база на знаење) или белешката за ослободување објавена утрово. Моделот е ограничен на општо знаење до датумот кога е обучен; Ова се нарекува „краен датум за образование“. RAG (Retrieval-Augmented Generation) ја пополнува токму оваа празнина: ги наоѓа документите на компанијата поврзани со прашањето, му го дава на моделот како контекст (т.е. дополнителниот текст што ќе го прочита додека го произведува одговорот) и го има одговорот произведен врз основа на овој контекст.

Во оваа единица, јасно ќе видиме што е RAG, кога се претпочита од кои алтернативи и чекорите на типичен гасовод RAG. Сите следни единици ќе ги продлабочуваат деловите од оваа карта еден по еден.

Основната идеја на RAG: Испит за отворена книга

Да го објасниме RAG во една реченица: „Прво пронајдете го соодветниот документ, а потоа моделот нека го прочита тој документ и соодветно го испечати одговорот“.

Најкорисната аналогија е оваа: RAG го преместува моделот од „испит за затворена книга“ во „испит за отворена книга“. На испитот од затворена книга ученикот одговара само по памет; Постои голем ризик да го измислите она што не се сеќавате. На испитот од отворена книга ученикот одговара гледајќи го изворот поставен пред него. Во RAG, моделот веќе не одговара од сопствената меморија, туку од тековниот и специфичен текст што му го давате.

Критична точка: RAG не ги менува тежините на моделот, односно милијардите нумерички параметри што ги научил моделот. Не го преквалификувате моделот. За секое прашање, внесувате делови од текст релевантни за тоа прашање во промптот (текст на инструкции испратен до моделот). Така, не мора да го преквалификувате моделот кога документот се ажурира; едноставно го освежувате соодветниот запис во базата на податоци за пребарување.

Совет: Две прашања го одредуваат квалитетот на RAG: (1) Дали го најдовте вистинскиот документ? (2) Дали моделот го прочита правилно? Првиот е „квалитет на пронаоѓање“, вториот е „квалитет на генерацијата“. Двете се мерат и подобруваат одделно.

RAG, фино подесување или долг контекст?

Три патеки често се мешаат кога се бара решение за организациски проблем. Ајде да ги разјасниме нивните разлики. Добро подесување е ажурирање на тежината на моделот со вашите податоци и учење на ново однесување/стил. Долг контекст значи пополнување на сите документи директно во промптот без никаков избор.

Пристап

Што прави

Кога е соодветно?

Трошоци / Ризик

RAG

Го инјектира релевантниот документ како контекст

Често променливи, обемни, конкретни информации

Ниско; лесно се ажурира, може да се наведе изворот

Фино подесување

Ги ажурира тежините со нови податоци

Настава по фиксен стил/формат/јазик

Високо; Потребна е преквалификација со секое ажурирање

Само долг контекст

Ги пополнува сите документи во промптот

Мал, неподвижен комплет документи

Се зголемуваат трошоците за токен и ризикот од „губење на средниот дел“.

Како по правило: Дотерувањето го учи моделот како да зборува; RAG му кажува на моделот што да знае. Во повеќето сценарија на претпријатијата, RAG прво се проба бидејќи е евтин, може да се ажурира и може да го покаже изворот на одговорот. Долгиот контекст е разумен ако комплетот на документи е навистина мал и фиксиран (на пример, прирачник од 20 страници); Но, со илјадници страници, тоа е скапо и моделот може да пропушти информации во средината на долг текст.

Типичен гасовод RAG

RAG се состои од две главни фази: индексирање (подготовка, направено еднаш или периодично) и барање (се извршува на секое корисничко прашање).

Индексирање чекор по чекор (офлајн, без корисник да чека):

  1. Собирање: Повлечете документи од извори (PDF, вики, систем за билети, база на податоци, е-пошта).
  2. Делење: Скршете го долгиот текст на помали податливи парчиња.
  3. Вградување: Претворете го секој дел во вградување (вектор на број што го носи значењето на текстот).
  4. Зачувај: напишете ги векторите заедно со текстот и метаподатоците (извор, датум, информации за авторизација) во векторската база на податоци.

Чекор-по-чекор барање (онлајн, додека корисникот чека):

  1. Претворете го прашањето на корисникот во вградување.
  2. Преземете ги најсличните делови од векторската база на податоци.
  3. Ставете ги овие парчиња + прашање во шаблон за праќање.
  4. Добијте го контекстуалниот одговор и неговите извори од моделот.

# Концептуален преглед на фазата на испитување (не зависи од јазикот)прашање = "Колку дена годишен одмор?"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # повеќето слични деловиprompt = f"""Одговори на ПРАШАЊЕТО подолу, ако имам информации за CONTEXT. ова." Fitting.CONTEXT:{parts}ПРАШАЊЕ: {прашање}"""answer = model.uret(prompt) # пр. модел: claude-opus-4-8

Овој тек е мапа на секоја фаза, која ќе ја распакуваме една по една во следните единици.

Слаба навестување / Силен навестување

Дури и со истиот RAG контекст, квалитетот на промптот го менува одговорот.

Слаба порака (отворена за монтирање на моделот, не бара ресурси):

Користете ги овие информации и кажете годишен одмор: {делови}. Прашање: {прашање}

Моќен потсетник (заземјување + дозвола „не знам“ + барање за ресурси):

Одговорете само врз основа на КОНТЕКСТОТ подолу. Ако нема јасен одговор во контекстот, напишете „Не можев да најдам информации за ова во документацијата“; Не погодувајте. Додајте ја ознаката [Извор: датотека_име] на делот на кој се потпирате на крајот од вашиот одговор. КОНТЕКСТ: {парчиња} ПРАШАЊЕ: {прашање}

Три мини футроли

Случај 1 — Асистент за човечки ресурси (Човечки ресурси). Една компанија има прирачник за човечки ресурси од 340 страници, а вработените во просек поставуваат 90 прашања дневно. Беше испробано дотерување, но бидејќи прирачникот се ажурираше месечно, беше потребна преквалификација секој пат; Трошоците достигнуваа илјадници долари месечно. По префрлувањето на RAG, ажурирањето беше намалено на чекорот „повторно индексирање на документот“ (минути) и стапката на точни одговори се зголеми од 71% на 93% при рачно мерење.

Случај 2 - Поддршка за корисници. Тимот за поддршка има 12.000 решени тикети и 800 статии за помош. Потребни се во просек 4 минути за еден претставник рачно да најде одговор. Кога помошникот на RAG ги донесе 5-те најрелевантни записи и изготви нацрт-одговор, времето беше намалено на 40 секунди; Но, тимот го сфати ризикот да „изгледа несигурно со донесување погрешна статија“ и го направи задолжително наведувањето на изворот.

Случај 3 — Закон. Договорниот тим праша „во кои договори клаузулата за доверливост трае 5 години?“ го поставува прашањето. Во долгогодишното контекстуално испитување, 60 договори беа пополнети во една единствена порака; манекенката ги прескокна средните два договора. Кога беа воведени само релевантните ставки со RAG, цената на токенот се намали за 80% и прескокнувањето што недостасуваше беше ресетирано.

Зошто е потребен RAG?

  • Актуелност: пристапувате до информации по завршувањето на датумот за обука.
  • Посебни информации: Вашите внатрешни документи не се вклучени во обуката на ниту еден модел; Само вие можете да дадете.
  • Проверливост: Можете да го наведете изворот на одговорот (цитат) - од суштинско значење за ревизија и доверба.
  • Контрола на халуцинации: се потпира на текстот поставен пред него наместо да прави модел.
  • Цена: Многу е поевтино и побрзо да се стави во функција отколку дотерувањето.
Внимание: RAG не е магија. Ако внесете погрешно парче, манекенката доаѓа до погрешен одговор изгледајќи „самоуверено“. Имајте на ум фразата „Квалитет на пронаоѓање = квалитет на RAG“.

Вообичаени грешки

  • Грешка RAG за дотерување: RAG не ги менува тежините; Тоа само додава контекст. Збунувањето на овие две ќе доведе до избор на погрешна архитектура.
  • Недозволување „Не знам“: ако навестувањето го остави моделот слободен да го пополни празното, тоа ќе го надополни.
  • Не наведување извори: Одговор без извор не може да се провери; Корисникот не може да ја забележи грешката.
  • Склопување на сè во едно барање: долгиот контекст изгледа евтин, но е скап и ги пропушта средните информации.
  • Заглавување во генерација без мерење на пронаоѓањето: Ако одговорот е лош, прво прашајте „Дали дојде вистинскиот дел?“ треба да се праша.

Сумирано

  • RAG е пристап кој внесува документи релевантни за прашањето во моделот како контекст; не ги менува тежините („испит за отворена книга“).
  • Фино прилагодување учи стил/формат, RAG дава тековни и конкретни информации; долгиот контекст добро функционира за мали фиксни множества. Во повеќето сценарија, RAG прво се проба.
  • Цевководот има две фази: офлајн индексирање (дел + вградување + зачувување) и онлајн барање (преземање + барање + генерирање).
  • RAG обезбедува навременост, конкретни информации, проверливост, контрола на халуцинации и ниска цена.
  • Квалитетот на системот директно зависи од квалитетот на пронаоѓањето: погрешно парче значи погрешен одговор.

Задача за апликација

Изберете вистински извор на информации од вашиот тим (на пр. документ за процедура или страница со ЧПП). (1) Напишете 5 фактички прашања за овој извор. (2) Забележете кој дел од документот го содржи точниот одговор за секое прашање - ова станува вашата листа со „златен одговор“. (3) Користејќи го шаблонот за „силно барање“ погоре, рачно залепете го соодветниот дел како контекст и побарајте модел. (4) Споредете го одговорот даден од моделот со златниот одговор и означете го како точно/неточно. Ова е првата рачна верзија на проценката што ќе ја автоматизирате во идните единици.

листа за проверка

  • [ ] Можам да објаснам во една реченица дека RAG не ги менува тежините, туку само додава контекст.
  • [ ] Можам да разликувам RAG, дотерување и долг контекст и кога е соодветно.
  • [ ] Можам да ги бројам по ред фазите на индексирање (собира-распарчи-вградување-зачувување) и барање (вградување-фаќање-промпт-генерирање).
  • [ ] Знам зошто ги додадов инструкциите „ако не е во контекст, кажи не знам“ и „цитирај извор“ на промптот.
  • [ ] Можам да го приспособам принципот „Квалитет на пронаоѓање = квалитет на RAG“ на мојот сопствен случај.