Vodiči

Što je RAG? Retrieval-Augmented Generation jednostavno objašnjeno

RAG (retrieval-augmented generation) je način da AI model odgovara na pitanja koristeći vaše vlastite informacije. Kad netko postavi pitanje, vaša aplikacija prvo pretraži dokumente za najrelevantnijim odlomcima, a zatim te odlomke prosljeđuje modelu zajedno s pitanjem. Model piše odgovor iz tog teksta, a ne oslanjajući se samo na ono što je slučajno naučio tijekom treniranja.

Zašto je RAG važan kad gradite uz AI

Velik jezični model zna mnogo o svijetu općenito, ali ništa o vašem poslovanju: vašim cijenama, pravilima, priručniku proizvoda, prošlotjednim tiketima podrške. Također ima datum završetka treniranja, pa ne zna ništa o nedavnim događajima. Ako ga ipak pitate, može dati samouvjeren, uvjerljiv i pogrešan odgovor.

Za to imate tri široka pristupa:

PristupŠto radiDobro za
Ubaciti sve u promptPoslati sve dokumente uz svako pitanjeMalo teksta, nekoliko stranica
RAGPretražiti dokumente i poslati samo relevantne dijeloveVeće ili promjenjive zbirke: centri za pomoć, priručnici, bilješke
Fine-tuningDodatno trenirati model na primjerimaTon, format i ponavljajuće zadatke, a ne činjenice koje se mijenjaju

Moderni modeli prihvaćaju duge promptove, pa je za kratki FAQ prvi pristup često dovoljan. RAG se isplati kad imate više teksta nego što želite slati svaki put, jer svaka riječ koju pošaljete košta novac i vrijeme (vidi kako LLM API-ji naplaćuju).

Ako gradite funkciju „razgovaraj s našim dokumentima“, asistenta za podršku ili internu bazu znanja, gotovo sigurno gradite neki oblik RAG-a.

Svakodnevna usporedba

Zamislite ispit s otvorenom knjigom. Student koji mora odgovoriti napamet može pogriješiti ili nagađati. Student kojem je dopušteno da prvo otvori prave stranice, pročita ih i tek onda odgovori puno je pouzdaniji, pod uvjetom da pronađe prave stranice.

  • Student je jezični model.
  • Udžbenik su vaši dokumenti.
  • Otvaranje pravih stranica je pretraživanje (retrieval).
  • Pisanje odgovora iz tih stranica je generiranje.

RAG je verzija s otvorenom knjigom. I kao na ispitu, kvaliteta odgovora uvelike ovisi o tome jesu li pronađene prave stranice.

Kako RAG radi, korak po korak

Tipično RAG postavljanje ima dvije faze.

Priprema dokumenata (radi se unaprijed):

  1. Prikupite izvorni materijal: članke za podršku, PDF-ove, pravila, podatke o proizvodima.
  2. Podijelite (chunk) tekst: dugi dokumenti dijele se na manje dijelove, često po nekoliko odlomaka, da pretraga može vratiti samo relevantni dio.
  3. Izračunajte embedding za svaki dio: pošaljite ga embedding modelu, koji tekst pretvara u embedding, dug niz brojeva koji hvata njegovo značenje. Tekstovi o sličnim stvarima završe s sličnim brojevima.
  4. Spremite dijelove i njihove embeddinge u bazu podataka koja može pretraživati po sličnosti (često se zove vektorska baza ili vektorski indeks).

Odgovaranje na pitanje (radi se svaki put):

  1. Izračunajte embedding pitanja istim embedding modelom.
  2. Dohvatite dijelove čiji su embeddinzi najbliži pitanju, primjerice prvih pet.
  3. Sastavite prompt: upute, dohvaćeni dijelovi i pitanje.
  4. Generirajte: jezični model piše odgovor na temelju tih dijelova, po mogućnosti navodeći koje je koristio.

Pretraga po značenju je ono što čini da ovo radi: pitanje o „vraćanju novca“ može pronaći dio naslovljen „Politika povrata“, iako nemaju nijednu zajedničku riječ.

