Табыстар:
- RAG модельдің салмағын өзгертпестен контекстті енгізетінін және «ашық кітап емтиханы» логикасымен жұмыс істейтінін түсіндіру
- RAG-ны құнына, уақтылылығына және пайдалану сценарийіне сәйкес нақты баптау және ұзақ контекстік тәсілдермен салыстыру
- Индекстеу және сұрау фазаларынан тұратын әдеттегі RAG құбырының қадамдарын тізімдеу
Тілдік модель (мәтінді түсінетін және шығаратын жасанды интеллект; біз оны бұдан былай қысқаша үлгі деп атайтын боламыз) қаншалықты күшті болса да, ол кеше сіздің компанияңыз қол қойған келісімшартты, ішкі вики (ішкі білім базасы) бетін немесе бүгін таңертең жарияланған шығарылым жазбасын білмейді. Модель дайындалған күнге дейін жалпы біліммен шектеледі; Бұл «білім беруді тоқтату күні» деп аталады. RAG (Retrieval-Augmented Generation) дәл осы олқылықты толтырады: ол сұраққа қатысты компания құжаттарын табады, оны контекст ретінде модельге береді (яғни, жауапты шығару кезінде оқитын қосымша мәтін) және осы контекст негізінде дайындалған жауап бар.
Бұл блокта біз RAG дегеннің не екенін, қай баламалардан артықшылықты қашан және әдеттегі RAG құбырының қадамдарын анық көреміз. Барлық келесі бөлімдер осы картаның бөліктерін бір-бірлеп тереңдетеді.
RAG негізгі идеясы: ашық кітап емтиханы
RAG бір сөйлеммен түсіндіріп көрейік: «Алдымен сәйкес құжатты табыңыз, содан кейін үлгіге сол құжатты оқып, сәйкесінше жауапты басып шығарыңыз».
Ең пайдалы ұқсастық мынада: RAG модельді «жабық кітап емтиханынан» «ашық кітап емтиханына» ауыстырады. Жабық кітап емтиханында студент тек жадынан жауап береді; Есіңізде жоқ нәрсені ойлап табу қаупі жоғары. Ашық кітап емтиханында студент алдына қойылған дереккөзге қарап жауап береді. RAG-де модель енді өз жадынан жауап бермейді, бірақ сіз оны беретін ағымдағы және нақты мәтіннен жауап береді.
Сыни нүкте: RAG модельдің салмағын, яғни модель үйренген миллиардтаған сандық параметрлерді өзгертпейді. Сіз үлгіні қайта жаттықтырмайсыз. Әрбір сұрақ үшін сұрауға сол сұраққа қатысты мәтін бөліктерін енгізесіз (үлгіге жіберілген нұсқау мәтіні). Сондықтан құжат жаңартылған кезде үлгіні қайта оқытудың қажеті жоқ; іздеу дерекқорындағы тиісті жазбаны жаңартасыз.
Кеңес: RAG сапасын екі сұрақ анықтайды: (1) Сіз дұрыс құжатты таптыңыз ба? (2) Үлгі оны дұрыс оқыды ма? Біріншісі «іздеу сапасы», екіншісі «ұрпақ сапасы». Екеуі бөлек өлшенеді және жетілдіріледі.
RAG, дәл баптау немесе ұзақ контекст?
Ұйымдастыру мәселесінің шешімін іздегенде үш жол жиі шатастырылады. Олардың айырмашылықтарын анықтайық. Нақты баптау - бұл модельдің салмағын деректермен жаңарту және оған жаңа мінез-құлыққа/стильге үйрету. Ұзын мәтінмән барлық құжаттарды таңдаусыз тікелей сұрауға толтыруды білдіреді.
Тәсіл
Не істейді
Қашан орынды?
Құн / тәуекел
RAG
Сәйкес құжатты мәтінмән ретінде енгізеді
Жиі өзгеретін, ауқымды, нақты ақпарат
Төмен; жаңарту оңай, дереккөзге сілтеме жасауға болады
Нақты баптау
Салмақтарды жаңа деректермен жаңартады
Тұрақты стиль/формат/тілді оқыту
Жоғары; Әр жаңартумен қайта даярлау қажет
Тек ұзақ контекст
Барлық құжаттарды сұрауға толтырады
Шағын, тұрақты құжаттар жинағы
Токен құны және «ортаңғы бөлікті жоғалту» қаупі артады
Ереже бойынша: Нақты баптау модельді сөйлеуге үйретеді; RAG модельге не білу керектігін айтады. Кәсіпорын сценарийлерінің көпшілігінде RAG алдымен сыналады, себебі ол арзан, жаңартылатын және жауаптың көзін көрсете алады. Құжаттар жинағы шынымен кішкентай және бекітілген болса, ұзақ контекст орынды болады (мысалы, 20 беттік бір нұсқаулық); Бірақ мыңдаған беттермен бұл қымбат және модель ұзын мәтіннің ортасында ақпаратты жіберіп алуы мүмкін.
Әдеттегі RAG құбыры
RAG екі негізгі кезеңнен тұрады: индекстеу (дайындау, бір рет немесе мерзімді түрде орындалады) және сұрау (әрбір пайдаланушы сұрағы бойынша орындалады).
Қадамдық индекстеу (офлайн, пайдаланушы күтпей):
- Жинау: Құжаттарды дереккөздерден алыңыз (PDF, wiki, билет жүйесі, дерекқор, электрондық пошта).
- Бөлшектеу: Ұзын мәтінді басқаруға болатын кішірек бөліктерге бөліңіз.
- Енгізу: әрбір бөлікті ендіруге түрлендіру (мәтіннің мағынасын беретін сан векторы).
- Сақтау: векторларды мәтінмен және метадеректермен бірге (көзі, күні, авторизация ақпараты) векторлық дерекқорға жазыңыз.
Қадамдық сұрау (онлайн, пайдаланушы күту кезінде):
- Пайдаланушының сұрағын ендіруге түрлендіру.
- Векторлық дерекқордан ең ұқсас бөліктерді шығарып алыңыз.
- Осы бөліктерді + сұрақты шақыру үлгісіне орналастырыңыз.
- Үлгіден мәтінмәндік жауапты және оның көздерін алыңыз.
# Сұрау кезеңінің тұжырымдамалық құрылымы (тілге байланысты емес)question = "Жыл сайынғы еңбек демалысы қанша күн?"question_vektor = embed(question)parts = vektor_db.search(question_vektor, top_k=4) # ең ұқсас бөліктерprompt = f"""СҰРАҚқа жауап беріңіз. Төмендегі мәтінде "Жоқ" деген жауап жоқ болса, менде "Жоқ" деп айтыңыз. бұл." Fitting.CONTEXT:{бөліктер}СҰРАҚ: {сұрақ}"""жауап = model.uret(пром) # мысалы. үлгі: Клауд-опус-4-8
Бұл ағын әрбір кезеңнің картасы, біз оны келесі бөлімдерде бір-бірден ашамыз.
Әлсіз шақыру / Күшті шақыру
Тіпті бірдей RAG мәтінмәнімен, шақыру сапасы жауапты өзгертеді.
Әлсіз шақыру (үлгіні орнатуға ашық, ресурстарды қажет етпейді):
Бұл ақпаратты пайдаланыңыз және жыл сайынғы демалысты айтыңыз: {parts}. Сұрақ: {question}
Күшті шақыру (жерге қосу + «Мен білмеймін» рұқсаты + ресурс сұрауы):
Төмендегі КОНТЕКСТ негізінде ғана жауап беріңіз. Егер контексте нақты жауап болмаса, «Мен бұл туралы құжаттамадан ақпаратты таба алмадым» деп жазыңыз; Болжамаңыз. Жауаптың соңына сенетін бөліктің [Дереккөз: файл_атауы] тегін қосыңыз. КОНТЕКС: {дана} СҰРАҚ: {question}
Үш шағын корпус
1-жағдай — HR көмекшісі (адам ресурстары). Компанияда 340 беттік HR анықтамалығы бар және қызметкерлер күніне орта есеппен 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 сапасы" принципін өз жағдайыма бейімдей аламын.