Integrované bloky dat a vkládání ve službě Azure AI Search
Integrovaná vektorizace je rozšířením kanálů indexování a dotazů ve službě Azure AI Search. Přidá následující možnosti:
- Vytváření bloků dat během indexování
- Převod textu na vektor během indexování
- Převod textu na vektor během dotazů
Vytváření bloků dat není pevným požadavkem, ale pokud nejsou nezpracované dokumenty malé, je vytváření bloků dat nezbytné pro splnění požadavků na vstup tokenů vložených modelů.
Vektorové převody jsou jednosměrné: text-to-vector. Neexistuje žádný převod vektoru na text pro dotazy nebo výsledky (například nemůžete převést výsledek vektoru na řetězec čitelný člověkem).
Integrované blokování a vektorizace dat urychlí vývoj a minimalizuje úlohy údržby během příjmu dat a doby dotazování, protože ke konfiguraci a správě je méně externích komponent. Tato funkce je teď obecně dostupná.
Použití integrované vektorizace během indexování
U převodů bloků dat a převodů typu text-to-vector používáte závislost na následujících komponentách:
Indexer, který načte nezpracovaná data z podporovaného zdroje dat a slouží jako modul kanálu.
Vektorový index pro příjem blokovaného a vektorizovaného obsahu.
Sada dovedností nakonfigurovaná pro:
Dovednost rozdělení textu, která se používá k vytvoření bloku dat.
Dovednost vkládání, která se používá k vygenerování vektorových polí, což může být libovolná z následujících možností:
Dovednost AzureOpenAIEmbedding připojená k textu-embedding-ada-002,text-embedding-3-small, text-embedding-3-large v Azure OpenAI.
Vlastní dovednost , která odkazuje na jiný model vkládání v Azure nebo na jiném webu.
Dovednost Azure AI Vision (Preview), která odkazuje na multimodální rozhraní API pro Azure AI Vision.
Dovednost AML odkazující na katalog modelů v Azure AI Studiu , která odkazuje na vybrané modely v katalogu modelů.
Použití integrované vektorizace v dotazech
Při převodu textu na vektor během dotazů získáte závislost na těchto komponentách:
Dotaz, který určuje jedno nebo více vektorových polí.
Textový řetězec převedený na vektor v době dotazu.
Vektorizátor definovaný ve schématu indexu, přiřazený k vektorovým polím a automaticky se používá v době dotazu k převodu textového dotazu na vektor. Vektorizátor, který jste nastavili, musí odpovídat modelu vkládání použitému ke kódování obsahu.
Diagram součásti
Následující diagram znázorňuje komponenty integrované vektorizace.
Pracovní postup je kanál indexeru. Indexery načítají data z podporovaných zdrojů dat a inicializuje rozšiřování dat (nebo používá AI) voláním služeb Azure OpenAI nebo Azure AI nebo vlastního kódu pro převod textu na vektor nebo jiné zpracování.
Diagram se zaměřuje na integrovanou vektorizaci, ale vaše řešení není omezené na tento seznam. Můžete přidat další dovednosti pro rozšiřování AI, vytvořit úložiště znalostí, přidat sémantické hodnocení, přidat ladění relevance a další funkce dotazů.
Dostupnost a ceny
Integrovaná vektorizace je dostupná ve všech oblastech a úrovních. Pokud ale používáte dovednosti a vektorizátory Azure OpenAI a Azure AI, ujistěte se, že je váš účet Azure AI pro více služeb dostupný ve stejných oblastech jako Azure AI Search.
Pokud používáte vlastní dovednosti a mechanismus hostování Azure (například aplikaci funkcí Azure, webovou aplikaci Azure a Azure Kubernetes), zkontrolujte dostupnost funkcí na stránce produktu Azure podle oblastí.
Blokování dat (dovednost rozdělení textu) je bezplatné a dostupné ve všech službách Azure AI ve všech oblastech.
Poznámka:
Některé starší vyhledávací služby vytvořené před 1. lednem 2019 jsou nasazené v infrastruktuře, která nepodporuje vektorové úlohy. Pokud se pokusíte přidat vektorové pole do schématu a zobrazí se chyba, jedná se o výsledek zastaralých služeb. V této situaci musíte vytvořit novou vyhledávací službu, která bude vyzkoušet funkci vektoru.
Jaké scénáře můžou integrované vektorizace podporovat?
Rozdělte velké dokumenty do bloků, které jsou užitečné pro scénáře vektoru a nevectoru. U vektorů vám bloky dat pomůžou splnit vstupní omezení vložených modelů. V případě nevectorových scénářů můžete mít aplikaci pro vyhledávání ve stylu chatu, kde GPT sestavuje odpovědi z indexovaných bloků dat. Pro hledání ve stylu chatu můžete použít vektorizované nebo nevectorizované bloky dat.
Vytvořte vektorové úložiště, kde všechna pole jsou vektorová pole a ID dokumentu (povinné pro index vyhledávání) je jediné řetězcové pole. Zadejte dotaz na úložiště vektorů, abyste načetli ID dokumentu, a pak odešlete vektorová pole dokumentu do jiného modelu.
Kombinování vektorových a textových polí pro hybridní vyhledávání s sémantickým řazením nebo bez Integrovaná vektorizace zjednodušuje všechny scénáře podporované vyhledáváním vektorů.
Kdy použít integrovanou vektorizaci
Doporučujeme použít integrovanou podporu vektorizace azure AI Studia. Pokud tento přístup nevyhovuje vašim potřebám, můžete vytvářet indexery a sady dovedností, které vyvolávají integrovanou vektorizaci pomocí programových rozhraní služby Azure AI Search.
Jak používat integrovanou vektorizaci
Pro vektorizaci jen pro dotazy:
- Přidání vektorizátoru do indexu Měl by to být stejný model vkládání, který se používá k vygenerování vektorů v indexu.
- Přiřaďte vektorizátor k profilu vektoru a pak k poli vektoru přiřaďte vektorový profil.
- Formulujte vektorový dotaz , který určuje textový řetězec, který se má vektorizovat.
Běžnější scénář – vytváření bloků dat a vektorizace během indexování:
- Vytvořte připojení zdroje dat k podporovanému zdroji dat pro indexerové indexování.
- Vytvořte sadu dovedností, která volá dovednosti rozdělení textu pro blokování dat a AzureOpenAIEmbeddingModel nebo jinou dovednost vkládání pro vektorizaci bloků dat.
- Vytvořte index , který určuje vektorizátor času dotazu a přiřaďte ho k vektorovým polím.
- Vytvořte indexer , který bude řídit všechno od načítání dat až po spuštění sady dovedností prostřednictvím indexování. Doporučujeme spustit indexer podle plánu a vyzvednout změněné dokumenty nebo všechny dokumenty, které byly zmeškané kvůli omezování.
Volitelně můžete vytvořit sekundární indexy pro pokročilé scénáře, ve kterých je blokovaný obsah v jednom indexu a nechunkovaný v jiném indexu. Blokované indexy (nebo sekundární indexy) jsou užitečné pro aplikace RAG.
Tip
Vyzkoušejte nového průvodce importem a vektorizací dat na webu Azure Portal, abyste před napsáním jakéhokoli kódu prozkoumali integrovanou vektorizaci.
Zabezpečení připojení k vektorizátorům a modelům
Pokud vaše architektura vyžaduje privátní připojení, která obcházejí internet, můžete vytvořit sdílené připojení privátního propojení k modelům vkládání, které používají dovednosti během indexování a vektorizátorů v době dotazování.
Sdílené privátní propojení fungují jenom pro připojení Azure-to-Azure. Pokud se připojujete k OpenAI nebo jinému externímu modelu, musí být připojení přes veřejný internet.
Pro scénáře vektorizace byste použili:
openai_account
pro vkládání modelů hostovaných v prostředku Azure OpenAI.sites
pro vkládání modelů, ke které se přistupuje jako vlastní dovednost nebo vlastní vektorizátor.sites
ID skupiny je určené pro služby App Services a funkce Azure, které můžete použít k hostování vloženého modelu, který není jedním z modelů vkládání Azure OpenAI.
Omezení
Ujistěte se, že znáte kvóty a limity Azure OpenAI pro modely vkládání. Azure AI Search má zásady opakování, ale pokud je kvóta vyčerpána, opakování selže.
Limity tokenů Azure OpenAI za minutu jsou pro každý model a předplatné. Mějte na paměti, že pokud používáte model vkládání pro úlohy dotazování i indexování. Pokud je to možné, postupujte podle osvědčených postupů. Pro každou úlohu máte model vkládání a zkuste je nasadit v různých předplatných.
Ve službě Azure AI Search mějte na paměti, že existují omezení služeb podle vrstev a úloh.
Výhody integrované vektorizace
Tady jsou některé z klíčových výhod integrované vektorizace:
Žádný samostatný kanál vytváření bloků a vektorizace dat. Psaní a údržba kódu je jednodušší.
Automatizace komplexního indexování Když se změní data ve zdroji (například ve službě Azure Storage, Azure SQL nebo Cosmos DB), může indexer tyto aktualizace přesouvat po celý kanál, od načtení až po prolomení dokumentů, prostřednictvím volitelného rozšiřování AI, vytváření bloků dat, vektorizace a indexování.
Logika dávkování a opakování je integrovaná (nekonfigurovatelná). Azure AI Search má interní zásady opakování pro chyby omezování, které se zobrazí kvůli maximálnímu limitu koncových bodů Azure OpenAI pro model vkládání. Doporučujeme umístit indexer na plán (například každých 5 minut), aby indexer mohl zpracovávat všechna volání, která omezovala koncový bod Azure OpenAI bez ohledu na zásady opakování.
Promítání blokovaného obsahu do sekundárních indexů Sekundární indexy se vytvářejí stejně jako jakýkoli index vyhledávání (schéma s poli a dalšími konstrukty), ale zaplní se společně s primárním indexerem. Obsah z každého zdrojového dokumentu proudí do polí v primárním a sekundárním indexu během stejného spuštění indexování.
Sekundární indexy jsou určené pro aplikace pro otázky a odpovědi nebo styl chatu. Sekundární index obsahuje podrobné informace pro konkrétnější shody, ale nadřazený index obsahuje více informací a často může vytvořit ucelenější odpověď. Když se v sekundárním indexu najde shoda, vrátí dotaz nadřazený dokument z primárního indexu. Předpokládejme například, že velký SOUBOR PDF jako zdrojový dokument může primární index obsahovat základní informace (název, datum, autor, popis), zatímco sekundární index obsahuje bloky prohledávatelného obsahu.