Sdílet prostřednictvím


Návrh podkladových dat pro úlohy AI v Azure

U aplikací AI musí přístup dobře navržená architektura k návrhu dat řešit nefunkční požadavky, jako je funkčnost, náklady a zabezpečení, a dodržovat základní principy pilířů architektury Azure Well-Architected Framework. Měl by také zvážit funkční požadavky, jako je příjem dat, příprava a ověřování.

Model AI, který zvolíte, má vliv na následná rozhodnutí o návrhu dat. Tento článek popisuje klíčové aspekty architektury pro základní modely, které potřebují rozšíření, aby se zlepšila relevance výsledků. Tyto modely jsou obvykle generující.

Modely generující AI jsou předem připravené nebo předem vytrénované, což vám umožní je okamžitě používat bez jakýchkoli úprav. Předefinované modely ale často nesplňují konkrétní požadavky na úlohy. Abychom tento problém vyřešili, modely se rozšiřují o kontextová data, aby se zlepšil jejich výkon. Model GPT můžete například použít v různých případech použití. Mezi tyto aplikace patří načítání informací z dokumentů, poskytování podpory helpdesku IT a shrnutí složitých informací. Pokud chcete ke splnění konkrétních potřeb použít základní modely, je důležité tyto aspekty pochopit.

Důležité

Návrh dat je iterativní proces založený na statistickém experimentování. Generování aplikací umělé inteligence odesílá dotazy do modelu, který obsahuje výzvy a kontextová data. Pokud chcete upřesnit návrh dat, měly by se zobrazovat výzvy i kontextová data. Iterativní proces by měl zahrnovat předběžné zpracování, výběr vložených a bloků dat. Tento postup vám pomůže vytvořit data, která jsou vhodná pro index. Další informace najdete v tématu Návrh a vývoj řešení rozšířené generace (RAG).

Při experimentování a iteraci mějte na paměti případy použití spotřeby. Upravte návrh dat na základě skutečných vzorů dotazů. Zjistěte, co je přijatelné prostřednictvím upřesnění a testování.

V řešení můžete použít kombinaci generujících modelů AI a diskriminativních modelů AI ke splnění požadavků na úlohy. Další informace o trénovacích datech najdete v tématu Návrh trénovacích dat.

Doporučení

Tady je souhrn doporučení uvedených v tomto článku.

Doporučení Popis
Předvídejte dotazy uživatelů. Seznamte se s očekávanými typy otázek souvisejících se zdrojovými daty a jejich očekáváními o aktuálnosti. Toto porozumění vám pomůže navrhnout datové kanály a indexy tak, aby poskytovaly relevantní podkladová data.
Externalizace dat do indexu vyhledávání Místo dotazování přímo ze zdrojového systému použijte index vyhledávání. Vyhodnoťte různé technologie indexu na základě požadavků na úlohy. Vytvořte matici schopností, která bude vyhodnocovat to nejlepší pro vaše potřeby. Zvažte výkonné technologie indexu vyhledávání, jako je Elasticsearch nebo AI Search.

Indexování
Vytvořte strategii příjmu dat. Vytvořte komplexní strategii správy indexů, která se zabývá příjmem dat a předzpracováním. Odeberte hlučná nebo irelevantní data tím, že řešíte nekonzistence a duplicity a standardizujete běžné schéma. Převeďte zdrojové formáty a typy na datové typy, které usnadňují dotazování a analýzu.

Příprava dat
Změna rozsahu datového svazku
Navrhněte index tak, aby byl maximálně levný. Povolte funkce, jako je filtrování, řazení a zpracování metadat u konkrétních polí, aby se zlepšila efektivita dotazů. Pole popisků můžete například označit jako prohledávatelná jenom v případě, že na nich chcete hledat. Abyste se vyhnuli zbytečným nákladům na úložiště, nepoužívejte každé pole k načtení bez konkrétního případu použití.

Návrh schématu
Možnosti indexu
Efektivní dotazování
Aktualizujte index, aby se zabránilo odvozování zastaralých dat. Při aktualizaci indexu zvažte přijetí strategie souběžného nasazení pro údržbu. Opětovné sestavení indexu zajistí, že odstranění a aktualizace se zpracují, protože index se stane novou datovou sadou. Tento přístup umožňuje důkladné testování dat před zahájením indexu. Při provádění změn indexů koordinuje úpravy schématu s aktualizacemi kódu. Tento postup zajišťuje bezproblémové přechody.

