Sdílet prostřednictvím


Integrované bloky dat a vkládání ve službě Azure AI Search

Důležité

Integrované blokování a vektorizace dat je ve verzi Public Preview v rámci dodatečných podmínek použití. Tuto funkci poskytuje rozhraní REST API verze 2023-10-10-01-Preview.

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ů.

Klíčovou výhodou je, že integrovaná vektorizace zrychluje vývoj a minimalizuje úlohy údržby během příjmu dat a doby dotazování, protože ke konfiguraci a správě existuje méně externích komponent.

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).

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.

  • Sada dovedností nakonfigurovaná pro:

    • Dovednost rozdělení textu, která se používá k vytvoření bloku dat.
    • Dovednost AzureOpenAIEmbedding připojená k vkládání textu ada-002 v Azure OpenAI
    • Alternativně můžete místo AzureOpenAIEmbdding použít vlastní dovednost , která odkazuje na jiný model vkládání v Azure nebo na jinou stranu.
  • Vektorový index pro příjem blokovaného a vektorizovaného obsahu.

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:

  • 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.
  • Dotaz, který určuje jedno nebo více vektorových polí.
  • Textový řetězec převedený na vektor v době dotazu.

Diagram součásti

Následující diagram znázorňuje komponenty integrované vektorizace.

Diagram komponent v pracovním postupu 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 Azure OpenAI a dovednosti AzureOpenAIEmbedding, zkontrolujte regionální dostupnost této služby.

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 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:

  1. 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.
  2. Přiřaďte vektorizátor k profilu vektoru a pak k poli vektoru přiřaďte vektorový profil.
  3. 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í:

  1. Vytvořte připojení zdroje dat k podporovanému zdroji dat pro indexerové indexování.
  2. Vytvořte sadu dovedností, která volá dovednosti rozdělení textu pro blokování dat a AzureOpenAIEmbeddingModel nebo vlastní dovednost pro vektorizaci bloků dat.
  3. Vytvořte index , který určuje vektorizátor času dotazu a přiřaďte ho k vektorovým polím.
  4. 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í.

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.

Nakonec se v současné době nepodporují následující funkce:

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í.

  • 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.

Další kroky