Minule jsme viděli, že základní přístup k RAGu je velmi úspěšný zejména u dotazů, pro jejichž zodpovězení je potřeba mít specifický detailní kontext. Typicky například dotaz na název filmu, na který si uživatel nemůže vzpomenout, ale je schopen říct o čem to bylo a přidat pár takových detailů.
Nicméně jsou otázky, pro jejichž odpovězení nestačí kontext jen několika filmů, ale jsou třeba o agregacích, konceptech, žánrech, scenériích a tak podobně. Pro jejich odpovězení je tak ideální mít jednak sumarizovaný pohled a dále představu o nějakých vlastnostech, kategoriích, jejich zástupcích a vzájemných vztazích.
Technicky řečeno nestačí nám tabulka, ale graf uzlů (node) a propojení podle různých vztahů (edge, hrana) s tím, že u každého konceptu (typu nodu) potřebujeme ještě sumarizaci a vysvětlení tohoto konceptu. Tedy chceme knowledge graph.
- uzly typu Movie,
- koncepty Genre, Character, Theme, Setting a Series,
- hrany jako
IN_GENRE,FEATURES_CHARACTER,INCLUDES_THEME,SET_IN,PART_OF_SERIES, - sumarizace konceptů vytvořené LLM nad filmy, které k nim patří.