Údržba indexů

Typy dat

Generování modelů AI můžete rozšířit pomocí kontextových dat během odvozování nebo je dále optimalizovat prostřednictvím jemně vyladěného procesu. Oba přístupy potřebují doplňující data, která modelu poskytují více kontextu. Model používá tento kontext k zodpovězení uživatelského dotazu a formulář odpovědi podle očekávání. Obvykle používáte následující datové typy:

  • Zdrojová data jsou existující data v produkčním prostředí. Tato data můžou být strukturovaná, například data v databázích nebo částečně strukturovaná, jako jsou soubory JSON. Může to být také nestrukturovaná, například dokumenty, obrázky a zvukové soubory.

  • Základní data pocházejí ze zdrojových dat, která obsahují informace o tématech, která nejsou zahrnuta v počátečních trénovacích datech modelu. Uzemnění dat se zkombinuje s uživatelským dotazem a vytvoří výzvu, která se odešle do velkého jazykového modelu v kontextu konkrétního volání odvozování. Další data, která můžete zahrnout do volání odvozování, jsou výzva systému, jeden snímek nebo několik příkladů a kontextová data, jako jsou předchozí interakce.

    Tato data by měla být snadno prohledávatelná a rychle načístelná. Kvůli tomuto požadavku byste měli data ukládat do indexu, který je optimalizovaný pro vyhledávání. K tomuto indexu se přistupuje v reálném čase, zatímco uživatel čeká na odpověď. Bez těchto dat může model vést k nesprávným výsledkům nebo nemusí být použitelný na to, co uživatel konkrétně hledá.

  • Vyladění dat jsou informace, které se používají k ovlivnění modelu, aby se mohly přizpůsobit konkrétním úkolům, doménám nebo stylům odpovědí pro budoucí žádosti o odvozování. Pokud se například očekává, že model poskytne odpovědi v určitém gramatickém stylu, bude tato příručka stylu sloužit jako vyladění dat.

  • Uživatelská data zahrnují informace poskytované uživateli během interakcí s aplikací. Při interakci s generováním modelů dochází k stavovým interakcím. Tyto modely nemají vlastní paměť a zachází s každou interakcí jako s atomií.

    Při správě stavových interakcí, označovaných také jako TURN data v chatovacích aplikacích, je důležité ukládat data na nejkratší dobu potřebnou k uložení. V ideálním případě by se tato data měla po skončení relace zničit. Můžou ale existovat provozní důvody nebo důvody dodržování předpisů, které vyžadují, abyste si zachovali určitá data, jako je původní otázka nebo odpověď modelu, nad rámec doby trvání relace. Pokud je to možné, vyhněte se ukládání těchto dat po relaci.

Indexování

Základem návrhu dat je efektivní ukládání a správa základních dat. Tento přístup zajišťuje, že se data dají rozšířit, aby dosáhla nejvyšší úrovně relevance.

Jednoduchá strategie umělé inteligence může zahrnovat dotazování zdrojových dat pro každou interakci uživatele. Tento přístup ale není praktický kvůli vysokým nákladům a složitostem interakcí s přímým zdrojem dat. Místo toho byste měli zdrojová data změnit jako kopii v indexu, který je optimalizovaný pro vyhledávání a načítání. Cílem tohoto přístupu je zlepšit porozumění modelu a jeho schopnost generovat relevantní odpovědi.

Zvažte bankovní úlohu, která ukládá podrobnosti související s uživatelskými bankovními účty a předvolbami a finančními transakcemi v úložišti dat. Ve scénáři generující umělé inteligence, který používá model RAG, se vytvoří a indexuje data země s kontextem, aby model mohl poskytnout relevantní odpovědi. Například poskytnutím relevantních dat o uživatelských transakcích pro kontext během odvozování může model odpovídat na otázky související se vzory útraty uživatele v posledním čtvrtletí.

Technologie specializovaného indexu

