Dáta a znalostné systémy · Článok
Čo je RAG a kedy dáva zmysel
Retrieval-Augmented Generation kombinuje vyhľadávanie v znalostiach s generovaním odpovede. Pomáha najmä tam, kde model potrebuje aktuálne alebo interné fakty.
RAG znamená Retrieval-Augmented Generation, teda generovanie odpovede doplnené vyhľadávaním. Namiesto toho, aby jazykový model odpovedal iba zo svojich parametrov, systém najprv vyhľadá relevantné dokumenty alebo úseky textu a tie pridá do promptu ako kontext.
Ako funguje základný tok
Najprv sa dokumenty rozdelia na menšie časti. Pre každú časť sa vytvorí embedding, teda číselná reprezentácia významu. Keď príde otázka, systém vyhľadá najpodobnejšie časti, vloží ich do promptu a model z nich zostaví odpoveď. Kvalita výsledku závisí od vyhľadávania, od rozdelenia dokumentov aj od inštrukcie pre model.
Kedy RAG dáva zmysel
RAG je vhodný, keď odpoveď závisí od interných dokumentov, technickej dokumentácie, firemných pravidiel, zákonov, produktových dát alebo často menených informácií. Model nemusí mať tieto fakty v tréningu a aj keby ich mal, nemáme istotu, že ich použije presne. RAG mu dá konkrétny materiál, z ktorého má čerpať.
Čo RAG nerieši automaticky
RAG nie je magické odstránenie halucinácií. Ak vyhľadávanie nájde zlý úsek, ak dokument obsahuje chybu alebo ak prompt dovolí modelu dopĺňať nepodložené tvrdenia, odpoveď môže byť stále nesprávna. Preto treba testovať retrieval metriky, citácie a správanie pri otázkach, na ktoré dokumenty neobsahujú odpoveď.
Dobré praktiky
Dokumenty ukladaj s metadátami, napríklad názov, dátum, verzia a zdroj. Chunky majú byť dosť krátke na presné vyhľadanie, ale dosť bohaté na kontext. Odpoveď by mala vedieť priznať, že zdroj nestačí. Pri citlivých témach je vhodné zobraziť citované pasáže alebo aspoň odkazy na zdrojové dokumenty.
Zdroje a kontrola reality
- Primárny zdroj: Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, https://arxiv.org/abs/2005.11401
- Podporný zdroj: Reimers and Gurevych, Sentence-BERT, https://arxiv.org/abs/1908.10084
- Podporný zdroj: NIST AI Risk Management Framework, https://www.nist.gov/itl/ai-risk-management-framework