Ano ang RAG? Retrieval-Augmented Generation, Ipinaliwanag nang Simple
Ang RAG (retrieval-augmented generation) ay paraan para makasagot ang AI model sa mga tanong gamit ang sarili mong impormasyon. Kapag may nagtanong, unang hinahanap ng app mo sa mga dokumento ang pinaka-kaugnay na mga talata, saka ipinapasa ang mga iyon sa model kasama ng tanong. Isinusulat ng model ang sagot mula sa tekstong iyon sa halip na umasa lamang sa natutunan nito noong training.
Bakit mahalaga ang RAG kapag gumagawa ka gamit ang AI
Alam ng malaking language model ang maraming bagay tungkol sa mundo, pero wala itong alam sa negosyo mo: ang mga presyo mo, mga patakaran, product manual, mga support ticket noong nakaraang linggo. Mayroon din itong training cutoff, kaya hindi nito alam ang anumang bago. Kapag tinanong mo pa rin ito, maaari itong magbigay ng sagot na may kumpiyansa, mukhang tama, pero mali.
May tatlong malawak na paraan para ayusin iyan:
| Paraan | Ano ang ginagawa nito | Angkop para sa |
|---|---|---|
| I-paste ang lahat sa prompt | Ipadala ang lahat ng dokumento mo sa bawat tanong | Kaunting teksto — ilang pahina |
| RAG | Hanapin sa mga dokumento mo, ipadala lamang ang kaugnay na bahagi | Malalaki o nagbabagong koleksyon: help center, manual, tala |
| Fine-tuning | Dagdagang training ng model sa mga halimbawa | Tono, format, at paulit-ulit na gawain — hindi mga facts na nagbabago |
Tumatanggap ang mga modernong model ng mahahabang prompt, kaya sa maikling FAQ ay kadalasang maayos na ang unang opsyon. Nagiging kapaki-pakinabang ang RAG kapag mas maraming teksto kaysa gusto mong ipadala sa bawat pagkakataon — dahil ang bawat salitang ipapadala mo ay may gastos at oras (tingnan ang paano nagbabayad para sa LLM APIs).
Kung gumagawa ka ng feature na "chat with our docs", support assistant, o internal knowledge tool, halos tiyak na may anyo ka ng RAG na ginagawa.
Pang-araw-araw na paghahalintulad
Isipin ang open-book na pagsusulit. Ang estudyanteng kailangang sumagot mula sa alaala ay maaaring makalimot o manghula. Ang estudyanteng pinapayagang buklatin muna ang tamang pahina, basahin ito, at saka sumagot ay mas maaasahan — basta makita niya ang tamang pahina.
- Ang estudyante ay ang language model.
- Ang libro ay ang mga dokumento mo.
- Ang pagbubukas sa tamang pahina ay retrieval.
- Ang pagsulat ng sagot mula sa mga pahinang iyon ay generation.
Ang RAG ay ang open-book na bersyon. At, tulad sa pagsusulit, nakadepende nang husto ang kalidad ng sagot sa kung nahanap ba ang tamang pahina.
Paano gumagana ang RAG, hakbang-hakbang
Karaniwang may dalawang yugto ang RAG setup.
Paghahanda ng mga dokumento (ginagawa nang maaga):
- Kolektahin ang source material — mga help article, PDF, patakaran, product data.
- I-chunk ito: hatiin ang mahabang dokumento sa mas maliliit na piraso, kadalasan ilang talata bawat isa, para ang paghahanap ay makabalik lamang ng kaugnay na bahagi.
- I-embed ang bawat chunk: ipadala ito sa embedding model, na gagawing embedding ang teksto — isang mahabang listahan ng mga numero na kumukuha ng kahulugan nito. Ang mga tekstong tungkol sa magkakatulad na bagay ay may magkakatulad na numero.
- I-store ang mga chunk at ang kanilang embeddings sa database na kayang maghanap ayon sa pagkakatulad (madalas na tinatawag na vector database o vector index).
Pagsagot sa tanong (ginagawa sa bawat pagkakataon):
- I-embed ang tanong gamit ang parehong embedding model.
- Kunin ang mga chunk na pinakamalapit ang embeddings sa tanong — halimbawa, ang nangungunang lima.
- Buuin ang prompt: mga instruksyon, ang mga nakuhang chunk, at ang tanong.
- Generate: isusulat ng language model ang sagot batay sa mga chunk na iyon, mainam na binabanggit kung alin ang ginamit.
Ang paghahanap ayon sa kahulugan ang nagpapagana nito: ang tanong na tungkol sa "pagbabalik ng pera ko" ay makakahanap ng chunk na may titulong "Refund policy" kahit walang magkakatulad na salita.
Halimbawang gawa: assistant ng isang gym
Ipagpalagay na may 40 help article ang isang gym at gusto nitong magkaroon ng chat assistant sa website nito. Nagtanong ang isang member: "Puwede ko bang i-pause ang membership ko habang nagbibiyahe ako?"
E-embed ng app ang tanong at kukunin ang tatlong pinakamalapit na chunk. Isa sa mga ito ay ganito ang nakasulat:
Membership freeze: Maaaring i-freeze ng mga member sa buwanang plano
ang kanilang membership nang hanggang 2 buwan kada taon. Humiling sa
front desk o sa app nang hindi bababa sa 7 araw bago magsimula ang freeze.
Ang prompt na ipapadala sa model ay magmumukhang ganito:
Ikaw ang help assistant ng Northside Gym.
Sumagot lamang batay sa mga source sa ibaba. Kung wala sa mga ito
ang sagot, sabihin mong hindi mo alam at mungkahing makipag-ugnayan
sa front desk. Banggitin kung aling source ang ginamit mo.
[Source 1: Membership freeze] Maaaring i-freeze ng mga member...
[Source 2: Cancelling your membership] ...
[Source 3: Guest passes] ...
Tanong: Puwede ko bang i-pause ang membership ko habang nagbibiyahe ako?
At sasagot ang model: "Oo — sa buwanang plano, puwede mong i-freeze ang membership mo nang hanggang dalawang buwan kada taon. Humiling sa front desk o sa app nang hindi bababa sa 7 araw bago (source: Membership freeze)."
Hindi nagsanay muli ng anuman ang gym. Kapag binago nito ang patakaran sa freeze, ia-update lang ang artikulo, ire-re-embed ng app ang chunk na iyon, at ang susunod na sagot ay magpapakita na ng bago.
Mga pangunahing termino
| Termino | Ibig sabihin |
|---|---|
| LLM | Large language model — ang AI na sumusulat ng sagot. Tingnan ang ano ang LLM. |
| Embedding | Listahan ng mga numerong kumakatawan sa kahulugan ng isang piraso ng teksto. |
| Embedding model | Model na gumagawa ng embeddings. Kadalasang hiwalay sa chat model at mas mura nang malaki. |
| Chunk | Isang piraso ng dokumento, nasusukat para maibalik nang mag-isa. |
| Vector database / vector search | Storage na naghahanap ng mga item na may magkakatulad na embeddings. May ilang regular na database na mayroon din nito — halimbawa ang Postgres, sa pamamagitan ng pgvector extension. |
| Top-k | Ilang chunk ang kinukuha bawat tanong. |
| Hybrid search | Pinagsamang paghahanap ayon sa kahulugan at ordinaryong keyword search, na nakakatulong sa eksaktong termino gaya ng product code. |
| Context window | Pinakamalaking dami ng teksto na kayang tanggapin ng model sa isang request. |
| Grounding / citations | Pag-uugnay ng sagot sa tiyak na nakuhang source at pagpapakita ng mga ito. |
Mga karaniwang maling akala
- "Sinasanay ng RAG ang model sa data ko." Hindi. Walang nagbabago sa model; nagbabasa lamang ito ng dagdag na teksto sa oras ng tanong.
- "Ibig sabihin ng RAG ay wala nang hallucinations." Mas kaunti lamang. Kung nakaligtaan ng retrieval ang tamang chunk, o wala sa dokumento mo ang sagot, maaari pa ring manghula ang model. Utusan itong sabihing "hindi ko alam" at subukan ito gamit ang mga tanong na alam mo ang sagot.
- "Kailangan ko ng espesyal na vector database." Madalas hindi. Para sa katamtamang dami ng data, sapat na ang vector extension sa database na mayroon ka na, o kahit simpleng keyword search.
- "Mas maganda ang mas malalaking chunk." Kapag masyadong malaki, maraming hindi kaugnay na teksto ang naipapadala (mas mataas na gastos, mas malito); kapag masyadong maliit, nawawala sa chunk ang konteksto na nagbibigay dito ng kahulugan. Asahan mong kailangan itong ayusin.
- "I-upload na lang ang lahat." Ang luma, doble, o nagkakasalungat na mga dokumento ay nagbubunga ng nagkakasalungat na sagot. Ang paglilinis ng source material ay madalas ang pinakamalaking pagbuti na magagawa mo.
- "Kahit sino ay puwedeng makakita ng anumang dokumento." Totoo lang kung ganoon mo ito itinayo. Kung ang ilang dokumento ay pribado sa ilang user, dapat sinasala ng paghahanap mismo ang kung sino ang nagtatanong — kung hindi, maaaring sipiin ng assistant ang data ng isang customer para sa iba.
Magkano ang gastos
Karaniwang may tatlong tuloy-tuloy na gastos ang feature na RAG: ang pag-embed ng mga dokumento mo (maliit, at halos isang beses lamang), ang pag-embed ng bawat tanong (napakaliit), at ang tawag sa language model (ang pangunahing gastos, na lumalaki kasabay ng dami ng chunk na ipinapadala). Dagdag pa ang storage sa iyong database. Sinisingil ng AI provider mo ang mga ito sa sarili mong account, kaya magtakda ng spending limit doon.
Ano ang hihingin sa AI builder mo
- "Bago gumawa ng RAG, tingnan muna: sapat bang maliit ang content namin para isama na lang sa prompt?"
- "Hatiin ang mga help article sa chunk na ilang talata, itago ang pamagat at source link ng bawat chunk, at i-store ang embeddings sa database namin."
- "Gumamit ng hybrid search — ayon sa kahulugan at keyword — para magtugma pa rin ang mga product code."
- "Sabihin sa model na sumagot lamang mula sa nakuhang source, sabihin kapag hindi ito alam, at ipakita ang mga source sa ilalim ng bawat sagot."
- "Maghanap lamang ng mga dokumentong pinapayagang makita ng naka-sign in na user."
- "I-re-embed nang awtomatiko ang isang dokumento sa tuwing ito ay ie-edit."
- "Panatilihin ang AI provider key sa server bilang secret, hindi kailanman sa browser."
- "I-log ang bawat tanong, ang mga nakuhang chunk, at ang sagot para masuri ko ang mga masamang sagot."
RAG sa Mythex
Wala namang handa nang knowledge-base o RAG na produkto ang Mythex. Ang ginagawa nito ay isulat ang code para sa isa sa loob ng app mo: dadalhin mo ang mga dokumento mo at ang sarili mong AI provider key, na itatago bilang project secret, at ang agent ang bubuo ng bahagi ng retrieval at chat, gamit ang Postgres database ng project para sa storage. Ang paggamit ng provider ay sinisingil sa account ng provider mo, hindi sa Mythex credits. Iminumungkahi ng mga docs na magsimula sa isang simpleng AI feature at idagdag ang RAG kapag gumana na iyon — tingnan ang pagbuo ng AI app, at ang aming mga gabay tungkol sa paggawa ng AI chatbot app at pagdaragdag ng AI features.
Mga tanong
Ano ang RAG sa simpleng salita?
Ang RAG (retrieval-augmented generation) ay paraan para makasagot ang AI model gamit ang sarili mong impormasyon. Bago sumagot ang model, hinahanap ng app mo sa mga dokumento mo ang mga talatang pinakakaugnay sa tanong at isinasama ang mga ito sa prompt, kaya ang sagot ay batay sa tekstong iyon at hindi lamang sa natutunan ng model noong training.
Sinasanay ba ng RAG ang AI sa data ko?
Hindi. Hindi binabago ng RAG ang model. Naghahanap lamang ito ng kaugnay na teksto sa sandaling may itinanong, at ipinapasa ito sa model kasama ng tanong. Kapag na-update mo ang isang dokumento, maaaring gamitin agad ng susunod na sagot ang bagong bersyon.
Pareho ba ang RAG sa fine-tuning?
Hindi. Binabago ng fine-tuning ang ugali ng model sa pamamagitan ng dagdag na training sa mga halimbawa, na mas mabagal at mas mainam para sa istilo o format. Ang RAG naman ay nagbibigay sa model ng mga facts na babasahin sa oras ng tanong, mas mainam para sa kaalamang nagbabago o kailangang sipiin nang tama.
Pinipigilan ba ng RAG ang AI hallucinations?
Binabawasan nito ang mga ito pero hindi tuluyang inaalis. Kung mali ang mga talatang nahanap, o wala sa mga dokumento mo ang sagot, maaari pa ring manghula ang model. Ang mahusay na RAG app ay nagsasabi sa model na sabihin kapag hindi ito alam at ipinapakita ang mga source na ginamit.