Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Retrieval-Augmented generációs (RAG) minta iparági szabványnak megfelelő módszer az olyan alkalmazások létrehozására, amelyek nyelvi modellekkel dolgoznak fel olyan konkrét vagy védett adatokat, amelyeket a modell még nem ismer. Az architektúra egyszerű, de az architektúrához illeszkedő RAG-megoldások tervezése, kísérletezése és értékelése számos összetett szempontot foglal magában, amelyek a szigorú, tudományos megközelítés előnyeit élvezik.
Ez a cikk egy sorozat bevezetője. A sorozat minden cikke a RAG-megoldások tervezésének egy adott fázisát ismerteti.
A sorozat további cikkei a következő szempontokat ismertetik:
- A kiértékelés során használandó tesztdokumentumok és lekérdezések meghatározása
- Részstratégia kiválasztása
- Hogyan állapítható meg, hogy mely adattömböket kell gazdagítani, és hogyan gazdagíthatja őket
- A megfelelő beágyazási modell kiválasztása
- A keresési index konfigurálása
- Hogyan állapíthatja meg, hogy mely keresések ( például vektor, teljes szöveg, hibrid és manuális több keresés) elvégzésére van szükség
- Az egyes lépések kiértékelése
RAG-architektúra
RAG-alkalmazásfolyamat
Az alábbi munkafolyamat egy RAG-alkalmazás magas szintű folyamatát ismerteti.
- A felhasználó lekérdezést ad ki egy intelligens alkalmazás felhasználói felületén.
- Az intelligens alkalmazás API-hívást indít egy orkesztrátorhoz. A vezénylőt olyan eszközökkel vagy platformokkal implementálhatja, mint a Szemantic Kernel, az Azure AI Agent szolgáltatás vagy a LangChain.
- A vezénylő határozza meg, hogy melyik keresést végezze el az Azure AI Search szolgáltatásban, és kiadja a lekérdezést.
- Az orchestrator a lekérdezés N legjobb eredményeit csomagolja be. A rendszer a legfontosabb eredményeket és a lekérdezést kontextusként csomagolja be egy parancssorba, és elküldi a kérést a nyelvi modellnek. A vezénylő visszaadja a választ az intelligens alkalmazásnak, hogy a felhasználó elolvashassa.
RAG-adatkezelési folyamat
Az alábbi munkafolyamat egy magas szintű folyamatot ír le egy olyan adatfolyamhoz, amely földelési adatokat szolgáltat egy RAG-alkalmazáshoz.
- A dokumentumok adatfolyamatba kerülnek, akár leküldve, akár behúzva.
- Az adatfolyam az alábbi lépések végrehajtásával egyenként dolgozza fel az egyes dokumentumokat:
- Darabos dokumentum: A dokumentumot szemantikailag releváns részekre bontja, amelyek ideális esetben egyetlen ötlettel vagy koncepcióval rendelkeznek.
- Adattömbök bővítése: Metaadatmezőket ad hozzá, amelyeket a folyamat az adattömbök tartalma alapján hoz létre. Az adatfolyam különálló mezőkbe kategorizálja a metaadatokat, például a címet, az összegzést és a kulcsszavakat.
- Adattömbök beágyazása: Beágyazási modell használatával vektorizálja az adattömböket és a vektorkeresésekhez használt egyéb metaadatmezőket.
- Adattömbök megőrzése: Az adattömböket a keresési indexben tárolja.
A RAG tervezési és értékelési szempontjai
A RAG-megoldás tervezése során különböző megvalósítási döntéseket kell meghoznia. Az alábbi ábra néhány kérdést mutat be, amelyeket fel kell tennie a döntések meghozatalakor.
Az alábbi lista rövid leírást nyújt arról, hogy mit kell tennie a RAG-megoldások fejlesztésének egyes fázisai során.
Az előkészítési fázisban a következőt kell használnia:
- Határozza meg a megoldástartományt. Egyértelműen határozza meg a RAG-megoldás üzleti követelményeit.
- Reprezentatív tesztdokumentumok összegyűjtése. Gyűjtsön olyan tesztdokumentumokat a RAG-megoldáshoz, amelyek a dokumentumgyűjteményre jellemzőek.
- Teszt lekérdezések gyűjtése. Információkat gyűjthet és tesztelhet lekérdezéseket, és olyan szintetikus lekérdezéseket és lekérdezéseket hozhat létre, amelyeket a dokumentumok nem fednek le.
Az adattömbkészítési fázis során a következőt kell tenni:
- A csoportosítás gazdaságtanának megismerése. Ismerje meg, hogy milyen tényezőket érdemes figyelembe venni, amikor kiértékeli az adattömbkezelési megoldás teljes költségét a szöveggyűjteményhez.
- Dokumentumelemzés végrehajtása. A dokumentumtípus elemzésekor az alábbi kérdések segítenek a döntéshozatalban:
- Milyen tartalmat szeretne figyelmen kívül hagyni vagy kizárni a dokumentumban?
- Milyen tartalmat szeretne adattömbökben rögzíteni?
- Hogyan szeretné darabolni ezt a tartalmat?
- Értsd meg a darabolás megközelítéseit. Megismerheti az adattömbök különböző megközelítéseit, beleértve a mondatalapú, a rögzített méretű és az egyéni megközelítéseket, vagy a nyelvi modellek kibővítésével, a dokumentumelrendezés elemzésével és a gépi tanulási modellekkel.
- Ismerje meg, hogyan befolyásolja a dokumentumstruktúra az adattömb-készítést. A dokumentum struktúrájának foka alapján válasszon egy adattömbölési módszert.
Az adattömb-bővítési fázis során a következőt kell tenni:
- Tiszta szeletek. Olyan tisztítási módszerek implementálása, amelyek kiküszöbölik a szöveg jelentését nem befolyásoló különbségeket. Ez a módszer támogatja a közelségi egyezéseket.
- Bővítse az adattömböket. Fontolja meg az adattömb adatainak közös metaadatmezőkkel való bővítését, és ismerje meg a keresési lehetőségeket. Megismerheti a metaadat-tartalom előállításához gyakran használt eszközöket vagy technikákat.
A beágyazási fázisban a következőt kell tenni:
- Ismerje meg a beágyazási modell fontosságát. A beágyazási modell jelentősen befolyásolhatja a vektorkeresési eredmények relevanciáját.
- Válassza ki a megfelelő beágyazási modellt a használati esethez.
- A beágyazási modellek kiértékelése. A beágyazási modellek kiértékelése a beágyazások vizualizálásával és a beágyazási távolságok kiszámításával.
Az információlekérési fázis során a következőt kell tenni:
- Keresési index létrehozása. Alkalmazza a megfelelő vektorkeresési konfigurációkat a vektormezőkre.
- A keresési lehetőségek ismertetése. Vegye figyelembe a különböző típusú kereséseket, beleértve a vektort, a teljes szöveges, a hibrid és a manuális több keresést. Megtudhatja, hogyan oszthat fel lekérdezéseket al lekérdezésekre, és hogyan szűrheti a lekérdezéseket.
- Keresési eredmények kiértékelése. A keresési megoldás kiértékeléséhez használjon lekéréses kiértékelési módszereket.
A nyelvi modell végpontok közötti kiértékelési fázisában a következőt kell használnia:
- A nyelvi modell kiértékelési metrikáinak ismertetése. A nyelvi modell válaszának kiértékeléséhez számos metrikát használhat, többek között a megalapozottságot, a teljességet, a kihasználtságot és a relevanciát.
- A hasonlóság és a kiértékelési metrikák megismerése. A RAG-megoldás kiértékeléséhez használhat hasonlósági és kiértékelési metrikákat.
- Ismerje meg a dokumentáció, a jelentéskészítés és az összesítés fontosságát. Dokumentálja a hiperparamétereket és a kiértékelési eredményeket. Összesítse a több lekérdezés eredményeit, és vizualizálja az eredményeket.
- Használja a RAG kísérletgyorsítót. A RAG kísérletgyorsító GitHub-adattárát használva a csapat a RAG-implementáció legjobb stratégiáinak megtalálásában segíthet, több kísérlet futtatásával, az eredmények mentésével és kiértékelésével.
Strukturált megközelítés
A lépések és változók száma miatt fontos, hogy a RAG-megoldás strukturált kiértékelési folyamatát kövesse. Értékelje ki az egyes lépések eredményeit, és módosítsa a követelményeket. Minden lépést függetlenül kell kiértékelnie az optimalizálás érdekében, de ne feledje, hogy a végeredmény az, amit az ügyfelek tapasztalnak. Mielőtt saját elfogadási feltételeket határoz meg az egyes lépésekhez, győződjön meg arról, hogy tisztában van a folyamat összes lépésével.
Közreműködők
Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.
Fő szerzők:
- Raouf Aliouat | Szoftvermérnök II
- Rob Bagby | Fő tartalomfejlesztő – Azure-minták és -eljárások
- Prabal Deb | Fő szoftvermérnök
- Chad Kittel | Fő szoftvermérnök – Azure-minták és gyakorlatok
- Ritesh Modi | Főmérnök
- Ryan Pfalz | Vezető műszaki programmenedzser
- Randy Thurman | Vezető AI-felhőmegoldás-tervező
A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.