Zvažte externalizaci podkladových dat do indexu vyhledávání. Tento přístup použijte místo dotazování přímo ze zdrojového systému.

Existují výhody použití indexu vyhledávání. Můžete modelovat a transformovat kopii dat podle očekávaných dotazů. Přímé dotazy na primární zdroj jsou problematické, protože existuje možnost, že zdrojová data nejsou přístupná. Index zajišťuje, aby data zůstala dostupná, pokud považujete za relevantní pro aplikaci. Také se vyhnete stresu zdrojového systému dat. Tato strategie zajišťuje, že dotazy související s AI nemají vliv na primární případ použití.

Některé možnosti technologie mají možnosti samoobslužného indexování. Indexy se můžou spojit se zdroji dat a začlenit jejich data. Pro tuto možnost jsou klíčové aspekty sítě. Pokud se index potřebuje připojit k databázím, existují potenciální problémy, jako je latence sítě a spolehlivost.

Import dat představuje počáteční náklady. Jakmile jsou data v indexu, nebudete je muset znovu přesunout, pokud nedojde ke změnám nebo aktualizacím. Správa dat v průběhu času je zásadním aspektem návrhu indexu. Další informace naleznete v tématu Údržba indexu.

Výchozí nebo vlastní index

Některé technologie podporují automatické vytváření výchozího indexu pro vaše data. Tento index se generuje při příjmu dat s minimálním vstupem. Index má předefinované funkce. Výchozí index může být přijatelný pro testování konceptů a některých produkčních scénářů.

Některé scénáře můžou vyžadovat, abyste měli vlastní schéma indexu, abyste vylepšili relevance na základě konkrétních požadavků na úlohy. Tyto požadavky určují způsob návrhu schématu, povolení funkcí indexu a zahrnutí relevantních metadat.

Návrh schématu

Indexy si můžete představit jako struktury, které uspořádají a optimalizují data pro načtení. Konkrétněji uspořádají data v dokumentech a polích tabulky. Zvažte následující skutečnosti:

  • Topologie indexu Vyhodnoťte, jestli chcete společně přidělit všechna data v jednom indexu nebo distribuovat napříč více indexy. Toto rozhodnutí výrazně ovlivňuje výkon dotazů, údržbu indexů, jednoduchost dotazů a odlišné konfigurace polí (nebo schéma) mezi dokumenty.

    Představte si například dotazy uživatelů, které požadují obsah v určitém jazyce. Nejjednodušší volba návrhu dat pravděpodobně překládá všechny jazyky do jednoho jazyka a ukládá je do jednoho indexu. Nebo data mohou být uložena ve všech jazycích v jednom indexu. Výsledkem této volby je více dokumentů pro každý jazyk. Funkce filtrování indexu se dá použít k omezení výsledků na požadovaný jazyk. Případně může každý index obsahovat přeložené verze pro daný jazyk podle očekávání v dotazu.

    V některých situacích můžete potřebovat více indexů vyhledávání. Tento přístup umožňuje nezávisle optimalizovat každý index pro maximální využití relevance z vašich vyhledávacích dotazů. Například příručka personálního oddělení a příručka k údržbě produktu slouží různým účelům a cílovým skupinám. Když je indexujete samostatně, můžete přizpůsobit schéma a vyhledávací dotazy pro každý z nich, což zlepšuje uživatelské prostředí. Tento přístup může být složitý pro implementaci a vyžaduje orchestrátor, který usnadňuje volání jednotlivých indexů. Komponenta orchestrace je popsaná v návrhu aplikace pro úlohy AI v Azure.

Poznámka:

Volba mezi dvěma topologiemi a strategií segmentace dat závisí na požadavcích na úlohy, případech použití a očekáváních uživatelů.

Provádění dotazů napříč indexy může být náročné a může ovlivnit levnost vyhledávání. V nejhorších případech může docházet k ručnímu proužování výsledků a rozhodování o tom, které z nich odpovídají kritériím. Tento proces představuje latenci a zvyšuje složitost. Naproti tomu jeden přístup k indexu je jednodušší a jednodušší. Nálevnost je možné zlepšit pomocí funkcí indexu, jako je filtrování.