Primjer na djelu: pomoćnik jedne teretane

Recimo da teretana ima 40 članaka za pomoć i želi chat asistenta na svojoj web stranici. Član pita: „Mogu li zamrznuti članarinu dok putujem?“

Aplikacija izračuna embedding pitanja i dohvati tri najbliža dijela. Jedan od njih glasi:

Zamrzavanje članstva: Članovi s mjesečnim planom mogu zamrznuti
članstvo do 2 mjeseca godišnje. Zatražite na recepciji ili u
aplikaciji najmanje 7 dana prije početka zamrzavanja.

Prompt koji se šalje modelu tada izgleda otprilike ovako:

Ti si pomoćnik za pomoć u teretani Northside Gym.
Odgovaraj samo iz izvora ispod. Ako odgovora nema u njima,
reci da ne znaš i predloži kontakt s recepcijom.
Spomeni koji si izvor koristio.

[Izvor 1: Zamrzavanje članstva] Članovi s mjesečnim planom mogu zamrznuti...
[Izvor 2: Otkazivanje članstva] ...
[Izvor 3: Gostujuće propusnice] ...

Pitanje: Mogu li zamrznuti članarinu dok putujem?

Model odgovara: „Da, s mjesečnim planom možete zamrznuti članstvo do dva mjeseca godišnje. Zatražite na recepciji ili u aplikaciji najmanje 7 dana prije (izvor: Zamrzavanje članstva).“

Teretana ništa nije ponovno trenirala. Kad promijeni pravilo o zamrzavanju, ažurira članak, aplikacija ponovno izračuna embedding tog dijela i sljedeći odgovor odražava promjenu.

Ključni pojmovi

PojamZnačenje
LLMVeliki jezični model, AI koji piše odgovor. Vidi što je LLM.
EmbeddingPopis brojeva koji predstavljaju značenje nekog teksta.
Embedding modelModel koji proizvodi embeddinge. Obično je odvojen od chat modela i puno jeftiniji.
ChunkDio dokumenta, veličine koja omogućuje da se dohvati samostalno.
Vektorska baza / vektorska pretragaPohrana koja pronalazi stavke sa sličnim embeddingima. Neke obične baze to također nude, primjerice Postgres kroz ekstenziju pgvector.
Top-kKoliko se dijelova dohvati po pitanju.
Hibridna pretragaKombinacija pretrage po značenju i obične pretrage po ključnim riječima, što pomaže kod točnih pojmova poput šifri proizvoda.
Kontekstni prozorNajveća količina teksta koju model može primiti u jednom zahtjevu.
Utemeljenje / citatiVezanje odgovora za određene dohvaćene izvore i njihovo prikazivanje.

Česte zablude

  • „RAG trenira model na mojim podacima.“ Ne trenira. Ništa se ne mijenja u modelu; on samo čita dodatni tekst u trenutku pitanja.
  • „RAG znači bez halucinacija.“ Znači manje njih. Ako pretraga promaši pravi dio ili odgovora nema u vašim dokumentima, model i dalje može pogađati. Uputite ga da kaže „ne znam“ i testirajte pitanjima čije odgovore poznajete.
  • „Treba mi posebna vektorska baza.“ Često ne treba. Za skromne količine podataka dovoljna može biti vektorska ekstenzija baze koju već imate, ili čak obična pretraga po ključnim riječima.
  • „Veći dijelovi su bolji.“ Preveliki šalju puno nerelevantnog teksta (više troška, više zbunjenosti), a premali gube kontekst koji ih čini smislenima. Očekujte podešavanje.
  • „Samo uploadajte sve.“ Zastarjeli, dupli ili proturječni dokumenti daju proturječne odgovore. Čišćenje izvornog materijala često je najveće poboljšanje koje možete napraviti.
  • „Svatko može vidjeti svaki dokument.“ Samo ako ga tako izgradite. Ako su neki dokumenti privatni za određene korisnike, sama pretraga mora filtrirati prema tome tko pita, inače asistent može citirati podatke jednog kupca drugom.

