Integrált adattömb- és beágyazás az Azure AI Searchben

Fontos

Ez a funkció nyilvános előzetes verzióban érhető el a kiegészítő használati feltételek alatt. A 2023-10-01-preview REST API támogatja ezt a funkciót.

Az integrált vektorizálás adatrészletezést és szöveg-vektor beágyazást ad hozzá az indexelőalapú indexeléshez szükséges készségekhez. Emellett szöveges-vektoros konverziókat is hozzáad a lekérdezésekhez.

Ez a képesség csak előzetes verzióban érhető el. A vektorkeresés általánosan elérhető verziójában és a korábbi előzetes verziókban az adattömbök és vektorok külső összetevőkre támaszkodnak az adattömbök és vektorok esetében, és az alkalmazás kódjának kezelnie és koordinálnia kell az egyes lépéseket. Ebben az előzetes verzióban az adattömbök és vektorizálás képességek és indexelők használatával épül fel az indexelésbe. Beállíthat egy olyan képességkészletet, amely a Szöveg felosztása képesség használatával adatokat darabolt, majd meghívhat egy beágyazási modellt az AzureOpenAIEmbedding képesség vagy egy egyéni képesség használatával. Az indexelés során használt vektorizálók lekérdezésekre is meghívhatók a szöveg vektorokká alakításához.

Az indexeléshez az integrált vektorizáláshoz a következőre van szükség:

Lekérdezések esetén:

A vektorkonvertálások egyirányúak: szövegről vektorra. Lekérdezések vagy eredmények esetében nincs vektor–szöveg átalakítás (például nem konvertálható vektoreredmény ember által olvasható sztringgé).

Összetevő diagramja

Az alábbi ábra az integrált vektorizáció összetevőit mutatja be.

Egy integrált vektorizálási munkafolyamat összetevőinek diagramja.

Íme egy ellenőrzőlista az integrált vektorizálásért felelős összetevőkről:

  • Támogatott adatforrás az indexelőalapú indexeléshez.
  • Vektormezőket meghatározó index és vektormezőkhöz rendelt vektoros definíció.
  • Olyan készségkészlet, amely szöveges felosztási készséget biztosít az adatrészletezéshez, valamint vektorizálási készséget (az AzureOpenAiEmbedding-készséget vagy egy külső beágyazási modellre mutató egyéni készséget).
  • Igény szerint index-előrejelzések (szintén egy képességkészletben definiálva) az adattömbök másodlagos indexbe való leküldéséhez
  • Az Azure OpenAI-ban üzembe helyezett vagy HTTP-végponton keresztül elérhető beágyazási modell.
  • Indexelő a folyamat végpontok közötti vezetéséhez. Az indexelők emellett ütemezést, mezőleképezéseket és tulajdonságokat is meghatároznak a változásészleléshez.

Ez az ellenőrzőlista az integrált vektorizálásra összpontosít, de a megoldás nem korlátozódik erre a listára. További készségeket adhat hozzá az AI-bővítéshez, létrehozhat egy tudástárat, szemantikai rangsorolást adhat hozzá, relevanciahangolást és egyéb lekérdezési funkciókat adhat hozzá.

Rendelkezésre állás és díjszabás

Az integrált vektorizálás elérhetősége a beágyazási modellen alapul. Ha Azure OpenAI-t használ, ellenőrizze a regionális rendelkezésre állást.

Ha egyéni jártasságot és Azure-beli üzemeltetési mechanizmust (például Azure-függvényalkalmazást, Azure Web Appot és Azure Kubernetes-t) használ, ellenőrizze a termék régiónkénti oldalát a funkciók elérhetőségéről.

Az adatrészletezés (Text Split skill) ingyenes, és minden régióban elérhető az Összes Azure AI-szolgáltatásban.

Feljegyzés

A 2019. január 1. előtt létrehozott régebbi keresési szolgáltatások némelyike olyan infrastruktúrán van üzembe helyezve, amely nem támogatja a vektoros számítási feladatokat. Ha vektormezőt próbál hozzáadni egy sémához, és hibaüzenetet kap, az elavult szolgáltatások eredménye. Ebben az esetben létre kell hoznia egy új keresési szolgáltatást a vektorfunkció kipróbálásához.

Milyen forgatókönyvek támogathatják az integrált vektorizálást?

  • Bontsa fel a nagyméretű dokumentumokat adattömbökre, amelyek vektoros és nem vektoros forgatókönyvekben hasznosak. Vektorok esetén az adattömbök segítenek megfelelni a modellek beágyazásának bemeneti korlátainak. Nem vektoros forgatókönyvek esetén előfordulhat, hogy van egy csevegőstílusú keresőalkalmazása, amelyben a GPT indexelt adattömbökből állít össze válaszokat. A csevegési stílusú kereséshez vektoros vagy nem vektorizált adattömböket is használhat.

  • Hozzon létre egy vektortárolót, ahol az összes mező vektormező, és a dokumentumazonosító (a keresési indexhez szükséges) az egyetlen sztringmező. Kérje le a vektortárolót a dokumentumazonosítók lekéréséhez, majd küldje el a dokumentum vektormezőit egy másik modellnek.

  • Vektor- és szövegmezők kombinálása hibrid kereséshez szemantikai rangsorolással vagy anélkül. Az integrált vektorizálás leegyszerűsíti a vektorkeresés által támogatott összes forgatókönyvet.

Mikor érdemes integrált vektorizálást használni?