V některých případech faktory dodržování předpisů vedou k nutnosti samostatných indexů. Pokud například obchodní požadavky vyžadují, aby data byla izolovaná mezi Evropou a Amerikou, může být několik indexů nevyhnutelné.

  • Návrh dokumentu Zarovnejte návrh dat s očekávanými uživatelskými dotazy za účelem optimalizace relevance. Zvažte, jak by měl každý dokument obsluhovat dotazy. U indexů vyhledávání upřednostněte relevantní dokumenty a zpřesněte výsledky na stručnou sadu, která je hustě zabalená s relevantními informacemi.

  • Návrh pole Nakonfigurujte pole indexu tak, aby podporovala výkon vyhledávání a relevanci. Pole indexu by se měla mapovat na atributy dokumentu, které chcete prohledávat, zobrazovat, filtrovat a řadit. Zahrnují vkládání, ID nebo jakákoli jiná data, která můžou zvýšit vyhledávání.

Možnosti indexu

Nakonfigurujte pole indexu vyhledávání tak, aby vracela nejrelevavantnější sadu dokumentů. Rozhodnutí závisí na možnostech, které podporují technologie indexu vyhledávání a požadavky na úlohy.

  • Možnosti filtrování, vyhledávání a řazení Zvažte tyto možnosti, protože přímo souvisí s případy použití pro rozšíření. Filtrovatelné například určuje hodnotu true nebo false vůči hodnotě zadané v dotazu a vrátí relevantní dokumenty. Pro vyhledávání určuje atribut, zda vyhledávací dotaz může odkazovat na pole. Můžete například zkontrolovat, jestli textové pole obsahuje určitý text nebo jestli je matematicky související s jiným vektorem. Volitelně můžete toto pole přiřadit relativní váhu jako součást vyhledávacího dotazu. Můžete také nastavit řazení sad výsledků, které vypíše výsledky podle relevance.

    Kompromis. Povolení možností indexování polí zvyšuje požadavky na místo, což má vliv na náklady. Přidejte jenom možnosti, které chcete použít.

  • Metadata Indexy obvykle mají metadata přidružená k polím indexu. Metadata nám pomáhají pochopit a spravovat data tím, že poskytují relevantní podrobnosti o datech. Při navrhování indexů zvažte, jestli se metadata načítají, nebo se používají pouze k určení relevance. Rozhodnutí ovlivňuje náklady na výpočetní prostředky, protože základní proces indexování se liší. Nadměrná metadata můžou zbytečně zvětšit velikost indexu.

Existuje mnoho technologických možností indexování. Mnoho podobných charakteristik, jako jsou ty, které jsou uvedeny dříve. Některé indexy můžou mít při indexování další funkce, jako je zpracování textu a analýzy jazyka. Pokud chcete, aby byl text vhodnější pro indexování a vyhledávání, rozdělte text na tokeny, převeďte ho na malá písmena nebo odeberte slova stop.

Efektivní dotazování

Podkladová data se používají ve generujících aplikacích AI ke zvýšení přesnosti a relevance odpovědí na dotazy uživatelů. Zvažte předem dotazy uživatelů. Porozumíte tomu, na co se můžou ptát, kdo se jich ptá a jak často se jich ptá. Tyto informace pomáhají kontextu formuláře aplikace a pochopit, jaký výsledek může být relevantní.

Mezi typické typy hledání patří:

  • Vektorové dotazy vyhledávají podobné položky na základě jejich vektorových reprezentací nebo datových bodů ve vysokodimenzionálním prostoru.

  • Hledání klíčových slov prohledává v celém obsahu textových dokumentů. Indexuje a dotazuje velké objemy textových dat a běžně se používá ve vyhledávacích webech, databázích a systémech správy dokumentů.

  • Sémantické řazení zlepšuje relevanci výsledků hledání tím, že je změní jejich pořadí na základě sémantické relevance dotazu, čímž se zvýší nejvyšší sémanticky relevantní shody na začátek seznamu.

  • Hybridní vyhledávání kombinuje různé typy hledání, jako je vektorové vyhledávání, fulltextové vyhledávání a sémantické řazení, aby se dále zlepšila relevance výsledků hledání.