Koliko košta

RAG značajka obično ima tri tekuća troška: embedding vaših dokumenata (malen, uglavnom jednokratan), embedding svakog pitanja (sitan) i poziv jezičnom modelu (glavni trošak, koji raste s brojem poslanih dijelova). Tu je i pohrana u vašoj bazi podataka. Vaš AI pružatelj naplaćuje ove stavke na vaš račun, pa postavite ograničenje potrošnje tamo.

Što pitati svog AI alata za izradu

  • „Prije izrade RAG-a provjeri: je li naš sadržaj dovoljno malen da ga jednostavno uključimo u prompt?“
  • „Podijeli članke za pomoć na dijelove od nekoliko odlomaka, zadrži naslov i poveznicu izvora svakog dijela i spremi embeddinge u našu bazu podataka.“
  • „Koristi hibridnu pretragu, po značenju plus po ključnim riječima, da šifre proizvoda i dalje odgovaraju.“
  • „Reci modelu da odgovara samo iz dohvaćenih izvora, da kaže kad ne zna i da ispod svakog odgovora prikaže izvore.“
  • „Pretražuj samo dokumente koje prijavljeni korisnik smije vidjeti.“
  • „Automatski ponovno izračunaj embedding dokumenta kad se uredi.“
  • „Čuvaj ključ AI pružatelja na serveru u tajnoj vrijednosti, nikad u pregledniku.“
  • „Zapisuj svako pitanje, dohvaćene dijelove i odgovor da mogu pregledati loše odgovore.“

RAG u Mythexu

Mythex ne uključuje gotov proizvod za bazu znanja ili RAG. Ono što radi jest da u vašoj aplikaciji napiše kod za takav sustav: vi donosite dokumente i svoj ključ AI pružatelja, spremljen kao tajna projekta, a agent izgrađuje dijelove za dohvat i chat, koristeći Postgres bazu podataka projekta za pohranu. Korištenje pružatelja naplaćuje se na račun vašeg pružatelja, a ne u Mythex kreditima. Dokumentacija preporučuje da počnete s jednom jednostavnom AI značajkom i dodate RAG kad ona radi. Pogledajte izradu AI aplikacije, a za daljnje čitanje naši vodiči o izradi chatbot aplikacije s AI-jem i dodavanju AI značajki u aplikaciju.

Pitanja

Što je RAG, jednostavno rečeno?

RAG (retrieval-augmented generation) je način da AI model odgovara iz vaših vlastitih informacija. Prije nego model odgovori, vaša aplikacija pretraži vaše dokumente za odlomcima koji su najrelevantniji za pitanje i uključi ih u prompt, pa je odgovor utemeljen na tom tekstu, a ne samo na onome što je model naučio tijekom treniranja.

Trenira li RAG AI na mojim podacima?

Ne. RAG uopće ne mijenja model. Traži relevantan tekst u trenutku kad se postavi pitanje i prosljeđuje ga modelu zajedno s pitanjem. Ažurirate dokument, a sljedeći odgovor može odmah koristiti novu verziju.

Je li RAG isto što i fine-tuning?

Nije. Fine-tuning mijenja ponašanje modela tako da ga dodatno trenirate na primjerima, što je sporije i bolje za stil ili format. RAG modelu daje činjenice koje čita u trenutku pitanja, što je bolje za znanje koje se mijenja ili mora biti točno citirano.

Zaustavlja li RAG AI halucinacije?

Smanjuje ih, ali ih ne uklanja u potpunosti. Ako pretraga pronađe krive odlomke ili odgovor uopće nije u vašim dokumentima, model i dalje može pogađati. Dobre RAG aplikacije govore modelu da kaže kad ne zna i prikazuju izvore koje su koristile.

Mythex · Pricing · Izradite bilo što uz AI · Predlošci za web stranice i aplikacije · Mythex u usporedbi · Rječnik izrade aplikacija uz AI · Besplatni alati za izradu aplikacija uz AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)