První fází vývoje a experimentování rozšířené generace (RAG) načítání a experimentování je fáze přípravy. Během této fáze definujete obchodní doménu pro vaše řešení. Po definování domény shromáždíte dokumenty, provedete analýzu dokumentů a shromáždíte ukázkové otázky, které se týkají domény. Tyto kroky provedete paralelně, protože spolu souvisí. Analýza dokumentů vám například pomůže určit, které testovací dokumenty a testovací dotazy byste měli shromáždit. Otázky, které položíte, musí odpovídat obsahem v dokumentech a dokumenty musí odpovídat na relevantní otázky.
Tento článek je součástí série článků. Přečtěte si úvod.
Určení domény řešení
Prvním krokem v tomto procesu je jasně definovat obchodní požadavky pro řešení nebo případ použití. Tyto požadavky vám pomůžou určit, na jaké otázky by řešení mělo odpovědět a na jaké zdrojové údaje nebo dokumenty vám tyto otázky pomůžou odpovědět. V pozdějších fázích vám doména řešení pomůže informovat strategii modelu vkládání.
Analýza dokumentů
Cílem analýzy dokumentů je shromáždit dostatek informací o kolekci dokumentů, které vám pomůžou pochopit:
Různé klasifikace dokumentů. Můžete mít například specifikace produktů, čtvrtletní sestavy, smlouvy o pojištění aut nebo smlouvy o zdravotním pojištění.
Různé typy dokumentů. Můžete mít například soubory PDF, soubory Markdownu, soubory HTML nebo soubory DOCX.
Omezení zabezpečení. Pro přístup k dokumentům můžete například vyžadovat ověřování a autorizaci v závislosti na tom, jestli jsou veřejně přístupné.
Struktura dokumentů. Délka dokumentů se může například lišit. Nebo můžou mít konce témat, kontextově relevantní obrázky nebo tabulková data.
Následující části popisují, jak vám tyto informace pomůžou zvolit strategie načítání a bloků dat.
Klasifikace dokumentů
Potřebujete pochopit různé klasifikace dokumentů, které vám pomůžou určit požadovaný počet testovacích dokumentů. Tato část analýzy by vás měla informovat o klasifikacích vysoké úrovně, jako jsou pojištění nebo finance. Měl by vám také sdělit o podtříděných dokladech, jako jsou doklady o zdravotním pojištění nebo doklady o pojištění aut. Chcete také zjistit, jestli mají podtříděné struktury nebo obsah různé struktury.
Cílem je porozumět všem různým variantám dokumentu, které máte. Pak můžete určit počet a rozpis potřebných testovacích dokumentů. Nechcete, aby se v experimentování zobrazovala určitá klasifikace dokumentů nebo jejich podržení.
Typy dokumentů
Pochopení různých formátů souborů v kolekci vám pomůže určit počet a rozpis testovacích dokumentů. Pokud máte například typy dokumentů PDF a Open XML pro čtvrtletní sestavy, budete potřebovat testovací dokumenty pro každý z těchto typů dokumentů. Pochopení typů dokumentů vám také pomůže pochopit technické požadavky pro načítání a vytváření bloků dokumentů. Tyto technické požadavky zahrnují konkrétní knihovny, které mohou tyto formáty souborů zpracovat.
Omezení zabezpečení
Pochopení bezpečnostních omezení je zásadní pro určení strategií načítání a bloků dat. Potřebujete například zjistit, jestli některé nebo všechny dokumenty vyžadují ověřování, autorizaci nebo viditelnost sítě. Pokud jsou dokumenty v zabezpečené hraniční síti, ujistěte se, že k nim váš kód má přístup, nebo implementujte proces pro bezpečnou replikaci dokumentů do přístupného umístění pro váš kód zpracování.
Dokumenty někdy odkazují na multimédia, jako jsou obrázky nebo zvuk, které jsou pro kontext dokumentu důležité. Toto médium může být také předmětem podobných ovládacích prvků přístupu jako samotný dokument. Pokud toto médium vyžaduje ověření nebo síťovou čáru, musíte se ujistit, že váš kód má přístup k médiím nebo že máte zavedený proces, který má přístup, a může replikovat obsah.
Pokud vaše úloha vyžaduje, aby k různým dokumentům nebo segmentům dokumentů měli přístup jenom různí uživatelé, ujistěte se, že rozumíte tomu, jak tato přístupová oprávnění zachovat v řešení bloků dat.
Struktura dokumentu
Potřebujete porozumět struktuře dokumentu, včetně jejího rozložení a typů obsahu v dokumentu. Když pochopíte strukturu a obsah dokumentů, pomůže vám to udělat následující rozhodnutí:
Jestli dokument vyžaduje předběžné zpracování k vyčištění šumu, extrahování médií, přeformátování obsahu nebo přidávání poznámek k ignorování položek
Jestli chcete obsah v dokumentu ignorovat nebo vyloučit
Jaké části dokumentu chcete zachytit
Jak chcete dokument zavést do bloku
Jak chcete zpracovávat obrázky, tabulky, grafy a další vložená média
V následujících oddílech jsou uvedeny otázky zařazené do kategorií, které můžete použít k tomu, abyste některé z těchto rozhodnutí udělali.
Určení položek, které můžete ignorovat
Některé strukturální prvky nemusí do dokumentu přidávat význam a při vytváření bloků dat je možné je bezpečně ignorovat. V některých situacích můžou tyto prvky přidat cenný kontext a zlepšit levnost dotazů do indexu, ale ne všechny. Položte následující otázky týkající se běžných funkcí dokumentů a zjistěte, jestli přidají levnost, nebo by se měly ignorovat.
Obsahuje dokument obsah?
Jsou záhlaví nebo zápatí?
Existují autorská práva nebo právní omezení?
Existují poznámky pod čarou nebo vysvětlivky?
Jsou tam vodoznaky?
Existují poznámky nebo komentáře?
Určení strategie předběžného zpracování a bloků dat
Následující otázky týkající se struktury dokumentu vám můžou pomoct při rozhodování, jestli potřebujete dokument předzpracovat, aby se usnadnilo zpracování. Pomáhají vám také zvolit strategii vytváření bloků dat.
Existují vícesloupcová data nebo vícesloupcové odstavce? Nechcete analyzovat vícesloupcový obsah stejným způsobem jako obsah s jedním sloupcem.
Jak je dokument strukturovaný? Například soubory HTML někdy používají tabulky, které je potřeba odlišit od vložených tabulkových dat.
Kolik odstavců tam je? Jak dlouho jsou odstavce? Jsou odstavce podobné délce?
Jaké jazyky, jazykové varianty nebo dialekty jsou v dokumentech?
Obsahuje dokument znaky Unicode?
Jak jsou čísla formátovaná? Obsahují čárky nebo desetinné čárky? Jsou konzistentní?
Které části dokumentu jsou jednotné a které části nejsou jednotné?
Existuje struktura záhlaví, kde se dá extrahovat sémantický význam?
Existují odrážky nebo smysluplné odsazení?
Určení požadavků na zpracování obrázků
Pochopení obrázků v dokumentu vám může pomoct zvolit strategii zpracování obrázků. Potřebujete vědět, jaký druh obrázků máte, jestli mají dostatečné rozlišení ke zpracování a jestli obrázek obsahuje všechny požadované informace. Následující otázky vám pomůžou porozumět vašim požadavkům na zpracování obrázků.
Obsahuje dokument obrázky?
Jaké rozlišení jsou obrázky?
Je v obrázcích vložený text?
Existují abstraktní obrázky, které nepřidají hodnotu? Ikony například nemusí přidávat žádnou sémantickou hodnotu. Přidání popisu ikon může být pro vaše řešení škodlivé, protože ikona obvykle není relevantní pro obsah dokumentu.
Jaký je vztah mezi obrázky a okolním textem? Určete, jestli mají obrázky samostatný obsah nebo jestli je kolem obrázku kontext, který byste měli použít při jeho předání do jazykového modelu. Titulky jsou příkladem okolního textu, který může mít cenný kontext, který není součástí obrázku.
Existuje formátovaná textová reprezentace, například popisy přístupnosti obrázků?
Určení požadavků na zpracování tabulek, grafů a dalších požadavků na zpracování médií
Pochopení informací zapouzdřených v tabulkách, grafech a dalších médiích vám může pomoct rozhodnout, jak je chcete zpracovat. Následující otázky vám pomůžou porozumět tabulce, grafu a dalším požadavkům na zpracování médií.
Obsahuje dokument grafy, které obsahují čísla?
Obsahuje dokument tabulky?
Jsou tabulky složité, například vnořené tabulky nebo nekompplexní?
Existují titulky pro tabulky?
Jak dlouho jsou tabulky? Dlouhé tabulky můžou vyžadovat opakující se záhlaví v blocích.
Existují jiné typy vložených médií, jako jsou videa nebo zvuk?
Existují v dokumentu nějaké matematické rovnice nebo vědecké zápisy?
Shromáždění reprezentativních testovacích dokumentů
V tomto kroku shromážděte dokumenty, které nejlépe představují dokumenty, které používáte ve svém řešení. Dokumenty musí řešit definovaný případ použití a odpovídat na otázky, které jste shromáždili v paralelní fázi shromažďování otázek.
Důležité informace
Při vyhodnocování potenciálních reprezentativních testovacích dokumentů zvažte následující oblasti:
Pertinence: Dokumenty musí splňovat obchodní požadavky konverzační aplikace. Pokud například vytvoříte chatovacího robota, který pomáhá zákazníkům provádět bankovní operace, musí dokumenty splňovat tento požadavek. Dokumenty by například měly ukázat, jak otevřít nebo zavřít bankovní účet. Dokumenty musí být schopné řešit testovací otázky, které jste shromáždili v paralelním kroku. Pokud dokumenty neobsahují informace, které jsou relevantní pro otázky, vaše řešení nemůže vytvořit platnou odpověď.
reprezentace: Dokumenty by měly představovat různé typy dokumentů, které vaše řešení používá. Dokument o pojištění auta například obsahuje jiné informace než dokument o zdravotním pojištění nebo životním pojištění. Předpokládejme, že případ použití vyžaduje řešení pro podporu všech tří těchto typů pojištění, ale máte pouze doklady o pojištění automobilů. Vaše řešení může fungovat špatně pro zdravotní a životní pojištění. Pro každou variantu byste měli mít aspoň dva dokumenty.
kvalitu fyzického dokumentu: Dokumenty musí být v použitelném tvaru. Naskenované obrázky vám například nedovolí extrahovat použitelné informace.
kvalita obsahu dokumentu: Dokumenty musí mít vysoce kvalitní obsah. Neměly by obsahovat chybně napsané nebo gramatické chyby. Jazykové modely nefungují dobře, pokud jim poskytnete nekvalitní obsah.
Pokud chcete úspěšně shromáždit testovací dokumenty, měli byste být kvalitativní jistotu, že testovací dokumenty plně a přesně reprezentují vaši konkrétní doménu.
Pokyny k testovacímu dokumentu
Zvolte skutečné dokumenty nad syntetickými dokumenty. Skutečné dokumenty musí projít procesem čištění, aby se odebraly osobní údaje.
Zvažte selektivní rozšiřování dokumentů syntetickými daty. Tento proces vám pomůže zajistit, aby vaše dokumenty zahrnovaly všechny druhy scénářů, včetně předpovídané budoucí scénáře. Pokud musíte použít syntetická data, udělejte to co nejlépe, aby se podobala skutečným datům co nejvíce.
Ujistěte se, že dokumenty můžou řešit otázky, které jste shromáždili.
Pro každou variantu dokumentu máte aspoň dva dokumenty.
Pomocí jazykových modelů nebo jiných nástrojů můžete vyhodnotit kvalitu dokumentů.
Shromáždění testovacích dotazů
V tomto kroku shromáždíte testovací dotazy, které použijete k vyhodnocení bloků dat, vyhledávacího řešení a přípravy výzvy. Tento krok proveďte, když shromáždíte reprezentativní dokumenty. Měli byste shromáždit dotazy a určit, jak reprezentativní dokumenty tyto dotazy řeší současně. Když budete mít ukázkové dotazy i části ukázkových dokumentů, které tyto dotazy řeší, můžete při experimentování s různými strategiemi a přístupy vyhodnotit každou fázi řešení RAG.
Shromáždění výstupu testovacího dotazu
Výstup této fáze zahrnuje obsah z shromáždit reprezentativní testovací dotazy kroku a shromáždit reprezentativní testovací dokumenty kroku. Výstupem je kolekce, která obsahuje následující data:
Dotaz: Otázka, která představuje potenciální výzvu legitimního uživatele.
Kontext: Kolekce veškerého skutečného textu v dokumentech, které dotaz řeší. Pro každý bit kontextu byste měli zahrnout stránku a skutečný text.
odpověď : platnou odpověď na dotaz. Odpovědí může být obsah, který je přímo z dokumentů, nebo může být přehrabován z jednoho nebo více částí kontextu.
Vytváření syntetických dotazů
Pro odborníky na danou problematiku je často náročné vytvořit komplexní seznam otázek pro případ použití. Jedním z řešení této výzvy je generování syntetických otázek ze shromážděných reprezentativních testovacích dokumentů. Následující kroky popisují skutečný přístup k generování syntetických otázek z reprezentativních dokumentů:
Zamknou dokumenty. Rozdělte dokumenty do bloků dat. Nepoužívejte strategii vytváření bloků dat pro vaše celkové řešení. Použijte tento jednorázový krok, který použijete k vygenerování syntetických dotazů. Pokud je počet dokumentů přiměřený, můžete to udělat ručně.
Vygenerujte dotazy pro každý blok dat. Pro každý blok dat vygenerujte dotazy buď ručně, nebo pomocí jazykového modelu. Při použití jazykového modelu obvykle začnete generováním dvou dotazů pro každý blok dat. K vytvoření odpovědi můžete použít také jazykový model. Následující příklad ukazuje výzvu, která vygeneruje otázky a odpovědi na blok dat.
Please read the following CONTEXT and generate two question and answer JSON objects in an array based on the CONTEXT provided. The questions should require deep reading comprehension, logical inference, deduction, and connecting ideas across the text. Avoid simplistic retrieval or pattern-matching questions. Instead, focus on questions that test the ability to reason about the text in complex ways, draw subtle conclusions, and combine multiple pieces of information to arrive at an answer. Ensure that the questions are relevant, specific, and cover the key points of the CONTEXT. Provide concise answers to each question, and directly quote the text from the provided context. Provide the array output in strict JSON format as shown in the output format. Ensure that the generated JSON is completely structurally correct, including proper nesting, comma placement, and quotation marks. There shouldn't be a comma after the last element in the array. Output format: [ { "question": "Question 1", "answer": "Answer 1" }, { "question": "Question 2", "answer": "Answer 2" } ] CONTEXT:
Ověřte výstup. Ověřte, že jsou otázky relevantní pro případ použití a že odpovědi na tuto otázku řeší. Tento ověření by měl provést SME.
Nesnadené dotazy
Je důležité shromáždit dotazy, které dokumenty neoslovují, a dotazy, které řeší. Při testování řešení a zejména při testování jazykového modelu je potřeba určit, jak by řešení mělo reagovat na dotazy, na které nemá dostatečný kontext pro odpověď. Pokud chcete reagovat na dotazy, které řešení nemůže řešit, řešení může:
Uveďte, že odpověď nezná.
Uveďte, že odpověď nezná a poskytne odkaz, kde uživatel může najít další informace.
Shromáždění testovacích dotazů pro vložená média
Stejně jako u textu byste měli shromáždit různorodou sadu otázek, které zahrnují použití vloženého média k vygenerování vysoce relevantních odpovědí. Pokud máte obrázky s grafy, tabulkami nebo snímky obrazovky, ujistěte se, že máte otázky týkající se všech případů použití. Pokud zjistíte v části obrázku kroku analýzy dokumentu, že text před nebo po obrázku je nutný k zodpovězení některých otázek, ujistěte se, že máte tyto otázky v testovacích dotazech.
Shromáždění pokynů k testovacím dotazům
Určete, jestli existuje systém, který obsahuje skutečné dotazy zákazníků, které můžete použít. Pokud například vytvoříte chatovacího robota, který bude odpovídat na dotazy zákazníků, budete možná moct používat dotazy zákazníků z helpdesku, nejčastějších dotazů nebo systému lístků.
Zákazník nebo SME pro případ použití by měl fungovat jako brána kvality, aby určil, jestli jsou shromážděné dokumenty, přidružené testovací dotazy a odpovědi na dotazy z dokumentů komplexní, reprezentativní a správné.
Pravidelně zkontrolujte text otázek a odpovědí, abyste měli jistotu, že budou i nadále přesně odrážet zdrojové dokumenty.