Řetězec RAG pro odvozování
Tento článek popisuje proces, který nastane, když uživatel odešle žádost do aplikace RAG v online nastavení. Po zpracování dat datovým kanálem je vhodný pro použití v aplikaci RAG. Řada nebo řetězec kroků, které jsou vyvolány v době odvozování, se běžně označuje jako řetězec RAG.
- (Volitelné) Předběžné zpracování uživatelského dotazu: V některých případech je dotaz uživatele předem zpracován, aby byl vhodnější pro dotazování vektorové databáze. To může zahrnovat formátování dotazu v rámci šablony, použití jiného modelu k přepsání požadavku nebo extrahování klíčových slov pro účely načtení. Výstupem tohoto kroku je dotaz načtení, který se použije v dalším kroku načtení.
- Načtení: Pokud chcete načíst podpůrné informace z vektorové databáze, dotaz načítání se přeloží do vkládání pomocí stejného modelu vkládání, který se použil k vložení bloků dokumentů během přípravy dat. Tato vkládání umožňují porovnání sémantické podobnosti mezi vyhledávacím dotazem a nestrukturovanými textovými bloky pomocí měr, jako je kosinus podobnost. Dále se bloky dat načítají z vektorové databáze a řadí se podle toho, jak se podobají vloženým požadavkem. Vrátí se nejlepší (nejvíce podobné) výsledky.
- Rozšíření výzvy: Výzva, která se odešle do LLM, je tvořena rozšířením dotazu uživatele o načtený kontext v šabloně, která dává modelu pokyn, jak používat jednotlivé komponenty, často s dalšími pokyny k řízení formátu odpovědi. Proces iterace na správné šabloně výzvy, která se má použít, se označuje jako příprava výzvy.
- Generování LLM: LLM přebírá rozšířenou výzvu, která zahrnuje dotaz uživatele a načítá podpůrná data jako vstup. Potom vygeneruje odpověď, která je založená na dalším kontextu.
- (Volitelné) Následné zpracování: Odpověď LLM může být zpracována dále za účelem použití další obchodní logiky, přidání citací nebo jiného upřesnění generovaného textu na základě předdefinovaných pravidel nebo omezení.
Stejně jako u datového kanálu aplikace RAG existuje mnoho následných technických rozhodnutí, která mohou ovlivnit kvalitu řetězce RAG. Například určení, kolik bloků dat se má načíst v kroku 2 a jak je zkombinovat s dotazem uživatele v kroku 3 může výrazně ovlivnit schopnost modelu generovat kvalitní odpovědi.
V celém řetězci se můžou použít různé mantinely, aby se zajistilo dodržování podnikových zásad. To může zahrnovat filtrování vhodných požadavků, kontrolu uživatelských oprávnění před přístupem ke zdrojům dat a použití technik kon režim stanu ration u vygenerovaných odpovědí.