Javasoljuk, hogy használja az Azure AI Studio beépített vektorizálási támogatását. Ha ez a megközelítés nem felel meg az igényeinek, létrehozhat olyan indexelőket és készségkészleteket, amelyek integrált vektorizálást indukálnak az Azure AI Search programozott felületeinek használatával.

Integrált vektorizáció használata

Csak lekérdezési vektorizálás esetén:

  1. Vektorizáló hozzáadása indexhez. Ennek ugyanazzal a beágyazási modellel kell rendelkeznie, amely vektorokat hoz létre az indexben.
  2. Rendelje hozzá a vektorosítót egy vektorprofilhoz, majd rendeljen hozzá egy vektorprofilt a vektormezőhöz.
  3. Alakítsa ki a vektoros lekérdezést , amely meghatározza a vektorizálni kívánt szöveges sztringet.

Egy gyakoribb forgatókönyv – adattömbölés és vektorizálás az indexelés során:

  1. Adatforrás-kapcsolat létrehozása egy támogatott adatforrással indexelőalapú indexeléshez.
  2. Hozzon létre egy olyan készségkészletet, amely az adattömbök és az AzureOpenAIEmbeddingModel szövegfelosztási készségét hívja meg, vagy egy egyéni készséget az adattömbök vektorizálásához.
  3. Hozzon létre egy indexet, amely egy vektorizálót határoz meg a lekérdezési időhöz, és rendelje hozzá vektormezőkhöz.
  4. Hozzon létre egy indexelőt , amellyel az adatok beolvasásától kezdve a képességkészletek végrehajtásáig mindent vezérelhet az indexelésen keresztül.

Ha szeretné, másodlagos indexeket hozhat létre olyan speciális forgatókönyvekhez, ahol az adattömb tartalma egy indexben van, és nem darabolt egy másik indexben. Az adattömb indexek (vagy másodlagos indexek) a RAG-alkalmazások esetében hasznosak.

Tipp.

A kód írása előtt próbálja ki az új Adatok importálása és vektorizálása varázslót az Azure Portalon az integrált vektorizáció felfedezéséhez.

Vagy konfiguráljon egy Jupyter-jegyzetfüzetet arra, hogy ugyanazt a munkafolyamatot celláról cellára futtassa az egyes lépések működésének megtekintéséhez.

Korlátozások

Győződjön meg arról, hogy ismeri az Azure OpenAI-kvótákat és a modellek beágyazási korlátait. Az Azure AI Search újrapróbálkozési szabályzatokkal rendelkezik, de ha a kvóta kimerült, az újrapróbálkozás sikertelen lesz.

Az Azure OpenAI-jogkivonat percenkénti korlátja modellenként, előfizetésenként. Ezt tartsa szem előtt, ha beágyazási modellt használ lekérdezési és indexelési számítási feladatokhoz is. Ha lehetséges, kövesse az ajánlott eljárásokat. Mindegyik számítási feladathoz rendelkezik beágyazási modellel, és próbálja őket különböző előfizetésekben üzembe helyezni.

Az Azure AI Searchben ne feledje, hogy a szolgáltatási korlátok szint és számítási feladatok szerint vannak.

Végül a következő funkciók jelenleg nem támogatottak:

Az integrált vektorizálás előnyei

Íme néhány az integrált vektorizálás fő előnyei közül:

  • Nincs külön adattömb- és vektorizálási folyamat. A kód írása és karbantartása egyszerűbb.

  • A végpontok közötti indexelés automatizálása. Amikor az adatok megváltoznak a forrásban (például az Azure Storage-ban, az Azure SQL-ben vagy a Cosmos DB-ben), az indexelő a teljes folyamaton keresztül áthelyezheti ezeket a frissítéseket a lekéréstől a dokumentummegrepedésig, az opcionális AI-bővítésen, az adattömbökön, a vektorizáción és az indexelésen keresztül.

  • Adattömbök tartalmának kivetítése másodlagos indexekre. A másodlagos indexek ugyanúgy jönnek létre, mint bármely keresési index (a mezőkkel és más szerkezetekkel rendelkező sémák), de az indexelők egy elsődleges indexkel töltik fel őket. Az egyes forrásdokumentumok tartalma az elsődleges és másodlagos indexek mezőibe áramlik ugyanazon indexelési futtatás során.

    A másodlagos indexek az adattömbök és a lekéréses bővített generációs (RAG) alkalmazásokhoz készültek. Ha egy nagy PDF-fájlt forrásdokumentumként használ, az elsődleges index alapinformációkkal (cím, dátum, szerző, leírás) rendelkezhet, a másodlagos index pedig a tartalomrészleteket tartalmazza. Az adattömb szintjén végzett vektorizálás megkönnyíti a releváns információk megtalálását (minden adattömb kereshető), és releváns választ ad vissza, különösen egy csevegési stílusú keresőalkalmazásban.

Adattömb indexek

Az adattömbök a tartalom kisebb kezelhető részekre (adattömbökre) oszthatók, amelyek egymástól függetlenül is feldolgozhatók. Ha a forrásdokumentumok túl nagyok a beágyazás vagy a nagy nyelvi modellek maximális bemeneti méretéhez, akkor az adattömbökre akkor van szükség, ha azonban jobb indexstruktúrát biztosít a RAG-mintákhoz és a csevegési stílusú kereséshez.

Az alábbi ábra az adattömbök indexelésének összetevőit mutatja be.

Az adattömb- és vektorizálási munkafolyamat diagramja.

Következő lépések