9 примера за RAG въз основа на реални случаи на употреба и архитектури
Разгледайте девет реални примера за RAG – от уеб търсене и клиентска поддръжка до агентна търговия и анализ на данни – както и архитектурите зад тях.

RAG се използва широко както в потребителски, така и в корпоративни контексти. Реални примери от ежедневието за RAG включват уеб търсене, клиентска поддръжка и пазаруване с поддръжка на ИИ. Достъпът до вътрешни знания и помощта при писане на код са сред най-изявените бизнес примери.
Архитектурата на RAG може също да варира в зависимост от случаите на употреба. Две от най-често срещаните реализации са хибридният RAG, който съчетава традиционното съвпадение на ключови думи с търсене по вектор или граф на знанието, и агентният RAG, при който голям езиков модел (LLM) ръководи процеса на извличане.
Какво представлява генерирането, подсилено с извличане (RAG)?
RAG или генерирането, подсилено с извличане, позволява на приложенията с изкуствен интелект да получават достъп до информация, съхранявана във външни системи, за да допълват отговорите, генерирани от LLM.
Това е мощна технология, тъй като решава три основни проблема с генеративния ИИ: халюцинациите, остарялата информация и липсата на достъп до данни, които не са включени във входния контекст.
Ето как изглежда основният процес на RAG:
- Потребителят въвежда заявка на естествен език.
- Приложението с изкуствен интелект определя дали е необходимо заземяване, понякога с участието на LLM.
- Изпраща се заявка към външен източник на информация, като например база данни.
- Извлечената информация се добавя към входния контекст на LLM.
- LLM генерира отговор въз основа на разширената заявка.
Въпреки че те могат да варират в конкретната си реализация, тези стъпки представляват типичен работен процес на RAG. Разликите между различните видове архитектура обикновено се фокусират върху начина, по който заявките се обработват от клиентското приложение, и естеството на извличаната информация.
Преглед на архитектурата на RAG
Терминът „генериране, подсилено с извличане“ се появява за първи път в документ от 2020 г., озаглавен Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, публикуван от изследователи от Meta AI (тогава Facebook AI Research) заедно със сътрудници от University College London и New York University.
Ранните подходи „извличане, последвано от генериране“, наричани неофициално „примитивен RAG“, впоследствие се развиха в асортимент от различни видове архитектури, много от които се припокриват.
Примитивен RAG
Примитивният RAG използва опростен конвейер за извличане и генериране, който все още е подходящ за много основни заявки. Най-често срещаният пример за примитивен RAG е преобразуването на заявка в подреден списък от числа, наречен векторен вграден обект (векторно вграждане) или просто вектор. След това векторът на заявката се съчетава с други вектори, които представляват фрагменти – части от съдържание в база данни или индекс (наричан семантичен индекс).
Усъвършенстван RAG
Усъвършенстваният RAG оптимизира етапите преди и след извличането. Техниките включват разширяване на заявката, филтриране по метаданни и компресиране на контекста. Те съществено подобряват релевантността на извлечената информация и начина, по който тя се модифицира, преди да бъде добавена към входния контекст на LLM.
Агентен RAG
Агентният RAG представлява изпълнението на RAG конвейери от агент, базиран на LLM. Агентът „решава“ кои инструменти са най-подходящи за дадена заявка и ръководи извличането, понякога в цикличен процес, за да генерира релевантен отговор.
Графов RAG
Графовият RAG извлича информация от граф на знанието, който представя обекти (като обекти, концепции и събития) и връзките между тях. Това е полезно, когато отговорът на заявка изисква LLM да комбинира информация за различни обекти.
Мултимодален RAG
Мултимодалният RAG разширява извличането до съдържание като изображения и аудио както по време на заявката, така и при извличането. Тези RAG конвейери използват специални енкодери за преобразуване на текст, изображения или аудио във векторни вграждания.
Хибриден RAG
Хибридният RAG съчетава търсене по ключови думи или лексикално извличане с векторно извличане или графове на знанието и обединява резултатите. Това е полезно, тъй като съвпадението на ключови думи може да бъде изключително точно (по-точно от други методи) в определени контексти.
Корективен RAG
Корективният Rag оценява върнатата информация или данни за релевантност към заявката. Той може да прецизира или допълни извлечените откъси или да ги замени изцяло чрез изпълнение на друга заявка.
Примери за RAG по случай на употреба и индустриално приложение
Съществуват множество примери за RAG както в потребителската, така и в бизнес сфера. Това се дължи до голяма степен на факта, че RAG конвейерите са интегрирани в повечето основни инструменти. Освен това много доставчици предлагат готови интеграции, например за чатботове за обслужване на клиенти, което улесни приемането им.
1. Уеб търсене
Уеб търсенето е един от най-разпространените примери за RAG. Всеки ден милиони хора използват инструменти с изкуствен интелект за генериране на отговори, основани на информация, извлечена от уеб.
Как работи: Приложението с изкуствен интелект търси в уеб индекс, като например индекса на Google Search, като използва базирано на ключови думи и семантично извличане. Релевантното съдържание на страницата се включва заедно с въпроса на потребителя във входа на LLM. След това LLM генерира отговор, обикновено с цитиране на източниците.
Пример от реалния свят: Ако потребител въведе проста заявка в интерфейса за чат на Perplexity, като например „Какво е времето в Чикаго?“, LLM ще извърши уеб търсене, за да намери актуална информация. Perplexity използва проприетарен уеб индекс в съчетание с партньорски API за търсене.
2. Поддръжка на клиенти
Чатботовете в приложенията и уебсайтовете се утвърдиха като основен корпоративен случай на употреба на RAG. Тези системи обикновено се комбинират с традиционни маршрутизационни пътища, което намалява нуждата от намеса на представители по поддръжката.
Как работи: Когато клиент зададе въпрос, приложението търси в базата от знания на компанията, често използвайки хибриден конвейер. Извлечените откъси се подават към LLM, който генерира отговор. Обикновено са налице и коригиращи процеси и процеси по прехвърляне за валидиране на отговора и, когато е необходимо, насочване към представител.
Пример от реалния свят: Различни платформи за обслужване на клиенти, включително Zendesk (на снимката по-долу) и Intercom, предлагат готови за употреба чатботове за поддръжка на клиенти, които се интегрират със съществуваща документация и бази за поддръжка на клиенти.
3. Лични асистенти
Личните асистенти използват агентен RAG за достъп до имейлите, файловете и календара на потребителя. Тези асистенти обикновено могат да изпълняват множество RAG конвейери.
Как работи: Тъй като личните асистенти често изискват достъп до множество източници на информация, те използват комбинация от API, търсене по ключови думи, векторно търсене и графове на знанието. Различни описания на инструменти се изпращат от приложението към LLM, който след това избира най-подходящите.
Пример от реалния свят: Google Gemini служи за добър пример на приложение, което може да действа като общ и личен AI асистент (какъвто е случаят с повечето асистенти в днешно време). То се интегрира с екосистема от инструменти като Gmail, Docs, Photos и Calendar.
4. Управление на корпоративни знания
Управлението на корпоративни знания позволява на служителите да задават въпроси в голям обем от фирмена информация, включително политики, отчети, проектни документи, правни текстове и дори вътрешни дискусии.
Как работи: Приложението извлича релевантно съдържание, като използва векторен индекс, който се актуализира с промяната на изходните документи. Индексът съдържа вграждания, представляващи фрагменти от документи, с връзки към техния текст и свързаните метаданни.
Пример от реалния свят: Microsoft 365 Copilot осъществява достъп до организационна информация чрез Microsoft Graph, който предоставя различни API за източници на данни, и използва лексикални и семантични индекси за извличане на релевантно съдържание.
5. Асистенти за програмиране
Асистентите за програмиране прилагат RAG към кодова база. Въпреки че основният процес на RAG е същият (обикновено агентен RAG), разликата е, че те работят специално с контекст на кода.
Как работи: Асистентите за програмиране индексират локални проектни файлове и извършват множество проучвания за търсене, за да намерят релевантни фрагменти от код при отправяне на заявка. Тези асистенти обикновено разполагат и със специални конектори за разширяване на достъпа, например към корпоративни бази от знания.
Пример от реалния свят: GitHub Copilot е добре известен пример за асистент за програмиране, който се интегрира директно с проекти за разработка. Той може също така да прави препратки към публични хранилища на GitHub, за да повиши точността на отговорите.
6. Техническо отстраняване на неизправности
Техническото отстраняване на неизправности интегрира RAG конвейер за управление на знания с диагностичен цикъл. Един агент може да оценява резултатите за допълнително прецизиране на препоръките за отстраняване на неизправности при необходимост.
Как работи: Приложението събира симптоми на технически проблем от потребителя или получава автоматизирани предупреждения за мониторинг. То задейства търсене на съобщения за грешки, технически логове и показатели за производителност за кръстосана проверка на симптомите. След това то извлича релевантна информация от вътрешна база от знания, за да я предаде на LLM. Диагностичният цикъл се осъществява, когато резултатите от опита за корекция бъдат върнати обратно в LLM – било то от потребителя или от диагностичен инструмент.
Пример от реалния свят: Платформата за наблюдаемост Datadog (на снимката по-долу) събира данни от всички слоеве на системата, като маркира всички проблеми при възникването им. След това те се подават към специализиран AI агент, наречен Bits AI, за отстраняване на потенциални неизправности.
7. Агентна търговия
Агентната търговия е по-широк случай на употреба, който обикновено включва RAG. Агент за пазаруване извлича подробности като спецификации на продукти, отзиви, цени и наличност, за да сравнява опции и да обяснява препоръки. След това той може автоматично да извърши покупката, без потребителят да напуска интерфейса.
Как работи: Агентната търговия е истински агентен RAG, тъй като конкретните заявки често изискват различни форми на извличане, които моделът насочва. Един агент може да извлича продуктови данни само с текст чрез API на търговец на дребно или да използва мултимодален RAG, за да съпоставя продукти в семантичен индекс въз основа на потребителска снимка.
Пример от реалния свят: Агент с общо предназначение като Perplexity може да извлича множество изображения и подробни продуктови спецификации въз основа на заявка. Функцията за плащане Instant Buy позволява на потребителя да завърши покупката след избор на продукт.
8. Специализирани области на знанието
Инструментите с изкуствен интелект, които извличат специализирани знания за дадена област, трябва да се справят със сложни формати на съдържанието. Освен това минимизирането на халюцинациите и информационните пропуски често е приоритет.
Как работи: Основната разлика между архитектурите за RAG с общо предназначение и специализираните такива е свързана с изходния материал и конфигурацията за извличане. Обикновено се прави заявка само към силно авторитетен индекс, а заявката се конфигурира така, че да включва специфична терминология за тесене на търсенията.
Пример от реалния свят: Академичният изследователски инструмент Scite осъществява достъп до голям индекс от академични доклади и данни за цитиране, изграден чрез споразумения с издатели и източници с отворен достъп. Той също така прилага проверки след извличането, като например проверка на източниците, преди да генерира пълен отговор.
9. Анализ на данни
RAG за анализ на данни се превърна в особено мощен корпоративен случай на употреба, тъй като позволява на широк кръг от професионалисти, особено на тези без обучение по наука за данните, да правят заявки към набори от данни, използвайки естествен език. Това улеснява генерирането на отчети и задаването на изключително специфични въпроси.
Как работи: За въпрос като „Защо продажбите спаднаха през последното тримесечие?“, приложението може да направи заявка към записи за продажби и да извлече бележки относно недостига на стоки или промените в цените. LLM избира подходящото изчисление (което обикновено се делегира на инструмент за изчисления) за извлечените данни, преди да генерира анализ.
Пример от реалния свят: Google Analytics предлага чатбот AI „Ask Advisor“, който има достъп до данни за уеб анализи и може да отговаря на изключително специфични и нюансирани въпроси от потребители. Това е един от най-добрите примери от реалния свят за RAG от корпоративен клас със затворена система.
Какво предстои в еволюцията на RAG?
RAG беше значително постижение, когато беше въведен за първи път. Той помогна за справяне с много от проблемите, присъщи на самостоятелните LLM.
Въпреки това той е далеч от статична технология. Настоящите изследвания са насочени към по-задълбочено мултимодално извличане и по-прецизна обработка на извлечения контекст с цел точност и коректност. Освен това вероятно ще станем свидетели на по-голяма интеграция на RAG в агенти с множество инструменти.
Дори при изключително големи контекстни прозорци съществуват важни случаи на употреба на RAG както в личен, така и в професионален контекст, като предстоят още много иновации.