Pokud chcete dále zlepšit výkon modelu, zkombinujte typy hledání.

Způsob ukládání a zpracování dat ovlivňuje efektivitu dotazů. Pokaždé, když se data přidají do indexu, jsou k indexování potřeba výpočetní cykly. Pokud se indexování a reagování na dotazy provádí na stejných výpočetních prostředcích, může dojít k kolizím. V ideálním případě by se index měl zaměřit na primární cíl efektivního odpovídání na dotazy a hledání relevantních dokumentů, a ne na nadměrné indexování.

Náklady a výkon jsou klíčovými faktory návrhu indexu. Techniky, jako je vytváření stínových kopií, můžou urychlit dotazování. Duplikace dat se ale provádí prostřednictvím indexů, které účtují náklady.

Kompromis. Návrh indexu by měl zvážit náklady i výkon. Dosáhnete rovnováhy optimalizací úložiště a stanovením priority efektivního odpovídání na dotazy a relevantním načítáním dokumentů před nadměrným indexováním.

Pro technologické volby pro úložiště dat, vyhledávací indexy, jako je Elasticsearch nebo AI Search, poskytují výkonné možnosti vyhledávání, včetně vektorizovaných a levnějších hledání na základě. Alternativně zvažte možnosti databáze, které podporují typ dat, která máte, a typy dotazů, které potřebujete, protože jsou optimalizované pro dotazování. Nakonec se jedná o možnosti, které nabízí možnosti a investice do vytváření nových dovedností v týmu.

Příprava dat

Základní data jsou založená na existujících datech, která je potřeba vytvořit vhodná pro sémantické dotazování. Některé dotazy k vyhledání relevantních dokumentů v indexu můžou být literálové shody. Jiné dotazy vyžadují přibližné shody.

Než budou kontextová data připravená k podpoře odvozování požadavků na model, existuje předem připravený krok předběžného zpracování, který má za cíl vyčistit, transformovat a strukturovat data. Cílem je snížit šum a předsudky, efektivně vyhledávat a maximalizovat využití vyhledávání v indexu. Nástroje pro výběr nebo logika pro předběžné zpracování závisí na týmu úloh, ale existuje několik obecných aspektů.

Změna rozsahu datového svazku

Změna rozsahu objemu dat zahrnuje úpravu rozsahu dat rozšířením nebo zúžením na vytvoření těsného indexu, aby se zvýšila důležitost. Efektivita dotazů je dalším významným zájmem. Ukládání nepotřebných dat negativně ovlivňuje oba tyto cíle. Představte si například data o poloze pro uživatele. Pokud je relevantní jenom část města, optimalizujte ji tak, že místo celého textu, který představuje adresu, uloží jenom text města.

