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

Důležité

Tato funkce je ve veřejné verzi Preview v rámci dodatečných podmínek použití. Rozhraní REST API verze 2023-10-01-Preview tuto funkci podporuje.

Integrovaná vektorizace přidává bloky dat a vkládání textu na vektor do dovedností v indexeru indexeru. Přidává také převody textu na vektor do dotazů.

Tato funkce je jenom ve verzi Preview. V obecně dostupné verzi vektorového vyhledávání a v předchozích verzích Preview se bloky a vektorizace dat spoléhají na externí komponenty pro vytváření bloků dat a vektory a váš kód aplikace musí zpracovávat a koordinovat jednotlivé kroky. V této verzi Preview jsou bloky dat a vektorizace integrované do indexování prostřednictvím dovedností a indexerů. Sadu dovedností, která bude obsahovat data, můžete nastavit pomocí dovednosti Rozdělení textu a pak volat model vkládání pomocí dovednosti AzureOpenAIEmbedding nebo vlastní dovednosti. Všechny vektorizátory používané při indexování lze také volat u dotazů, které převedou text na vektory.

Pro indexování vyžaduje integrovaná vektorizace:

Pro dotazy:

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

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

Diagram součásti

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

Diagram komponent v pracovním postupu integrované vektorizace

Tady je kontrolní seznam komponent zodpovědných za integrovanou vektorizaci:

  • Podporovaný zdroj dat pro indexerové indexování.
  • Index, který určuje vektorová pole a definici vektorizátoru přiřazenou k vektorovým polím.
  • Sada dovedností poskytující dovednosti rozdělení textu pro vytváření bloků dat a dovednost pro vektorizaci (dovednost AzureOpenAiEmbedding nebo vlastní dovednost odkazující na externí model vkládání).
  • Volitelně můžete projekce indexů (definované v sadě dovedností) nasdílet blokovaná data do sekundárního indexu.
  • Model vložení, nasazený v Azure OpenAI nebo dostupný prostřednictvím koncového bodu HTTP.
  • Indexer pro řízení procesu od konce do konce. Indexer také určuje plán, mapování polí a vlastnosti pro detekci změn.

Tento kontrolní seznam 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

Dostupnost integrované vektorizace je založená na modelu vkládání. Pokud používáte Azure OpenAI, zkontrolujte dostupnost v jednotlivých oblastech.

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ělení velkých dokumentů do bloků dat, které jsou užitečné pro vektorové a ne vektorové scénáře. U vektorů vám bloky dat pomůžou splnit vstupní omezení vložených modelů. V případě jiných než vektorový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 ne vektorizované 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 který není blokovaný 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.

Nebo nakonfigurujte poznámkový blok Jupyter tak, aby spouštět stejný pracovní postup, buňku po buňce, abyste viděli, jak jednotlivé kroky fungují.

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 vytváření bloků dat a načítání aplikací rozšířené generace (RAG). Za předpokladu, že velký soubor PDF jako zdrojový dokument může mít primární index základní informace (název, datum, autor, popis) a sekundární index obsahuje bloky obsahu. Vektorizace na úrovni bloků dat usnadňuje vyhledání relevantních informací (každý blok dat je prohledávatelný) a vrácení relevantní odpovědi, zejména v aplikaci pro vyhledávání ve stylu chatu.

Blokované indexy

Vytváření bloků dat je proces rozdělení obsahu na menší spravovatelné části (bloky), které je možné zpracovat nezávisle. Pokud jsou zdrojové dokumenty příliš velké pro maximální velikost vkládání nebo velkých jazykových modelů, je potřeba provést vytváření bloků dat, ale může se stát, že vám poskytne lepší strukturu indexů pro vzory RAG a hledání ve stylu chatu.

Následující diagram znázorňuje komponenty blokovaného indexování.

Diagram pracovního postupu vytváření bloků dat a vektorizace

Další kroky