Што е RAG? Retrieval-Augmented Generation објаснето едноставно
RAG (retrieval-augmented generation) е начин AI моделот да одговара на прашања со користење на вашите сопствени информации. Кога некој постави прашање, вашата апликација прво ги пребарува вашите документи за најрелевантните пасуси, а потоа ги предава тие пасуси на моделот заедно со прашањето. Моделот го пишува одговорот од тој текст, наместо да се потпира само на она што случајно го научил при обуката.
Зошто RAG е важен кога градите со AI
Голем јазичен модел знае многу за светот општо, но ништо за вашиот бизнис: вашите цени, политики, прирачникот за производот, минатонеделните тикети за поддршка. Исто така, има датум на крај на обуката, па не знае ништо за скорешни настани. Ако го прашате, може да даде уверен, веродостоен и погрешен одговор.
Имате три општи опции за да го решите тоа:
| Пристап | Што прави | Добар е за |
|---|---|---|
| Сè во промптот | Испраќа сите ваши документи со секое прашање | Мали количини текст — неколку страници |
| RAG | Пребарува во вашите документи и испраќа само релевантните делови | Поголеми или менувачки збирки: центри за помош, прирачници, белешки |
| Fine-tuning | Дополнително го тренира моделот на примери | Тон, формат и повторливи задачи — не факти што се менуваат |
Современите модели прифаќаат долги промптови, па за мала FAQ страница првата опција често е доволна. RAG се исплати кога имате повеќе текст отколку што сакате да испраќате секогаш — бидејќи секој збор што го испраќате чини пари и време (видете како се наплаќаат LLM API-јата).
Ако градите функција „разговор со нашите документи“, асистент за поддршка или внатрешна алатка за знаење, речиси сигурно градите некоја форма на RAG.
Секојдневна аналогија
Замислете испит со отворена книга. Ученикот кој мора да одговара од меморија може да згреши или да блефира. Ученикот кој смее прво да ги отвори вистинските страници, да ги прочита и потоа да одговори е многу посигурен — сè додека ги најде вистинските страници.
- Ученикот е јазичниот модел.
- Книгата се вашите документи.
- Отворањето на вистинските страници е пребарувањето (retrieval).
- Пишувањето одговор од тие страници е генерирањето (generation).
RAG е верзија со отворена книга. И, како и на испитот, квалитетот на одговорот зависи многу од тоа дали се најдени вистинските страници.
Како работи RAG, чекор по чекор
Типичната RAG поставка има две фази.
Подготовка на документите (се прави однапред):
- Соберете го изворниот материјал — статии за помош, PDF-датотеки, политики, податоци за производи.
- Поделете го на парчиња (chunks): долгите документи се делат на помали делови, често по неколку пасуси, за пребарувањето да врати само релевантниот дел.
- Пресметајте embedding за секое парче: испратете го до embedding модел, кој текстот го претвора во embedding — долга листа броеви што го опфаќа неговото значење. Текстови за слични работи добиваат слични броеви.
- Зачувајте ги парчињата и нивните embeddings во база што може да пребарува по сличност (често наречена векторска база или векторски индекс).
Одговарање на прашање (се прави секогаш):
- Пресметајте embedding за прашањето со истиот embedding модел.
- Пронајдете ги парчињата чии embeddings се најблиски до на прашањето — на пример, првите пет.
- Составете го промптот: упатствата, пронајдените парчиња и прашањето.
- Генерирајте: јазичниот модел пишува одговор врз основа на тие парчиња, по можност наведувајќи кои ги користел.
Пребарувањето по значење е она што го прави ова да работи: прашање за „враќање на парите“ може да го најде парчето со наслов „Политика за поврат“, иако немаат заеднички зборови.
Практичен пример: помошен асистент за теретана
Да речеме дека една теретана има 40 статии за помош и сака асистент за разговор на својата веб-страница. Член прашува: „Можам ли да ја паузирам членарината додека патувам?“
Апликацијата го пресметува embedding за прашањето и ги пронаоѓа трите најблиски парчиња. Едното гласи:
Замрзнување на членарина: Членовите на месечни планови можат да ја
замрзнат членарината до 2 месеци годишно. Побарајте го на рецепцијата
или во апликацијата најмалку 7 дена пред замрзнувањето да започне.
Промптот што се испраќа до моделот изгледа приблизно вака:
Ти си асистент за помош за Northside Gym.
Одговарај само од изворите подолу. Ако одговорот не е во нив,
кажи дека не знаеш и предложи контакт со рецепцијата.
Наведи кој извор го користеше.
[Извор 1: Замрзнување на членарина] Членовите на месечни планови можат да ја замрзнат...
[Извор 2: Откажување на членарината] ...
[Извор 3: Гостински пасоши] ...
Прашање: Можам ли да ја паузирам членарината додека патувам?
А моделот одговара: „Да — на месечен план можете да ја замрзнете членарината до два месеци годишно. Побарајте го на рецепцијата или во апликацијата најмалку 7 дена пред (извор: Замрзнување на членарина).“
Теретаната ништо не преучила. Кога ќе ја промени политиката за замрзнување, ја ажурира статијата, апликацијата повторно го пресметува embedding на тоа парче и следниот одговор ја одразува промената.
Клучни поими
| Поим | Значење |
|---|---|
| LLM | Голем јазичен модел — AI моделот што го пишува одговорот. Видете што е LLM. |
| Embedding | Листа броеви што го претставуваат значењето на еден текст. |
| Embedding модел | Модел што создава embeddings. Обично е одделен и многу поевтин од моделот за разговор. |
| Парче (chunk) | Дел од документ, со големина за да може самостојно да се пронајде. |
| Векторска база / векторско пребарување | Складиште што наоѓа ставки со слични embeddings. Некои обични бази го нудат тоа — на пример Postgres преку екстензијата pgvector. |
| Top-k | Колку парчиња се вршат за секое прашање. |
| Хибридно пребарување | Комбинација на пребарување по значење и обично пребарување по клучни зборови, што помага за точни термини како шифри на производи. |
| Контекстен прозорец | Максималниот текст што моделот може да прими во едно барање. |
| Заземјување / цитати | Врзување на одговорот за конкретни пронајдени извори и нивно прикажување. |
Чести заблуди
- „RAG го тренира моделот на моите податоци.“ Не. Ништо во моделот не се менува; тој само чита дополнителен текст во моментот на прашањето.
- „RAG значи без халуцинации.“ Значи помалку. Ако пребарувањето го промаши вистинското парче, или одговорот не е во вашите документи, моделот сепак може да погоди. Инструирајте го да каже „не знам“ и тестирајте со прашања чии одговори ги знаете.
- „Ми треба посебна векторска база.“ Често не. За скромни количини податоци, векторска екстензија на базата што веќе ја имате, или дури и обично пребарување по клучни зборови, може да биде доволно.
- „Поголемите парчиња се подобри.“ Преголеми — испраќате многу небитен текст (поголеми трошоци, повеќе конфузија); премали — парчето ги губи контекстот што го прави значајно. Очекувајте да прилагодувате.
- „Само качете сè.“ Застарените, дупликатите или контрадикторните документи даваат контрадикторни одговори. Чистењето на изворниот материјал често е најголемото подобрување што можете да го направите.
- „Секој може да види секој документ.“ Само ако така го направите. Ако некои документи се приватни за одредени корисници, самото пребарување мора да филтрира според тоа кој прашува — инаку асистентот може да цитира податоци од еден клиент пред друг.
Колку чини
RAG функцијата обично има три тековни трошоци: embeddings за вашите документи (мали и главно еднократни), embedding за секое прашање (многу мали) и повик до јазичниот модел (главниот трошок, кој расте со бројот на испратени парчиња). Плус складирање во вашата база на податоци. Вашиот AI провајдер ги наплаќа на вашата сметка, па поставете лимит на трошење таму.
Што да го прашате вашиот AI градител
- „Пред да градиш RAG, провери: дали нашата содржина е доволно мала за едноставно да се вклучи во промптот?“
- „Подели ги статиите за помош на парчиња од неколку пасуси, зачувај го насловот и линкот до извор на секое парче и складирај ги embeddings во нашата база.“
- „Користи хибридно пребарување — по значење плус по клучни зборови — за да се совпаѓаат и шифрите на производи.“
- „Кажи му на моделот да одговара само од пронајдените извори, да каже кога не знае и да ги прикаже изворите под секој одговор.“
- „Пребарувај само документи што најавениот корисник смее да ги види.“
- „Автоматски повторно пресметувај embedding за документ секогаш кога ќе се уреди.“
- „Чувај го клучот за AI провајдерот на серверот во тајна, никогаш во прелистувачот.“
- „Евидентирај го секое прашање, пронајдените парчиња и одговорот, за да можам да прегледам лоши одговори.“
RAG во Mythex
Mythex не вклучува готов производ за база на знаење или RAG. Она што го прави е дека го пишува кодот за таква функција во вашата апликација: вие ги донесувате вашите документи и вашиот клуч за AI провајдер, зачуван како тајна на проектот, а агентот ги гради делот за пронаоѓање и за разговор, користејќи ја Postgres базата на податоци на проектот за складирање. Користењето на провајдерот се наплаќа на вашата сметка кај провајдерот, а не во кредитите на Mythex. Документацијата предлага да започнете со една едноставна AI функција и да додадете RAG кога таа ќе работи — видете градење AI апликација, како и нашите водичи за градење AI чатбот апликација и додавање AI функции во апликацијата.
Прашања
Што е RAG едноставно кажано?
RAG (retrieval-augmented generation) е начин AI моделот да одговара од вашите сопствени информации. Пред моделот да одговори, вашата апликација ги пребарува вашите документи за пасусите најрелевантни за прашањето и ги вклучува во промптот, така што одговорот се заснова на тој текст, а не само на она што моделот го научил при обуката.
Дали RAG го тренира AI на моите податоци?
Не. RAG воопшто не го менува моделот. Тој го бара релевантниот текст во моментот кога ќе се постави прашањето и му го предава на моделот заедно со прашањето. Ако ажурирате документ, следниот одговор може веднаш да го користи новата верзија.
Дали RAG е исто што и fine-tuning?
Не. Fine-tuning го менува однесувањето на моделот со дополнително тренирање на примери, што е побавно и подобро за стил или формат. RAG му дава на моделот факти да прочита во моментот на прашањето, што е подобро за знаење што се менува или мора точно да се цитира.
Дали RAG ги спречува AI халуцинациите?
Ги намалува, но не ги отстранува. Ако пребарувањето најде погрешни пасуси или одговорот не е во вашите документи, моделот сепак може да погоди. Добрите RAG апликации му кажуваат на моделот да каже кога не знае и ги прикажуваат изворите што ги користеле.