Tady je několik obecných aspektů.

  • Odstranění dat. Zachovejte jenom to, co je nezbytné pro funkčnost produktu, a zahoďte nepotřebné podrobnosti. Tady je několik běžných příkladů.

    • Kvalitativní eliminace. Jedním ze způsobů, jak přejít z širokého rozsahu na užší relativní, je eliminovat data s nízkou kvalitou selektivním výběrem pouze k indexování relevantních zdrojových dat. Problém spočívá v programové identifikaci obsahu, který není relevantní pro scénáře umělé inteligence. I když může být obsah užitečný pro jiné záměry, jako je auditování nebo úplnost, včetně jeho zahrnutí do rizika snížení relevance úloh AI. Jedním ze způsobů, jak takový obsah označit příznakem, je použití metadat, která se dají použít v době populace indexu, pokud se obsah musí přidat do indexu.

    • Citlivá data. Kopírování dat ze zdrojových dat do indexu může také přinést citlivé informace. Respektujte popisky klasifikace dat použité ve zdroji a udržujte stejnou úroveň citlivosti pro tuto sadu dat. Pokud se zabýváte daty, která mají osobní údaje, neukládat osobní údaje, pokud je nepotřebujete k odpovídání na dotaz. Můžete například použít klasifikaci dat při indexování e-mailů. Pokud je e-mail označený jako citlivý, vyhněte se jeho ukládání do obecného úložiště dat citlivosti.

    • Normalizace a standardizace textu Adresování překlepů a standardizace textu je klíčové pro indexy založené na klíčových slovech. Potenciální případ použití je překlad, zejména při práci s vícejazyčným obsahem.

      Tento typ předběžného zpracování je také nutný pro vkládání, což umožňuje porovnávat slova na základě jejich kontextu a významnosti. K jedné výzvě ale dochází z citlivosti slov na malá a velká písmena. Kontextové záležitosti a mohou existovat nuance, jako jsou sémantické rozdíly mezi adjektivním jménem "civic" a správným podstatným jménem "(Honda) Civic".

  • Sčítání dat. Rozšiřování kontextu často spoléhá na metadata, která se obvykle nenachází ve zdrojových datech. Představte si například fragment textu. Člověk ve smyčce nebo umělé inteligenci vytváří relevantní otázky, na které lze odpovědět pomocí kontextu fragmentu kódu. Když tyto otázky uložíte spolu se zemskámi daty, je možné porovnat dotazy uživatelů s vygenerovanými dotazy za účelem vyhodnocení efektivity dokumentu. Společné umístění těchto nových dat se uzemněním dat je účinný způsob, jak rozšířit blokovaná data.

    Dalším případem použití jsou entity sčítání nalezené při analýze nestrukturovaných dat. Tyto entity lze přidat do indexu a použít k vyhledávání a filtrování externích systémů nebo k provádění složitých výpočtů. Pokud například identifikujeme název společnosti, můžeme vyhledat jeho obor nebo jiné relevantní informace z externí databáze a přidat je do našeho indexu.

    Zvažte údržbu rodokmenu dat. Úlohy AI je důležité sledovat zdroj dat, protože tyto informace se můžou ztratit, když systém agreguje různé komponenty do jednoho indexu. Tyto informace nemusí být nikdy zpřístupněny uživatelům, ale informace o původu dat jsou zásadní pro interní týmy zásad správného řízení dat. Tato metadata nemusí být nutně pro model. Pomáhá udržovat transparentnost a odpovědnost.

    Kompromis. Na jedné straně přidávání nových dat zvyšuje pravděpodobnost, že v datové sadě zjistíte, že je levná. Tato výhoda ale stojí. Konkrétně výpočetní prostředky potřebné ke zpracování a správě daného pole. Doba strávená shromažďováním a ukládáním dat může být podstatná. Mějte na paměti, že přetížení zbytečnými poli může zatížit prostředky.

  • Zpracování textových dat Zvažte techniky, jako jsou synonyma, sémantická vzdálenost a sémantická vzdálenost, aby se zlepšila náležitost. Pokud je to možné, delegujte tyto techniky na nástroje. Některé technologie, jako je elasticsearch nebo vyhledávání AI, nabízejí takové funkce pro předběžné zpracování dat během vytváření indexu.

Morfing datového typu

Indexová pole v úložišti dat jsou typu data, aby sloužila konkrétnímu účelu. Číselná pole usnadňují efektivní dotazování, textová pole umožňují vyhledávání na základě textu a logická pole zpracovávají binární informace.

Zdrojová data obvykle existují v různých typech dat, jako je text, obrázky a tabulky, a zpracování těchto dat může být složité. Možná budete muset extrahovat páry klíč-hodnota, identifikovat nadpisy oddílů pro sémantické bloky dat, rozpoznat konkrétní identifikátory atd.

Pokud například zdrojová data obsahují obrázky, nejsou ze své podstaty prohledávatelné. Je potřeba je převést na vektorové reprezentace, aby bylo možné efektivní sémantické vyhledávání a porovnání. Pokud je levnost svázaná s daty za těmito formáty, investujte do extrakce dat. Transformovat zdrojové datové typy na funkční datové typy, které pomáhají při dotazování a analýze.

Vytváření bloků dat a vkládání

Podkladová data často obsahují velký objem informací, ale model dokáže tokenizovat pouze určitou část. Vytváření bloků dat je důležitá strategie návrhu dat, protože zahrnuje rozdělení dokumentu na menší části, které je možné jednotlivě zpracovat a indexovat. Tato strategie umožňuje efektivní vyhledávání a načítání bez ohledu na omezení tokenů. Zkontrolujte maximální počet tokenů, které dokáže zpracovat váš výběr velkého jazykového modelu. Vaše bloky dat by neměly překročit tento limit.

Existuje mnoho technik pro implementaci bloků dat. Další informace najdete v tématu Přístupy k blokům dat.

Vkládání je také další strategií návrhu, která umožňuje možnosti vektorového vyhledávání. Vkládání je matematická reprezentace objektu, který generuje modely AI na základě podkladových dat. Ukládají se do indexu a přidávají další kontext, který pomáhá složitým dotazům poskytovat výsledky s lepšími významy. Další informace naleznete v tématu Generování vkládání.

Údržba indexu

Údržba v průběhu času je zásadním aspektem návrhu indexu. U statických dat, kde dokumenty zůstávají beze změny, je údržba indexu jednoduchá. Většina indexů je ale dynamická. Časem se můžou přidat nová data a schéma indexu může potřebovat nová pole. Naopak některá data a pole můžou být potřeba odstranit, pokud už nejsou relevantní. Běžně používané technologie pro indexery mají funkce pro zpracování aktualizací automaticky. Informace o doporučených vlastnostech indexu najdete v tématu Důležité informace o indexu vyhledávání.

Kritéria údržby

  • Aktualizace funkcí Index může být potřeba aktualizovat, pokud dojde ke změně funkčnosti aplikace. K této situaci dochází, když jsou položeny nové otázky. Aby bylo možné tyto změny přizpůsobit, budete možná muset přidat nová pole do indexu nebo upravit možnosti filtrování, vyhledávání nebo zpracování textu u existujících polí.

  • Odstranění dat Odstranění dat je náročné, protože potřebujete analyzovat dostupná a chybějící data, abyste zjistili, co je irelevantní. Pokud chcete vyloučit zastaralý obsah z indexu, zvažte použití metadat, která brání vyhledávacím webům v indexování konkrétních stránek nebo obsahu. Když zvolíte možnosti úložiště, vyberte také technologii, která podporuje efektivní odstranění. Úložiště objektů blob například podporuje obnovitelné odstranění. Pokud používáte vyhledávání a načítání dokumentů AI z úložiště, může úložiště objektů blob rozpoznat odebrané dokumenty a odstranit odpovídající položky. Tento přístup není ideální, ale při přeindexování je nákladný kvůli velké velikosti indexu.

    Koncept práva na zapomenutí se týká práva jednotlivce, aby se jejich osobní údaje odebraly z online platforem nebo databází. Ujistěte se, že máte zavedené zásady pro odebrání osobních údajů, pokud byly použity k trénování. Tento požadavek můžete vyřešit opětovným indexováním datové sady. Pokud jsou data odstraněna z transakční databáze, následné aktualizace indexu tyto změny odrážejí.

  • Zachování kompatibility Aplikace často vyžadují konkrétní datové struktury a jakákoli odchylka může narušit jejich funkčnost. Pokud je například pole odebráno a aplikace požaduje toto pole, může dojít k chybě. Stejně jako u tradiční databáze si můžete pro indexy osvojit názory na kompatibilitu a zachovat úroveň rigorií. Při provádění změn v indexu, jako je přidání nebo odebrání polí, koordinuje změny schématu s aktualizacemi kódu.

    Kompromis. Akce přidání, aktualizace a odstranění indexu jsou nákladné. Zvažte frekvenci aktualizací a nákladů na výkon na základě velikosti a efektivity úložiště dat. Udržování zastaralých dokumentů v indexu způsobuje náklady na úložiště, údržbu a dotazování.

Strategie nasazení

Strategie nasazení Pro aktualizaci indexu existují dvě hlavní strategie.

  • Souběžná nasazení. V tomto přístupu se nachází nový index, který obsahuje aktualizace, spolu s existujícím indexem. Po otestování a úplném provozu nového indexu se dotazy přepnou na použití aktualizovaného indexu. Aplikace o tomto přepínači stále neví, protože komunikuje pouze s novým indexem. Pokud po nasazení nového indexu do produkčního prostředí zjistíte další problémy, můžete se vrátit ke starému indexu. Tento přístup minimalizuje výpadky a zajišťuje nepřetržitou dostupnost.

    Souběžné aktualizace dobře fungují, když jsou náklady na opětovné sestavení indexu přiměřené a lze je dokončit v přiměřeném časovém rámci. Obecně se snažte udržovat indexy co nejefektivnější, protože větší indexy spotřebovávají více prostředků. Pravidelně monitorujte a udržujte indexy, abyste se vyhnuli zbytečnému růstu.

Tip

Při provádění úloh předzpracování dat náročných na prostředky, jako je rozpoznávání entit, vyhledávání a výpočty, zvažte uložení kopie výsledků. Tento přístup zajišťuje, že když potřebujete znovu sestavit index, můžete se vyhnout opětovnému vytvoření všech výpočtů. Některé výpočty už nemusí platit kvůli odstranění nebo aktualizacím, ale mnoho z nich zůstane relevantní.

  • Místní nasazení aktualizací. Tento přístup přímo upraví existující index. Úspora nákladů na duplikaci může být užitečná, ale přináší také rizika z důvodu potenciálních výpadků a operací náročných na prostředky. Pokud je index velký a opětovné sestavení úplně od začátku překračuje požadovanou frekvenci aktualizací, můžete zvážit použití místních aktualizací. Tento přístup je ale náročný a nese riziko porušení cíle na úrovni služeb (SLO).

    Kompromis. Vyhodnoťte náklady na souběžná nasazení indexů proti provádění místních aktualizací, které nasazují doplňky, aktualizace a odstranění. Ve většině případů byste měli místo místních aktualizací používat souběžné aktualizace. Při novém vytvoření indexu proces efektivně zpracovává odstranění a aktualizace, protože vytvoří zcela novou datovou sadu. Tato strategie poskytuje příležitost k testování dat. I když souběžná nasazení dočasně duplikují data a účtují se další náklady, výhody při testování a vyhodnocení výkonu často tento požadavek na úložiště odůvodňují. Než index vytvoříte živě, zkontrolujte data a ujistěte se, že odpovídají vašim očekáváním.

  • Plánované aktualizace. Místo udržování nepřetržité komunikace se zdroji dat v reálném čase můžete pravidelně aktualizovat základní data. Tento přístup zajišťuje, že data zůstanou relevantní prostřednictvím plánovaných aktualizací, což eliminuje potřebu konstantní interakce.

  • Aktualizace tísňového volání Může dojít k neočekávaným situacím, například neúmyslným únikem nežádoucích dat do indexu vyhledávání. Pokud k tomuto problému dojde, možná budete muset provést okamžitou akci, například odebrat konkrétní dokumenty nebo upravit data v indexu. Bez ohledu na strategii nasazení, kterou zvolíte, například souběžné aktualizace nebo místní aktualizace, vždy naplánujte možnost nouzového provozu.

  • Samoobslužná aktualizace indexu Pokud vaše technologie indexování podporuje automatickou aktualizaci indexu, aby byl synchronizovaný s externím zdrojem dat, může být schopen automaticky zpracovávat změny v datech. Změny dat zahrnují přidání nebo odstranění bez ručního zásahu. Mějte na paměti, že každá změna aktivuje operaci v indexu, která spotřebovává prostředky. Index může reagovat na dotazy, ale během procesu aktualizace se může snížit jeho kapacita pro jejich zpracování.

Operace aktuálnosti

Změřte časové období mezi vytvořením nebo úpravou zdrojových dat a jeho přidáním do indexu jako indikátorem a sledujte je proti cílům úrovně služby. Tento indikátor řídí rozhodnutí o aktualizaci návrhu datového kanálu, aby se zajistila dostupnost dat v indexu, když je potřebujete. Index by měl být jen tak čerstvý, jak je požadováno.

Pokud chcete zachovat aktuálnost, můžete index znovu sestavit úplně, nebo ho přírůstkově aktualizovat, aby zůstal synchronizovaný s původními zdroji dat. Obě metody zajišťují, aby index zůstal aktuální a přesný.

Počáteční investice do vyladění modelu může být levnější než implementace vzoru RAG, přípravy výzev a metod rozšiřování dat.

Další kroky